Чому розділення даних на навчальний і тестовий набір недостатньо


18

Я знаю, що для отримання продуктивності класифікатора я повинен розділити дані на навчальний / тестовий набір. Але читаючи це :

Оцінюючи різні параметри ("гіперпараметри") для оцінювачів, таких як настройка C, яку необхідно встановити вручну для SVM, все ще існує ризик перевиконання тестового набору, оскільки параметри можна налаштувати до тих пір, поки оцінювач не працює оптимально. Таким чином, знання про тестовий набір можуть "просочитися" в модель, а показники оцінювання більше не повідомляють про ефективність узагальнення. Щоб вирішити цю проблему, ще одна частина набору даних може бути представлена ​​як так званий "набір перевірки": навчання продовжується на навчальному наборі, після чого проводиться оцінка на наборі перевірки, і коли експеримент здається успішним , остаточне оцінювання можна зробити на тестовому наборі.

Я бачу, що вводиться ще один (третій) валідаційний набір, що виправдано надмірним набором тестового набору під час налаштування гіперпараметрів.

Проблема полягає в тому, що я не можу зрозуміти, як може виглядати цей наряд і тому не можу зрозуміти виправдання третього набору.


2
Я думаю, що багато плутанини тут випливає з 2 або 3 досить різних значень терміна "перевірка". Перевірка перехресної перевірки здебільшого є лише назвою процедури розщеплення без заміни. Набір "валідації" в цитованому тексті IMHO краще розуміти як "налаштування" або "набір оптимізації". Тоді як "валідація", наприклад, в інженерній чи аналітичній хімії, означає довести, що даний кінцевий метод відповідає його цілі - що робиться (імітується, наближається) набором "тесту". (Для мене тестування звучить набагато менш остаточно, ніж валідація ...)
cbeleites підтримує Моніку

Відповіді:


17

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

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

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


Я можу помилятися, але тестовий набір призначений не тільки для налаштування гіперпараметрів, але й для порівняння різних типів методик, наприклад, виконання SVM порівняно з LDA або випадковим лісом, як я вказав у своїй відповіді.

@fcoppens Так, безумовно. Я цього прямо не згадував, але це, безумовно, також вписується в цей крок.
Marc Claesen

1
більш загально, налаштування або оптимізація тут є будь-яким процесом, керованим даними (за допомогою внутрішньої перехресної перевірки).
cbeleites підтримує Моніку

@MarcClaesen У мене питання. Якщо у мене є 2 різні значення гіперпараметра, і я вкладаю ці 2 моделі на навчальний набір, то застосую їх на тестовому наборі, тоді, якщо показник помилок, отриманий на тестовому наборі, є неупередженим оцінником справжнього показника помилок прогнозування ці 2 моделі? Тому що якщо ви зараз надасте мені ще один незалежний тестовий набір даних, то цей новий набір тестових даних по суті такий же, як і попередній тестовий набір. Отже, якщо модель має кращий тестовий бал, вона також повинна перевершити іншу модель у новому наборі тестових даних. Чому нам потрібен набір перевірки?
KevinKim

"Якщо ви оптимізуєте деякий аспект на основі даних тесту, то ваші тестові дані вже не є незалежними, і вам знадобиться набір перевірки." це проникливий
Судіп Бхандарі

11

Я думаю, що найпростіше думати про речі таким чином. Є дві речі, для яких використовується перехресне підтвердження, налаштування гіперпараметрів моделі / алгоритму та оцінка продуктивності моделі / алгоритму.

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

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

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


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

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

αα

2

Під час побудови моделі ви тренуєте свої моделі на навчальному зразку . Зауважте, що ви можете тренувати різні моделі (тобто різні методи, такі як SVM, LDA, Random Forest, ... або та сама техніка з різними значеннями параметрів настройки або суміші).

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

Для цієї "остаточної" моделі нам ще належить оцінити помилку, і тому ми використовуємо тестовий зразок .


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

@ Генрі: Гаразд Генрі, я думаю, мітки фаз менш важливі, ніж їх послідовність / вміст, але твоє зауваження має для мене сенс, я редагую текст, дякую (+1),

1

Перехресне підтвердження не повністю долає проблему надмірного підбору при виборі моделі, вона просто зменшує її. Помилка перехресної перевірки залежить від використовуваного набору даних. Чим менше набір даних, тим вищою буде помилка перехресної перевірки.

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

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

Це деякі ресурси, які допоможуть вам краще зрозуміти.

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

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