Кросс-валидация — различия между версиями
Vi34 (обсуждение | вклад) (→Валидация на отложенных данных (Hold-Out Validation)) |
Vi34 (обсуждение | вклад) (→Кросс-валидация по отдельным объектам (leave-one-out)) |
||
Строка 65: | Строка 65: | ||
=== Кросс-валидация по отдельным объектам (leave-one-out) === | === Кросс-валидация по отдельным объектам (leave-one-out) === | ||
Выборка разбивается на <tex>l-1</tex> и 1 объект <tex>l</tex> раз. | Выборка разбивается на <tex>l-1</tex> и 1 объект <tex>l</tex> раз. | ||
+ | |||
+ | [[Файл:LeaveOneOut.png|500px]] | ||
<tex>LOO = \frac{1}{l} \sum_{i=1}^{l} Q(\mu(T^l \setminus p_i),p_i) \to min </tex>, где <tex>p_i = (x_i, y_i)</tex> | <tex>LOO = \frac{1}{l} \sum_{i=1}^{l} Q(\mu(T^l \setminus p_i),p_i) \to min </tex>, где <tex>p_i = (x_i, y_i)</tex> |
Версия 14:36, 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