Машинне навчання · 7 у порівнянні
Validation strategies
Кожен метод тут відповідає на одне питання: на яких рядках можна оцінювати модель. Спершу прочитайте стовпець «Ламається, коли»: хибний вибір дає не помилку, а краще число.
Порівняння
| Назва Як ділить | Навчань моделі | Кожен рядок тестується | Зберігає | Ламається, коли |
|---|---|---|---|---|
| Holdout Один поділ, одна оцінка. Дешево, і це єдина стратегія, що дає недоторкану оцінку саме тієї моделі, яку ви випускаєте, — якщо дивитися на неї один раз. | 1 | один раз або ніколи | за замовчуванням нічого | набір даних малий |
| K-fold Відкладену частину обертають k способами, тож кожен рядок прогнозує модель, яка його не бачила. Типовий вибір і базова лінія, яку варіює решта таблиці. Повна сторінка → | k | рівно один раз | за замовчуванням нічого | рядки не взаємозамінні |
| Stratified k-fold K-кратна, що тримає баланс класів у кожному фолді рівним балансу всього набору. Нічого не коштує додатково й безпечніша як типовий вибір на задачах класифікації. Повна сторінка → | k | рівно один раз | баланс класів | рядки згруповані чи впорядковані |
| Grouped k-fold Тримає всі рядки однієї одиниці — пацієнта, користувача, сесії, пристрою — по один бік поділу, тож модель не може впізнати суб’єкта, якого вже зустрічала. Повна сторінка → | k | рівно один раз | межі груп | групи невідомі |
| Time series split Кожен навчальний набір — префікс, а кожен тестовий блок іде після нього, тож модель ніколи не навчається на даних, пізніших за точку, де її оцінюють. Повна сторінка → | k | щонайбільше один раз | часовий порядок | ви їх перемішуєте |
| Leave-one-out K-кратна, доведена до межі: щоразу відкладають один рядок. Майже незміщена й максимально корельована між фолдами, а це найгірший випадок для оцінки її власної дисперсії. Повна сторінка → | n | рівно один раз | за замовчуванням нічого | n велике або потрібен інтервал |
| Nested cross-validation Внутрішній цикл обирає модель, а зовнішній оцінює те, що обрав внутрішній, тож налаштування ніколи не бачить рядків, які його оцінюють. Повна сторінка → | k × m | рівно один раз на цикл | межа вибору | бюджету не вистачає |
На шпаргалці: Validation and generalisation →
Прочитайте стовпець Ламається, коли раніше за інші. Кожен рядок цієї таблиці видає число, хоч які дані ви йому дасте, а спліттер, що не пасує вашим даним, не скаржиться — він повертає вищу оцінку. Саме ця асиметрія робить таблицю вартою запам’ятовування, а не довідковою.
Перші три рядки — один метод із доданими запобіжниками
Відкладена вибірка, k-кратна і стратифікована k-кратна крос-валідація різняться лише тим, скільки структури вони обіцяють зберегти. K-кратна — це «концептуально просте покращення порівняно з одноразовим поділом на навчальний і тестовий набори» [2, §1.2], а стратифікація — це k-кратна з однією додатковою гарантією: кожен фолд «містить приблизно той самий відсоток зразків кожного цільового класу, що й повний набір» [1, §3.1.2.2].
На задачі класифікації немає причин віддавати перевагу простій k-кратній перед стратифікованою. Вона коштує стільки ж і виключає фолд, якому випадково бракує класу.
Наступні три рядки існують тому, що рядки не незалежні
Тут таблиця й відпрацьовує своє. KFold припускає, що будь-який рядок може
опинитися навпроти будь-якого іншого, а три поширені види даних це порушують.
Згруповані дані. Коли кілька рядків походять від одного суб’єкта, випадковий поділ кладе того самого суб’єкта по обидва боки. Групові фолди гарантують, «що та сама група не представлена і в тестовому, і в навчальному наборах», а це важить саме тоді, коли «модель достатньо гнучка, щоб вчитися з дуже специфічних для людини ознак» [1, §3.1.2.4]. Наслідок помилки тут не тонкий: це витік, і категорія [L3.2] огляду описує «крайній (але, на жаль, поширений) випадок», коли «навчальні й тестові зразки походять від тих самих людей чи одиниць» [3, §2.4].
Упорядковані дані. Для часових рядів «послідовні навчальні набори є надмножинами тих, що йдуть перед ними» [1, §3.1.2.6], бо тестовий набір «не повинен містити жодних даних з дати, що передує навчальному набору» [3, §2.4].
Перемішування заслуговує на окреме застереження, бо в багатьох місцях воно є типовим налаштуванням і іноді саме хибне. Для рядків, упорядкованих за часом, «перемішування даних, імовірно, дасть перенавчену модель і роздуту валідаційну оцінку: її тестуватимуть на зразках, штучно схожих (близьких у часі) на навчальні» [1, §3.1.3].
Чого не дає жоден із них
Оцінки вашої моделі. Кожен рядок цієї таблиці оцінює середню похибку процедури по наборах даних, а не похибку тієї підгонки, яку маєте ви. Цю відмінність доведено, а не проголошено: крос-валідація «дає мало інформації» про похибку наявної моделі, і її «слід розглядати як оцінку Err, а не ErrXY» [2, §3.1].
Придатного довірчого інтервалу. Похибки фолдів корельовані, бо кожен рядок використовується і для навчання, і для тестування, тож звичайна оцінка дисперсії замала, а інтервали завузькі [2, §1]. Справа не в ретельності: «не існує незміщеного оцінювача стандартної похибки точкової оцінки CV на основі одного запуску CV» [2, §1.2]. Ліки статті — вкладена крос-валідація [2, §4.3], і саме їй відведено останній рядок таблиці.
Що обрати
Почніть зі стратифікованої k-кратної з k = 5. Це правильне типове налаштування майже для кожної задачі класифікації з незалежними рядками.
Переходьте на групову, щойно щось повторюється, — і перевіряйте, а не припускайте, бо одиниці, що повторюються, часто не ті, що названі в схемі даних.
Переходьте на часові ряди щоразу, коли прогноз стосується майбутнього, і змиріться з тим, що перші фолди навчатимуться на дуже малому.
Додайте вкладену, коли ви налаштовуєте й звітуєте те саме число, яке інакше є максимумом багатьох шумних оцінок [1, §3.1.4].
Хоч що б ви робили ще, тримайте відкладену вибірку, на яку подивитеся один раз, наприкінці. Це єдиний рядок цієї таблиці, що оцінює те, що, на думку зацікавленої сторони, означає число.
Джерела
- scikit-learn User Guide — Cross-validation: evaluating estimator performancedocs · звірено 2026-09-06https://scikit-learn.org/stable/modules/cross_validation.html
- Cross-validation: what does it estimate and how well does it do it? (2023)paperhttps://ar5iv.labs.arxiv.org/html/2104.00673
- Leakage and the Reproducibility Crisis in ML-based Science (2023)paperhttps://ar5iv.labs.arxiv.org/html/2207.07048