Наскільки погана настройка гіперпараметрів за межами перехресної перевірки?


20

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

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

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

Буду вдячний за будь-яку інформацію про це - приклади, документи, анекдати тощо. Дякую!

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

Відповіді:


17

Ефекти цього зміщення можуть бути дуже великими. Гарну демонстрацію цьому дають відкриті змагання з машинного навчання, які проводяться на деяких конференціях з машинного навчання. Вони, як правило, мають навчальний набір, валідаційний набір і тестовий набір. Учасники змагань не можуть бачити етикетки ні для валідації, ні для тестового набору (очевидно). Набір перевірки використовується для визначення рейтингу конкурентів на лідері, який кожен може бачити, поки змагання тривають. Дуже часто зустрічаються особи, які очолюють таблицю лідерів наприкінці змагань, які є дуже низькими у підсумковому рейтингу на основі даних тесту. Це тому, що вони налаштували гіпер-параметри для своїх навчальних систем, щоб максимально підвищити їхню ефективність у таблиці лідерів і, таким чином, надмірно встановили дані перевіркинастроюючи їх модель. Більш досвідчені користувачі мало приділяють уваги лідерам або взагалі не приймають їх та приймають більш жорсткі об'єктивні оцінки ефективності, щоб керуватися їх методологією.

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

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

GC Cawley та NLC Talbot (2010), "Надмірна відповідність вибору моделі та подальша упередженість вибору в оцінці продуктивності", Journal of Machine Learning Research, 11, p.2079, розділ 5.2.)


7
  • Упередженість, про яку ви говорите, все ще пов'язана в основному з надмірним оснащенням.
  • Ви можете утримати ризик низьким, оцінивши лише дуже мало моделей для фіксації регуляризаційного гіперпараметра плюс плюс до низької складності в рамках правдоподібного вибору.

  • Як зазначає @MarcClaesen, у вас працює крива навчання, яка дещо пом’якшить упередження. Але крива навчання, як правило, крута лише для небагатьох випадків, і тоді також надмірне оснащення є значно більшою проблемою.

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

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

Я не використовую LASSO (оскільки вибір змінних не має особливого сенсу для моїх даних з фізичних причин), але PCA або PLS зазвичай працюють добре. Хребет був би альтернативою, близькою до LASSO і більш підходящою для типу даних. За цими даними я побачив на порядок більше помилок щодо "ярликів швидкої перевірки" проти правильної незалежної (зовнішньої) перехресної перевірки. Однак у цих екстремальних ситуаціях мій досвід говорить, що перевірка ярликів виглядала підозріло добре, наприклад, 2% неправильних класифікацій => 20% при правильній перехресній валідації.

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

  • Поки я більше дбав про інші типи "ярликів", які трапляються в моєму полі і призводять до витоків даних, наприклад, перехресні перевірки спектрів замість пацієнтів (величезна упередженість! Я можу показати вам 10% неправильну класифікацію -> 70% = здогадки серед 3 класи) або не включаючи PCA у перехресну перевірку (2 - 5% -> 20 - 30%).
  • У ситуаціях, коли мені доводиться вирішувати, чи варто витрачати одну перехресну перевірку, яку я можу собі дозволити, на оптимізацію моделі чи на валідацію, я завжди приймаю рішення про перевірку та фіксую параметр складності на основі досвіду. PCA і PLS добре працюють як методи регуляризації, тому що параметр складності (# компоненти) безпосередньо пов'язаний з фізичними / хімічними властивостями проблеми (наприклад, я можу добре здогадатися, скільки хімічно різних груп речовин, які я маю на увазі). Крім того, з фізико-хімічних причин я знаю, що компоненти повинні бути схожими на спектри, і якщо вони шумні, я переробляю. Але досвід може також оптимізувати складність моделі на старому наборі даних з попереднього експерименту, який є досить подібним в цілому для виправдання передачі гіперпараметрів, а потім просто використанняпараметр регуляризації для нових даних.
    Таким чином, я не можу претендувати на наявність оптимальної моделі, але я можу стверджувати, що я отримав розумну оцінку ефективності, яку я можу отримати.
    А з номером пацієнта, який я маю, взагалі неможливо здійснити статистично значущі порівняння моделей (пам’ятайте, мій загальний номер пацієнта нижче рекомендованого розміру вибірки для оцінки однієї пропорції (відповідно до правила великого пальця @FrankHarrell дає тут]).

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


Про мої дані: я працюю зі спектроскопічними даними. Набори даних, як правило, широкі: кілька десятків незалежних випадків (пацієнтів; хоча зазвичай багато вимірювань на випадок. Приблизно 10³ змінних у вихідних даних, які я, можливо, зможу зменшити, щоб сказати, 250, застосувавши знання домену для вирізання неінформативних областей поза моїми спектрами та для зменшення спектральної роздільної здатності.


5

Якщо ви вибираєте лише гіперпараметр для LASSO, вкладене резюме не потрібно. Підбір гіперпараметрів проводиться у взаємодії один / плоский CV.

Враховуючи, що ви вже вирішили використовувати LASSO і враховуючи, що ви вже вирішили, які функції зберігати та надавати алгоритму (LASSO, ймовірно, видалить деякі функції, але це оптимізація LASSO, а не ваше рішення), залишається лише вибрати гіперпараметр , і це ви зробите з плоским / єдиним резюме:λ

1) розділити дані на навчальні \ навчальні набори та тестові набори та обрати що мінімізує середню помилку для всіх під час навчання з відповідною .T i λ T i L iLiTiλTiLi

2) - це ваш вибір гіперпараметра. Зроблено.λ

(Це не єдиний метод вибору гіперпараметрів, але він є найпоширенішим. Існує також "серединна" процедура, яку обговорювали та критикували GC Cawley та NLC Talbot (2010), "Надмірна відповідність вибору моделі та подальша зміщення вибору в оцінці ефективності ", Journal of Machine Learning Research, 11 , с.2079 , розділ 5.2.)

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

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

як відкритий доступ.

Вам потрібно вкладене резюме, якщо:

а) ви хочете вибрати між LASSO та деякими іншими алгоритмами, особливо якщо вони також мають гіперпараметри

б) якщо ви хочете повідомити неупереджену оцінку очікуваної помилки / точності узагальнення вашого остаточного класифікатора (LASSO з ).λ

Насправді вкладений резюме використовується для обчислення неупередженої оцінки похибки узагальнення класифікатора (з найкращим вибором гіперпараметрів - але ви не знаєте, які значення мають гіперпараметри). Це те, що дозволяє визначитися між LASSO і сказати SVM-RBF - слід обрати той, з найкращою помилкою узагальнення. І ця помилка узагальнення є тією, яку ви використовуєте для повідомлення b) (що дивно, в б) ви вже знаєте значення найкращого гіперпараметра - - але вкладена процедура CV не використовує цю інформацію).λ

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


2
Чи можете ви пояснити, що ви маєте на увазі під "не існує резюме для вибору гіперпараметра"? З того, що ви пишете, я не можу зрозуміти, чи хочете ви попередити ОП, що вони не вносили вкладення, чи ви заявляєте, що взагалі такого немає.
cbeleites підтримує Моніку

(+1) для стислого пояснення проблеми та хороших посилань. Але, як зазначає @cbeleites, перше речення є досить заплутаним: воно, мабуть, має на меті виправити непорозуміння, яке в ОП не має.
Scortchi

@cbeleites (і Scortchi) - я відповідаю на ОП "EDIT:" де (я вважаю) він стверджує, що він використовує CV для вибору параметрів ("перехресна перевірка лише для оцінки продуктивності кожної окремої моделі") і він стурбований тим, що він не використав вкладене резюме ("але не включаючи зовнішню, другу перехресну петлю перевірки для виправлення підгонки в рамках процедури налаштування гіперпараметра"). Я намагався сказати йому, що в підборі параметрів немає зовнішнього резюме.
Жак Вайнер

@JacquesWainer: Я вважаю, що він хоче "виправити переозброєння в рамках процедури налаштування гіперпараметрів" при оцінці ефективності процедури, що не є вибіркою (ваша ситуація b ), а не якось виправити вибране значення гіперпараметра за допомогою вкладеного резюме. У будь-якому випадку, ваша редакція робить початок вашої відповіді зрозумілішим.
Scortchi

Так, я мав на увазі "виправити [наївну оцінку результативності] для накладання в рамках процедури налаштування гіперпараметрів", а не "виправити [налаштовані гіперпараметри] для перевиконання" або щось подібне. Вибачте за плутанину; Я повинен був би більш чітко сказати, що мене турбує оцінка помилок, а не вибір параметрів.
Бен Кун

2

Будь-який складний алгоритм навчання, як SVM, нейронні мережі, випадковий ліс, ... може досягти 100% точності навчання, якщо ви дозволите їх (наприклад, через слабкий / відсутність регуляризації), з абсолютно жахливими результатами узагальнення.

γ = 100 %κ(xi,xj)=exp(γxixj2)γ=100%

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


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

Це моя суть. Якщо ви не виконаєте перехресну перевірку, ви отримаєте гіперпараметри, які забезпечують -ну точність тренувань та марну ефективність узагальнення в деяких випадках. 100%
Marc Claesen

Чому, на вашу думку, я розглядаю можливість не використовувати перехресну перевірку? Я спеціально сказав: "... і все ще використовую перехресну перевірку для оцінки ефективності кожного набору гіперпараметрів".
Бен Кун

1
У вашому прикладі SVM налаштування гіперпараметра буде відхилено процедурою пошуку гіперпараметра, оскільки його ефективність (як оцінюється циклом CV) була б дуже низькою порівняно з більш парсимоніальними значеннями . Однак яка дала найвищий бал за оцінкою одного циклу CV, зробила б гірше на вибіркових даних, ніж оцінено цикл CV, через регресію до середнього / надлишкового розміру. Часто пропонується використати другий цикл резюме (поза процедурою настройки) для компенсації. Це упередження, масштабність яких мене цікавить.γ γγ=γγ
Бен Кун

2
Я повністю зрозумів ваше запитання. До редагування це було дуже заплутано. Упередженість, яка вас, здається, зацікавила, до речі не обов'язково позитивна; оскільки багато підходів дають різко кращі моделі при наданні більше даних про навчання, що особливо актуально для невеликих навчальних наборів + перехресне підтвердження.
Marc Claesen
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.