Навіщо використовувати як набір перевірки, так і тестовий набір?


18

Розглянемо нейронну мережу:

Для даного набору даних ми ділимо їх на навчальний, валідаційний та тестовий набір. Припустимо, ми робимо це в класичному співвідношенні 60:20:20, тоді ми запобігаємо надмірному встановленню, перевіряючи мережу, перевіряючи її на набір перевірки. Тоді яка необхідність перевірити його на тестовому наборі, щоб перевірити його працездатність?

Чи не буде помилка на тестовому наборі дещо такою ж, як у набору перевірки, оскільки для мережі це небачені дані так само, як набір перевірки, а також обидва вони однакові за кількістю?

Натомість, чи не можемо ми збільшити навчальний набір, об’єднавши тестовий набір, щоб ми мали більше навчальних даних і мережа тренувалась краще, а потім використовувала набір перевірки для запобігання перевитрати? Чому ми цього не зробимо?


4
Ви хотіли б, щоб це було однаково, але ви не можете бути впевнені, оскільки ви торкнулися його для оптимізації гіперпараметрів та ранньої зупинки, тому вам потрібен набір для перевірки діви.
Емре

@Emre Але ваги будуть коригуватися залежно від набору тренувань, а не набору валідації, тому результат тесту та набору перевірок не повинен відрізнятися.
користувач1825567

Ні, вони цього не роблять (підганяйте відповідно до навчального набору). Це для регулярних параметрів.
Емре

Відповіді:


24

Припустимо, ви тренуєте модель, ефективність якої залежить від набору гіперпараметрів. У випадку нейронної мережі ці параметри можуть бути, наприклад, швидкістю навчання або кількістю ітерацій навчання.

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

Але як ваша обрана модель порівнюється з іншими різними моделями? Чи працює ваша нейронна мережа краще, ніж, скажімо, випадковий ліс, який навчається з однаковою комбінацією даних тренувань / тестів? Ви не можете порівнювати на основі набору валідацій, оскільки цей набір перевірки був частиною пристосування вашої моделі. Ви використовували його для вибору значень гіперпараметра!

Тест набір дозволяє порівняти різні моделі неупереджено, на основі ваших порівнянь в даних , які не було використовувати в будь-якій частині вашого процесу вибору навчання / гіперпараметра.


11

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

  • Набір перехресної валідації використовується для виявлення перевиконання та для пошуку в гіперпараметрі.

  • Тестовий набір використовується для вимірювання продуктивності моделі.

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

З цієї ж причини ви не можете скинути набір перехресної перевірки і використовувати тестовий набір для вибору гіперпараметрів, оскільки тоді ви майже гарантовано переоцінюєте, наскільки хороша ваша модель. В ідеальному світі ви використовуєте тестовий набір лише один раз або використовуєте його "нейтрально" для порівняння різних експериментів.

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

Зважаючи на багато змагань Kaggle, мій досвід полягає в тому, що налаштування до тестового набору через його надмірне використання - це справжня річ, і це впливає на ці змагання значною мірою. Часто зустрічається група конкурентів, які піднялися на загальнодоступні лідери та відібрали свою найкращу модель для тестування (загальнодоступна таблиця - це тестовий набір), хоча вони не є настільки ретельними в їх перехресній валідації. . . Ці конкуренти скидають лідери, коли в кінці буде представлений новий тестовий набір.

Один з розумних підходів - повторне використання (поїзд + рейтинг) даних для перепідготовки за допомогою знайдених гіперпарам перед тестуванням. Таким чином, ви отримуєте тренування на більшій кількості даних, і ви все одно отримуєте незалежний показник ефективності.

Якщо ви хочете отримати більше користі від перехресної перевірки, звичайним підходом є перехресне підтвердження k-кратної . Поширений трюк в змаганнях Kaggle - використовувати перехресну перевірку k-кратного перекладу, а замість того, щоб повторно поєднувати дані у більший навчальний набір (поїзд + cv), щоб зібрати або скласти результати резюме в мета-модель.

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


1
що ви маєте на увазі під "стійким проти можливого співвідношення у вашому наборі даних"?
user6903745
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.