Короткий вступ до перехресної перевірки leave-one-out (loocv)


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

Найпоширенішим способом вимірювання є використання середньої квадратичної помилки (MSE), яка обчислюється таким чином:

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

золото:

  • n: загальна кількість спостережень
  • y i : значення відповіді i-го спостереження
  • f(x i ): прогнозоване значення відповіді i- го спостереження

Чим ближче прогнози моделі до спостережень, тим нижчим буде MSE.

На практиці ми використовуємо такий процес для розрахунку MSE даної моделі:

1. Розділіть набір даних на набір для навчання та набір для тестування.

Навчання та тестування машинного навчання

2. Створіть модель, використовуючи лише дані з навчального набору.

LOOCV у машинному навчанні

3. Використовуйте модель для прогнозування тестового набору та вимірювання MSE – це називається тестовою MSE . Навчальний або тестовий набір

Тестування MSE дає нам уявлення про те, наскільки добре модель працює на даних, які вона раніше не бачила, тобто даних, які не використовувалися для «навчання» моделі.

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

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

Один із способів уникнути цієї проблеми — підганяти модель кілька разів, щоразу використовуючи інший набір для навчання та тестування, а потім обчислювати тестову MSE як середнє значення всіх тестових MSE.

Цей загальний метод відомий як перехресна перевірка, а його конкретна форма відома як перехресна перевірка Leave-One-Out .

Перехресна перевірка Leave-One-Out

Перехресна перевірка «залишити один вихід» використовує такий підхід для оцінки моделі:

1. Розділіть набір даних на навчальний набір і тестовий набір, використовуючи всі спостереження, крім одного, як частину навчального набору:

LOOCV

Зверніть увагу, що ми залишаємо лише одне спостереження «за межами» навчального набору. Саме тут цей метод отримав назву перехресної перевірки “leave-one-out”.

2. Створіть модель, використовуючи лише дані з навчального набору.

Побудова моделі з підходом LOOCV

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

Ручна перехресна перевірка

4. Повторіть процес n разів.

Нарешті, ми повторюємо цей процес n разів (де n – загальна кількість спостережень у наборі даних), щоразу пропускаючи інше спостереження з навчального набору.

Потім ми обчислюємо тестову MSE як середнє значення всіх тестових MSE:

Тест MSE = (1/n)*ΣMSE i

золото:

  • n: загальна кількість спостережень у наборі даних
  • MSEi: тест MSE протягом i-го періоду підгонки моделі.

Переваги та недоліки LOOCV

Перехресна перевірка за винятком одного надає такі переваги :

  • Він забезпечує набагато менш упереджене вимірювання тесту MSE порівняно з використанням одного набору тестів, оскільки ми неодноразово підбираємо модель до набору даних, що містить n-1 спостереження.
  • Він прагне не переоцінювати MSE тесту порівняно з використанням одного набору тестів.

Однак ручна перехресна перевірка має такі недоліки:

  • Використання цього процесу може зайняти багато часу, якщо n велике.
  • Це також може зайняти багато часу, якщо модель є особливо складною та займає багато часу, щоб відповідати набору даних.
  • Це може бути обчислювально дорогим.

На щастя, сучасні обчислення стали настільки ефективними в більшості областей, що LOOCV є набагато більш розумним методом для використання, ніж це було багато років тому.

Зверніть увагу, що LOOCV також можна використовувати в контекстах регресії та класифікації . Для задач регресії він розраховує тест MSE як середньоквадратичну різницю між прогнозами та спостереженнями, тоді як у задачах класифікації він обчислює тест MSE як відсоток спостережень, правильно класифікованих за n повторних коригувань моделі.

Як запустити LOOCV у R & Python

Наступні навчальні посібники надають покрокові приклади того, як запустити LOOCV для певної моделі в R і Python:

Перехресна перевірка Leave-One-Out у R
Перехресна перевірка Leave-One-Out у Python

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

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