Вопрос или проблема
Я написал стохастический алгоритм машинного обучения.
Каждый раз, когда я запускаю алгоритм на одних и тех же тестовых данных, я получаю разные результаты. Я определяю точность каждый раз в сравнении с истинным значением.
Для того чтобы правильно оценить производительность системы, я должен запустить алгоритм на одних и тех же тестовых данных несколько раз и взять среднее значение точности всех запусков.
Меня попросили обосновать количество запусков алгоритма, которые я выполняю. Существует ли научный метод для определения этого или исследование, на которое я могу сослаться, которое предлагает какое-либо значение?
При оценке точности мы предполагаем, что ваш алгоритм будет генерировать правильную оценку, и что средняя ошибка, следовательно, должна быть 0. Таким образом, вы должны иметь возможность провести p-тест с нулевой гипотезой, что ошибка равна 0.
Общее для изучения, если вы еще не сделали этого:
- p-hacking
- Когда вы рассчитываете точность, вы не должны проверять свои данные на обучающей выборке, т.е. использовать истинные значения, которые находятся за пределами вашего обучающего интервала.
Ответ или решение
Вопрос о количестве повторений стохастического алгоритма перед тем, как результаты могут считаться надежными, является важной темой в области машинного обучения и статистики. Данная проблема частично зависит от свойств вашего алгоритма, разницей в дисперсиях значений и желаемой степени уверенности в полученных результатах.
Определение количества повторений
-
Классические методы: В научной литературе часто рекомендуется проводить не менее 30 повторений для оценки статистической надежности. Это связано с тем, что по теории центральной предельной теоремы распределение выборочных средних (даже если исходные данные распределены не нормально) стремится к нормальному при большом числе наблюдений. Однако это общее правило и для вашей задачи может потребоваться больше или меньше повторений в зависимости от конкретных обстоятельств.
-
Анализ дисперсии: Также рекомендуется оценить варьирование (дисперсию) ваших результатов. Если результаты показывают высокую степень разброса, вам может понадобиться большее количество повторений для достоверной оценки. Если разброс мал, то меньшее количество повторений может быть достаточным.
-
Статистические тесты: Разумно использовать методы статистического тестирования, такие как t-тест, для оценки значимости различий между повторами. Это поможет вам понять, насколько точно вы можете оценить среднее значение ваших результатов. Для проверки гипотезы о том, что средняя ошибка равна нулю, вам потребуется соответствующее количество повторений для достижения необходимой статистической мощности (обычно желательно 80% или выше).
-
Ресурсы и время: Реалистично учитывать время выполнения и вычислительные ресурсы. Иногда вам может потребоваться провести 100 или более повторений, чтобы обеспечить устойчивую оценку, однако это может быть непрактичным из-за ресурсов. Заблаговременное планирование и адаптация под ваши условия имеет большое значение.
Рекомендации
-
Проверьте существующие исследования: Подведите знакомство с работами, в которых уже рассматривались вопросы, связанные с вашими конкретными алгоритмами или типами данных. Например, исследования по кросс-валидации могут предоставить вам полезные указания.
-
Проведение предварительных тестов: Вам также может понадобиться провести небольшое количество предварительных тестов для оценки изменчивости ваших результатов, что затем поможет вам более точно определить необходимое количество повторений для основного тестирования.
Заключение
Рекомендуется начинать с 30-100 повторений, после чего стоит оценить дисперсию результатов. Важно помнить, что конкретное количество повторений должно быть обосновано на основе анализа результатов и ресурсов. Также рекомендуется проводить статистические тесты, чтобы заранее убедиться, что наблюдаемые результаты достаточно надежны.