Простое руководство по K-кратной перекрестной проверке

Простое руководство по K-кратной перекрестной проверке

Чтобы оценить производительность некоторой модели в наборе данных, нам нужно измерить, насколько хорошо прогнозы, сделанные моделью, соответствуют наблюдаемым данным.

Наиболее распространенный способ измерить это — использовать среднеквадратичную ошибку (MSE), которая рассчитывается как:

MSE = (1/n)*Σ(y i – f(x i )) 2

куда:

  • n: общее количество наблюдений
  • y i : значение отклика i -го наблюдения
  • f(x i ): прогнозируемое значение отклика i -го наблюдения.

Чем ближе прогнозы модели к наблюдениям, тем меньше будет MSE.

На практике мы используем следующий процесс для расчета MSE данной модели:

1. Разделите набор данных на обучающий набор и набор для тестирования.

2. Построить модель, используя только данные из обучающей выборки.

3. Используйте модель, чтобы делать прогнозы на тестовом наборе и измерять тестовую MSE.

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

Один из способов избежать этой проблемы — подобрать модель несколько раз, используя каждый раз другой набор для обучения и тестирования, а затем вычислить тестовую MSE как среднее значение всех тестовых MSE.

Этот общий метод известен как перекрестная проверка, а его конкретная форма известна как перекрестная проверка k-fold .

K-кратная перекрестная проверка

K-кратная перекрестная проверка использует следующий подход для оценки модели:

Шаг 1: Случайным образом разделите набор данных на k групп или «складок» примерно одинакового размера.

Разделение набора данных на k раз

Шаг 2: Выберите один из сгибов в качестве опорного набора. Соедините модель с оставшимися k-1 складками. Рассчитайте тестовую MSE по наблюдениям в протянутой кратности.

k-кратная перекрестная проверка

Шаг 3: Повторите этот процесс k раз, используя каждый раз другой набор в качестве набора удержания.

Пример k-кратной перекрестной проверки

Шаг 4: Рассчитайте общую тестовую MSE как среднее значение k тестовых MSE.

СКО теста = (1/k)*ΣСКО i

куда:

  • k: количество складок
  • MSE i : проверка MSE на i -й итерации.

Как выбрать К

В общем, чем больше кратностей мы используем в k-кратной перекрестной проверке, тем меньше систематическая ошибка теста MSE, но выше дисперсия. И наоборот, чем меньше фолдов мы используем, тем выше смещение, но ниже дисперсия. Это классический пример компромисса смещения и дисперсии в машинном обучении.

На практике мы обычно используем от 5 до 10 кратностей. Как отмечено во Введении в статистическое обучение , было показано, что это количество кратностей обеспечивает оптимальный баланс между смещением и дисперсией и, таким образом, обеспечивает надежные оценки тестовой MSE:

Подводя итог, можно сказать, что существует компромисс между смещением и дисперсией, связанный с выбором k в k-кратной перекрестной проверке.
Как правило, с учетом этих соображений выполняется k-кратная перекрестная проверка с использованием k = 5 или k = 10, поскольку эмпирически было показано, что эти значения дают оценки частоты ошибок теста, которые не страдают ни чрезмерно высоким смещением, ни очень высокой дисперсией.
-Страница 184, Введение в статистическое обучение

Преимущества перекрестной проверки K-Fold

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

Используя k-кратную перекрестную проверку, мы можем рассчитать тестовую MSE, используя несколько различных вариантов обучающих и тестовых наборов. Это повышает вероятность того, что мы получим объективную оценку тестовой MSE.

K-кратная перекрестная проверка также предлагает вычислительное преимущество по сравнению с перекрестной проверкой с исключением одного (LOOCV) , потому что она должна соответствовать модели только k раз, а не n раз.

Для моделей, подгонка которых занимает много времени, перекрестная проверка в k-кратном порядке может вычислить тестовую MSE намного быстрее, чем LOOCV, и во многих случаях тестовая MSE, рассчитанная каждым подходом, будет очень похожей, если вы используете достаточное количество кратностей.

Расширения перекрестной проверки K-Fold

Существует несколько расширений k-кратной перекрестной проверки, в том числе:

Повторная перекрестная проверка K-кратности: здесь перекрестная проверка k-кратности просто повторяется n раз. Каждый раз наборы для обучения и тестирования перемешиваются, поэтому это еще больше снижает погрешность в оценке тестовой MSE, хотя это занимает больше времени, чем обычная перекрестная проверка в k-кратном порядке.

Перекрестная проверка с исключением одного: это особый случай перекрестной проверки k-кратности, в которой k = n.Подробнее об этом методе можно прочитать здесь .

Стратифицированная перекрестная проверка K-кратности: это версия перекрестной проверки k-кратности, в которой набор данных перестраивается таким образом, что каждая кратность представляет собой целое. Как отмечает Кохави , этот метод, как правило, предлагает лучший компромисс между смещением и дисперсией по сравнению с обычной перекрестной проверкой в k-кратном порядке.

Вложенная перекрестная проверка: здесь выполняется k-кратная перекрестная проверка в каждой кратной перекрестной проверке. Это часто используется для настройки гиперпараметров во время оценки модели.

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.