Простий посібник із перехресної перевірки k-fold


Щоб оцінити продуктивність моделі на наборі даних, нам потрібно виміряти, наскільки прогнози, зроблені моделлю, відповідають даним спостереження.

Найпоширенішим способом вимірювання є використання середньої квадратичної помилки (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-кратна перехресна перевірка .

Перехресна перевірка K-Fold

K-кратна перехресна перевірка використовує такий підхід для оцінки моделі:

Крок 1. Випадково розділіть набір даних на k груп або «згорток» приблизно однакового розміру.

Розбийте набір даних на k складок

Крок 2. Виберіть одну зі складок як комплект для утримання. Відрегулюйте шаблон до решти k-1 складок. Розрахуйте випробування MSE на основі спостережень у шарі, який був натягнутий.

k-кратна перехресна перевірка

Крок 3. Повторіть цей процес k разів, кожного разу використовуючи інший набір як набір виключень.

Приклад k-кратної перехресної перевірки

Крок 4: Обчисліть загальну MSE тесту як середнє значення k MSE тесту.

Тест MSE = (1/k)*ΣMSE 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-кратна перехресна перевірка також забезпечує обчислювальну перевагу перед Leave-One-Out Cross-Validation (LOOCV), оскільки вона має підганяти модель лише k разів замість n разів.

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

Розширення перехресної перевірки K-Fold

Існує кілька розширень k-кратної перехресної перевірки, зокрема:

Повторна k-кратна перехресна перевірка: тут k-кратна перехресна перевірка просто повторюється n разів. Щоразу, коли навчальні та тестові набори змішуються, це ще більше зменшує зміщення в тестовій оцінці MSE, хоча це займає більше часу, ніж звичайна k-кратна перехресна перевірка.

Перехресна перевірка з виключенням: це окремий випадок k-кратної перехресної перевірки, у якій k = n . Детальніше про цей метод можна дізнатися тут .

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

Вкладена перехресна перевірка: тут k-кратна перехресна перевірка виконується в кожній перехресній перевірці. Це часто використовується для налаштування гіперпараметрів під час оцінки моделі.

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *