Кросс-валидация — различия между версиями
Vi34 (обсуждение | вклад)  (→k-fold кросс-валидация)  | 
				Vi34 (обсуждение | вклад)   (→Полная кросс-валидация (Complete cross-validation))  | 
				||
| Строка 29: | Строка 29: | ||
# Выборка разбивается всеми возможными способами на две части <tex> T^l = T^t \cup T^{l-t} </tex>  | # Выборка разбивается всеми возможными способами на две части <tex> T^l = T^t \cup T^{l-t} </tex>  | ||
| − | [[Файл:CompleteCrossValidation.png|  | + | [[Файл:CompleteCrossValidation.png|500px]]  | 
<tex>CVV_t = \frac{1}{C_l^{l-t}}    | <tex>CVV_t = \frac{1}{C_l^{l-t}}    | ||
Версия 14:27, 22 января 2019
Кросс-валидация или скользящий контроль это процедура оценивания обобщающей способности алгоритмов. С помощью кросс-валидации эмулируется наличие тестовой выборки, которая не участвует в обучении, но для которой известны правильные ответы.
Содержание
- 1 Определения
 - 2 Разновидности Кросс-валидации
- 2.1 Валидация на отложенных данных (Hold-Out Validation)
 - 2.2 Полная кросс-валидация (Complete cross-validation)
 - 2.3 k-fold кросс-валидация
 - 2.4 t×k-fold кросс-валидация
 - 2.5 Кросс-валидация по отдельным объектам (leave-one-out)
 - 2.6 Случайные разбиения (Random subsampling)
 - 2.7 Критерий целостности модели (Model consistency criterion)
 
 - 3 См. также
 - 4 Примечания
 - 5 Источники информации
 
Определения
- обучающая выборка.
- мера качества.
- метод минимизации эмпирического риска.
Разновидности Кросс-валидации
Валидация на отложенных данных (Hold-Out Validation)
Обучающая выборка один раз случайным образом разбивается на две части
После чего решается задача оптимизации: 
Метод Hold-out применяется в случаях больших датасетов, т.к. требует меньше вычислительных мощностей по сравнению с другими методами кросс-валидации. Недостатком метода является то, что оценка существенно зависит от разбиения, тогда как желательно, чтобы она характеризовала только алгоритм обучения.
Полная кросс-валидация (Complete cross-validation)
- Выбирается значение
 - Выборка разбивается всеми возможными способами на две части
 
k-fold кросс-валидация
- Обучающая выборка разбивается на непересекающихся одинаковых по объему частей
 -  Производится  итераций. На каждой итерации происходит следующее:
- Модель обучается на части обучающей выборки;
 - Модель тестируется на части обучающей выборки, которая не участвовала в обучении;
 
 
Каждая из частей единожды используется для тестирования. Как правило (5 в случае малого размера выборки)
В результате можно посчитать различные метрики, показывающие, насколько модель удачная, например, среднюю ошибку на частях, которые не участвовали в обучающей выборке.
t×k-fold кросс-валидация
-  Процедура выполняется  раз: 
- Обучающая выборка случайным образом разбивается на непересекающихся одинаковых по объему частей
 -  Производится  итераций. На каждой итерации происходит следующее:
- Модель обучается на части обучающей выборки;
 - Модель тестируется на части обучающей выборки, которая не участвовала в обучении;
 
 
 
 
Кросс-валидация по отдельным объектам (leave-one-out)
Выборка разбивается на и 1 объект раз.
, где
Случайные разбиения (Random subsampling)
Выборка разбивается в случайной пропорции. Процедура повторяется несколько раз.
Критерий целостности модели (Model consistency criterion)
Не переобученый алгоритм должен показывать одинаковую эффективность на каждой части
Метод может быть обобщен как аналог .
См. также
- Общие понятия[на 17.01.19 не создан]
 - Модель алгоритма и ее выбор
 - Мета-обучение[на 17.01.19 не создан]
 
Примечания
- Кросс-валидация
 - Автоматизированный выбор модели в библиотеке WEKA для Java
 - Автоматизированный выбор модели в библиотеке TPOT для Python
 - Автоматизированный выбор модели в библиотеке sklearn для Python
 
Источники информации
- Скользящий контроль - статья на MachineLearning.ru
 - Model assessment and selection