Кросс-валидация
Кросс-валидация или скользящий контроль это процедура оценивания обобщающей способности алгоритмов. С помощью кросс-валидации эмулируется наличие тестовой выборки, которая не участвует в обучении, но для которой известны правильные ответы.
Содержание
Разновидности Кросс-валидации
Контроль на отложенных данных (Hold-Out Validation)
Обучающая выборка один раз случайным образом разбивается на две части
После чего решается задача оптимизации:
Метод Hold-out применяется в случаях больших датасетов, т.к. требует меньше вычислительных мощностей по сравнению с другими методами кросс-валидации. Недостатком метода является то, что оценка существенно зависит от разбиения, тогда как желательно, чтобы она характеризовала только алгоритм обучения.
Полная кросс-валидация (CVV)
- Выбирается значение
- Выборка разбивается всеми возможными способами на две части
После чего решается задача оптимизации:
k-fold кросс-валидация
- Обучающая выборка разбивается на непересекающихся одинаковых по объему частей
- Производится
- Модель обучается на части обучающей выборки;
- Модель тестируется на части обучающей выборки, которая не участвовала в обучении;
итераций. На каждой итерации происходит следующее:
Каждая из
частей единожды используется для тестирования. Как правило (5 в случае малого размера выборки)В результате можно посчитать различные метрики, показывающие, насколько модель удачная, например, среднюю ошибку на частях, которые не участвовали в обучающей выборке.
t×k-fold кросс-валидация
Процедура выполняется
раз:
См. также
- Общие понятия[на 17.01.19 не создан]</sup
- Модель алгоритма и ее выбор
- Мета-обучение[на 17.01.19 не создан]
Примечания
- Кросс-валидация
- Автоматизированный выбор модели в библиотеке WEKA для Java
- Автоматизированный выбор модели в библиотеке TPOT для Python
- Автоматизированный выбор модели в библиотеке sklearn для Python