Пошук сітки при перехресній валідації k-кратної


16

Я маю набір даних 120 зразків у 10-кратній перехресній валідації. В даний час я підбираю дані тренувань першого тренінгу і роблю на ньому 5-кратну перехресну перевірку, щоб вибрати значення гамма та С шляхом пошуку по сітці. Я використовую SVM з ядром RBF. Оскільки я роблю десять 10 крос-валідацій, щоб повідомити про точність, пригадайте, чи я виконую цей пошук по сітці в тренувальних даних кожного тренінгу (є 10 занять, кожен з яких має 10% тестових та 90% даних тренувань)? Чи не буде це занадто багато часу?

Якщо я використовую гамму та С першого тестування і використовую його для решти 9 макетів перехресної валідації k-кратного, це порушення, тому що я використовував би дані поїзда, щоб отримати гаму та С і знову використовувати частина даних поїздів як тест у другій передачі?


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

Відповіді:


14

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

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

Я написав документ про це рік-два тому, оскільки мене досить вразила величина відхилень відхилення від повної вкладеної перехресної перевірки, яка може легко заполонити різницю в продуктивності між системами класифікаторів. Доповідь "Про перевиконання у виборі моделі та подальших зміщеннях вибору в оцінці продуктивності" Гевін К. Каулі, Ніколас Л. Талбот; JMLR 11 (липень): 2079-2107, 2010.

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


1
Мій особистий досвід також змусив мене дуже обережно ставитися до таких джерел надягання.
cbeleites підтримує Моніку

6

Здійснивши пошук сітки для кожної сурогатної моделі, ви можете та повинні перевірити кілька речей:

  • зміна оптимізованих параметрів (тут і CγС ).
    Чи стабільні оптимальні параметри? Якщо ні, то, швидше за все, у вас виникнуть проблеми.
  • Порівняйте повідомлені показники внутрішньої та зовнішньої схрещування.
    Якщо внутрішня (тобто настроювальна) перехресна перевірка виглядає набагато краще, ніж зовнішня (валідація кінцевої моделі), то ви також у біді: ви переозброюєте. Існує істотний ризик, що налаштовані параметри зовсім не є оптимальними. Однак якщо зовнішня перехресна перевірка виконана належним чином (усі тестові набори справді не залежать від відповідних сурогатних моделей), то принаймні у вас все ж є неупереджена (!) Оцінка продуктивності моделі. Але ви не можете бути впевнені, що це оптимально.
  • Наскільки яскраво виражений оптимум? Чи швидко знижується продуктивність для неоптимальних параметрів? Наскільки хороші оптимальні показники?

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

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

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

На мій досвід, налаштування гіперпараметрів - надзвичайно ефективна ідея для надмірного оснащення ...

Тепер, якщо ви розумієте, що переобладнаєте, у вас є переважно два варіанти:

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

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

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

  • погіршення продуктивності за рахунок відміни ще однієї маси справ для оптимізації параметрів (менший розмір вибіркового тренінгу => гірша модель, але "оптимальні" параметри)
  • погіршення продуктивності за рахунок неоптимальної фіксації параметрів експертом (але на більш великих даних про навчання).

Кілька подібних думок щодо подібного питання: /stats//a/27761/4598


Про фіксацію параметрів та коментарі Дікрана Марсупіала

Я використовую термін гіпер-параметри, оскільки Дікран Марсупіал використовує його у своїй роботі (посилання у його відповіді)

Я працюю зі спектроскопічними даними. Це свого роду вимірювання, коли аналіз даних та моделювання часто включає досить небагато попередньої обробки. Це можна розглядати як гіперпараметри (наприклад, який порядок полінома слід використовувати для базової лінії? Які канали вимірювання слід включити?). Є й інші рішення, ближчі до ваших параметрів svm, наприклад, скільки основних компонентів використовувати, якщо PCA зроблено для зменшення розмірності, перш ніж "справжня" модель буде навчена? І іноді я також використовую класифікацію SVM, тому мені доведеться визначитися з параметрами SVM.

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

Випадки попередніх експериментів, про які я згадував вище, виглядають так:

  • ми беремо дані про купу клітинок (хочемо розрізнити різні лінії клітин).
  • Аналізуються спектри, виконується ітераційна подвійна перехресна перевірка SVM (проводилася ніч або дві на обчислювальному сервері).

    • γС
    • Я також зауважую певне перевищення: зовнішнє схрещування не настільки добре, як результати настройки. Це так, як очікувалося.
    • Тим не менш, існують відмінності в продуктивності в діапазоні настройки гіпер-параметрів, а продуктивність по настроювальній сітці виглядає досить рівною. Добре.
  • Мій висновок такий: хоча я не можу бути впевненим, що кінцеві гіперпараметри оптимальні, зовнішня перехресна перевірка дає мені належну оцінку ефективності сурогатних моделей.

  • Під час експериментальної частини ми визначились із деякими змінами в експериментальній настройці (речі, які не впливають на сигнал до шуму даних, але йдуть на крок далі в автоматизації приладу)

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

Тепер я стикаюся з рішенням: чи варто "пропустити" внутрішню перехресну перевірку і просто перейти з гіпер-параметрами, які я визначив зі старими даними?

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

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

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


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

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

@DikranMarsupial: Я пояснив своє тло дещо чіткіше, подивіться. Крім того, я прочитав ваш документ більш ретельно. Я думаю, наші пункти не так вже й однакові. Якщо вам подобається, давайте зустрінемось у чаті - у мене є маса питань щодо вашої роботи ...
cbeleites підтримує Моніку

@DikranMarsupial: (на жаль, для більшості моїх даних я не можу використати аналітичний вихід, оскільки я вклав / ієрарахічні структури даних). Крім того, я зіткнувся з деякими потворними сюрпризами при відпустці, тому я повторював перевірку k-fold або out-of-bootstrap. Однак це питання поза темою.
cbeleites підтримує Моніку

@DikranMarsupial: Якщо оптимізовані параметри не є стабільними, я все одно переживаю проблеми. Звичайно, тоді я не можу зробити висновок, що я можу використовувати ці параметри для нових даних. Але також я б не назвав їх (який із багатьох наборів параметрів?) Оптимальним для кінцевої моделі ... Я бачив, що оптимізація стає абсолютно дикою, але це завжди супроводжувалося дуже надто оптимістичними результатами внутрішньої (настроювальної) перевірки . І що я можу виміряти, порівнюючи зовнішню перехресну валідацію з внутрішньою оцінкою валідації оптимальної моделі. Відповідно оновив відповідь.
cbeleites підтримує Моніку

5

γСктеrr(γ,С)γСγ,С{2-нл,2-нл+1,,2ну}γ

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

γ(pσ)-1pγСС


Отже, скажімо, у мене є набір даних із 120 зразками. Чи слід знайти гамму та С спочатку за допомогою 120 зразків. Тоді зробіть 10-кратну перехресну валідацію, використовуючи ту саму гаму та С для k-матриць, коли 90% даних використовуються для тренування та 10% даних для тестування? Чи не означало б це, що я використовував той самий навчальний набір, щоб отримати гаму та С, а частина зразків також знаходиться на тестовому наборі?
user13420

γС

(γ,С)(γ,С)(γ,С)

2
λβ

2
λβ. Для фіксованихλ Ви відточуєте можливий розподіл для β. Кожен комплект поїздів CV для фіксованого параметра налаштування дає бальну оцінку цьогоβ(λ). Після закінчення процедури резюме ви маєте оцінку помилки тесту, враховуючи це раніше. Потім ви змінюєте параметри настройки, вибираючи параметр з найкращими властивостями тестової помилки.
muratoa
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.