Дуже смішно, що найактуальніша відповідь насправді не відповідає на питання :), тому я подумав, що було б непогано підкріпити це ще трохи теорією - здебільшого взятою з "Data Mining: Практичні інструменти та методи машинного навчання" та Тома Мітчелла «Машинне навчання» .
Вступ
Таким чином, у нас є класифікатор і обмежений набір даних, і певна кількість даних повинна надходити в навчальний набір, а решта використовується для тестування (при необхідності третій підмножина використовується для перевірки).
Дилема, з якою ми стикаємось, полягає в наступному: щоб знайти хорошого класифікатора, "навчальний підмножина" повинна бути якомога більшим, але для отримання хорошої оцінки помилок "тестовий підмножина" має бути максимально великим - але обидва підмножини беруться з той же басейн.
Очевидно, що навчальний набір повинен бути більшим, ніж тестовий набір - тобто розкол не повинен бути 1: 1 (головна мета - тренуватися , а не тестувати ) - але незрозуміло, де повинен бути розкол.
Процедура проведення.
Процедура розбиття «суперсети» на підмножини називається методом тримання . Зауважте, що ви можете легко пощастити, і приклади певного класу можуть бути відсутніми (або заздалегідь представленими) в одному з підмножин, які можна вирішити за допомогою
- випадкова вибірка, яка гарантує, що кожен клас належним чином представлений у всіх підмножинах даних - процедура називається стратифікованою витримкою
- випадкова вибірка з повторним процесом тренінгу-перевірки-перевірки поверх неї - що називається повторним стратифікованим триманням
У єдиній (неповторній) процедурі проведення ви можете розглянути можливість заміни ролей даних тестування та тренувань та порівняти два результати, але це правдоподібно лише з розділенням 1: 1 між тренувальними та тестовими наборами, що неприпустимо (див. Вступ ). Але це дає ідею, і вдосконалений метод ( натомість використовується перехресне підтвердження ) - див. Нижче!
Перехресне підтвердження.
Під час перехресної перевірки ви приймаєте рішення про встановлену кількість складок (розділів даних). Якщо ми використовуємо три складки, дані розділяються на три рівні розділи та
- ми використовуємо 2/3 для тренінгу та 1/3 для тестування
- і повторіть процедуру три рази, щоб, зрештою, кожен екземпляр був використаний рівно один раз для тестування.
Це називається потрійною перехресною валідацією , і якщо стратифікація також прийнята (що часто відповідає дійсності), вона називається стратифікованою потрійною перехресною валідацією .
Але ось ось ось стандартний спосіб - це не розділення 2/3: 1/3. Цитуючи "Обмін даними: практичні інструменти та методи машинного навчання" ,
Стандартним способом [...] є використання стратифікованої 10-кратної перехресної перевірки. Дані поділяються випадковим чином на 10 частин, в яких клас представлений приблизно в тих же пропорціях, що і в повному наборі даних. Кожна частина проводиться по черзі, а схема навчання навчається на дев'ятих десятих десятках; тоді її коефіцієнт помилок обчислюється на наборі утримування. Таким чином, процедура навчання виконується в цілому 10 разів на різних навчальних наборах (кожен з яких має багато спільного). Нарешті, 10 оцінок помилок усереднюються, щоб отримати загальну оцінку помилок.
Чому 10? Оскільки «..Extensive тести на численних набори даних, з різними методами навчання, показали , що 10 про правильне кількості складок , щоб отримати кращу оцінку помилки, і є також деякі теоретичні докази того, що підтримує це ..» гавань я Я не знайшов, які обширні тести та теоретичні докази вони мали на увазі, але це здається гарним початком для копання більше - якщо ви хочете.
Вони в основному просто кажуть
Хоча ці аргументи аж ніяк не є переконливими, і дебати в колах машинного навчання та обміну даними продовжують бурхливо обговорювати, яка найкраща схема для оцінки, десятикратна перехресна перевірка стала стандартним методом на практиці. [...] Більше того, немає нічого магічного в тому, що точне число 10: 5-кратна або 20-кратна перехресна перевірка, ймовірно, буде майже такою ж хорошою.
Бутстрап, і - нарешті! - відповідь на оригінальне запитання.
Але ми ще не дійшли до відповіді, чому часто рекомендується 2/3: 1/3. Я вважаю, що це успадковано від методу завантаження .
Він заснований на вибірці з заміною. Попередньо ми помістили зразок з "грандіозного набору" точно в одну з підмножин. Бутстрапінг відрізняється, і зразок може легко з’явитися як у навчальному, так і в тестовому наборі.
Давайте розглянемо один конкретний сценарій, коли ми беремо набір даних D1 з n екземплярів і відбираємо його n разів із заміною, щоб отримати інший набір даних D2 з n екземплярів.
Тепер пильно дивіться.
Оскільки деякі елементи в D2 (майже напевно) будуть повторюватися, у вихідному наборі даних повинні бути деякі екземпляри, які не були вибрані: ми використовуватимемо їх як тестові екземпляри.
Який шанс, що конкретний екземпляр не був підібраний для D2 ? Ймовірність того, що вас підхоплять за кожне захоплення, дорівнює 1 / n, тому навпаки (1 - 1 / n) .
Коли ми множимо ці ймовірності разом, це (1 - 1 / n) ^ n є e ^ -1, що становить приблизно 0,3. Це означає, що наш тестовий набір буде приблизно 1/3, а навчальний набір - приблизно 2/3.
Я думаю, що це причина, чому рекомендується використовувати розділення 1/3: 2/3: це співвідношення взято з методу оцінки завантаження.
Згортаючи його.
Я хочу закінчити цитатою з книги пошуку даних (яку я не можу довести, але вважаю правильною), де вони, як правило, рекомендують віддати перевагу 10-кратній перехресній валідації:
Процедура завантаження може бути найкращим способом оцінки помилок для дуже малих наборів даних. Однак, як і перехресне підтвердження виходу з одного виходу, воно має недоліки, які можна проілюструвати, розглядаючи особливу, мистецьку ситуацію [...] повністю випадкового набору даних з двома класами. Дійсний показник помилок становить 50% для будь-якого правила прогнозування. Але схема, яка запам'ятовувала навчальний набір, дала б ідеальний показник повторної заміни 100%, так що випадки вилучення = 0, а завантажувальний механізм 0,632 буде змішувати це з вагою 0,368 до дають загальний показник помилок лише 31,6% (0,632 ¥ 50% + 0,368 ¥ 0%), що вводить в оману оптимістично.