Как k-кратная перекрестная проверка подходит в контексте наборов обучения / проверки / тестирования?


14

Мой главный вопрос касается попыток понять, как k-кратная перекрестная проверка подходит в контексте наличия наборов обучения / проверки / тестирования (если это вообще подходит в таком контексте).

Обычно люди говорят о разделении данных на набор для обучения, валидации и тестирования, скажем, с соотношением 60/20/20 на курс Эндрю Нга, посредством чего набор валидации используется для определения оптимальных параметров для обучения модели.

Однако, если кто-то хотел использовать перекрестную проверку в k-кратном выражении в надежде получить более репрезентативную меру точности, когда объем данных является относительно небольшим, то, что делает перекрестная проверка в k-кратном порядке, влечет за собой именно это разделение 60/20/20 сценарий?

Например, будет ли это означать, что мы на самом деле объединим обучающий и тестовый наборы (80% данных) и проведем к-кратную перекрестную проверку на них, чтобы получить меру точности (фактически отказавшись от наличия явного «набора тестирования»)? Если да, то какую обученную модель мы используем a) в производстве и b) использовать в сравнении с проверочным набором и определить оптимальные параметры обучения? Например, один из возможных ответов для a и b, возможно, заключается в использовании модели наилучшего сгиба.

Ответы:


12

Перекрестная проверка обычно помогает избежать необходимости набора проверки.

Основная идея с наборами данных обучения / проверки / тестирования заключается в следующем:

  1. Обучение: Вы пробуете различные типы моделей с различными вариантами гиперпараметров на данных обучения (например, линейная модель с различным выбором характеристик, нейронная сеть с различным выбором слоев, случайный лес с различными значениями mtry).

  2. Проверка: вы сравниваете производительность моделей на шаге 1 на основе набора проверки и выбираете победителя. Это помогает избежать неправильных решений, принятых путем переобучения набора тренировочных данных.

  3. Тест: вы опробуете модель-победителя на тестовых данных, чтобы почувствовать, насколько хорошо она работает в реальности. Это распутывает переоснащение, представленное на шаге 2. Здесь вы не будете принимать никаких дальнейших решений. Это просто простая информация.

Теперь, в случае, когда вы заменяете шаг проверки перекрестной проверкой, атака на данные выполняется почти идентично, но у вас есть только обучающий и тестовый набор данных. Нет необходимости в проверочном наборе данных.

  1. Обучение: см. Выше.

  2. Валидация. Вы проводите перекрестную проверку данных обучения, чтобы выбрать лучшую модель шага 1 в отношении эффективности перекрестной проверки (здесь исходные данные обучения многократно разделяются на временный набор обучения и проверки). Модели, рассчитанные в перекрестной проверке, используются только для выбора наилучшей модели шага 1, которая рассчитывается на основе полного обучающего набора.

  3. Тест: см. Выше.


1
Благодаря! Чтобы подтвердить, в контексте резюме, можно получить 80% -й состав против 20% -ого разделения теста. Затем можно построить модель на этих 80% данных и проверить их на 20%, чтобы получить точность. Чтобы попробовать различные вариации модели, можно сделать 10-кратное CV на наборе обучающих данных (80% данных) - эффективно тренироваться на 8% от общего количества данных и протестировать против 72% от общего количества данных в каждом сгибе. На основании результатов CV можно определить оптимальные значения гиперпараметра и использовать их для построения новой модели, обученной по всем данным обучения (80% полного набора данных), и провести тестирование с использованием оставшихся 20% набора тестовых данных. Верный?
Blu

3
Да, за исключением того, что в каждом прогоне резюме вы будете использовать 72% для обучения и 8% для проверки ;-)
Michael M

Потрясающий ответ @MichaelM. Я читал о вложенной перекрестной проверке (NCV) , и мне трудно решить, следует ли мне использовать его или просто сделать то, что вы наметили для CV. И как я понимаю, NCV будет применен к шагу 3. Вместо того, чтобы получить 1 балл победителя, вы получаете K баллов победителя (умножая общее количество пробежек на K, шаг 1-2 повторяется K раз с разницей в 80% данных поезда), которые затем можно усреднить. Итак, вопросы: 1) мое понимание правильно? 2) рекомендуется ли использовать NCV?
Азиз Джавед

Вы совершенно правы. Вложенное резюме поможет получить более надежные оценки, чем «простой» подход, описанный выше. Если позволяет время, это определенно вариант. Знаете ли вы, по какому набору данных окончательная модель рассчитывается во вложенном резюме? По полной?
Майкл М

3

K кратная перекрестная проверка - это стратегия повторной выборки, как и многие другие.

Разделение на обучение / валидацию / тестирование также является стратегией выборки.

Вы можете заменить обучение / валидацию другой стратегией отбора проб. Затем вы должны выполнить кратное CV на 80% данных и протестировать на оставшиеся 20%.K

Вы также можете применить его к части тестирования (это то, что люди называют вложенной перекрестной проверкой), где сгибы используются для обучения / проверки, а оставшаяся часть - для проверки, затем вы повторяете это сгибами.K1

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.