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


17

По-перше, вибачення за розміщення питання, про яке вже обговорювались тут , тут , тут , тут , тутта для повторного розігрівання старої теми. Я знаю, що @DikranMarsupial досить довго писав про цю тему у публікаціях та журнальних статтях, але я все ще плутаюся, і, судячи з кількості подібних публікацій тут, це все ще щось, що інші намагаються зрозуміти. Я також повинен зазначити, що я отримав суперечливість на цю тему, що додало моєї розгубленості. Ви також повинні знати, що я спочатку фізик, а не статистик, тому моя доменна експертиза тут дещо обмежена. Я пишу журнал, в якому хочу використовувати вкладене резюме, щоб оцінити ефективність, яку я можу очікувати від своєї остаточної моделі. У моєму домені це перше. (Ми майже ніколи не використовуємо жодногоФорма надійного резюме в моєму полі, але весело викачуйте документи з результатами досліджень з використанням нейронних сіток та підсилених дерев рішень! помилкова процедура для моєї громади, яка могла б навчитися роками! Спасибі! Про питання ...

Як створити остаточну модель після вкладеної перехресної перевірки?

Я треную просту модель glmnet з регуляризацією L1 та L2. Це швидко, просто та інтерпретується. Я виконую перетворення центрирования, масштабування та перетворення Box-Cox, щоб розподіли зображень були середньоцентризованими, стандартизованими та дещо гауссовими. Я виконую цей крок у рамках перехресної перевірки, щоб запобігти витоку інформації. Оскільки у мене обладнання дуже повільно, і я не маю доступу до більшої кількості процесорних м'язів, я також здійснюю швидкий вибір функцій на основі фільтрів у CV після попередньої обробки функцій. Я використовую випадковий пошук сітки, щоб вибрати альфа- та лямбда-гіперпараметри. Я розумію, що не повиненЦикл CV для отримання цієї оцінки. Я розумію, що внутрішня петля CV використовується для вибору моделі (в даному випадку оптимальні гіперпараметри) і що зовнішня петля використовується для оцінки моделі , тобто внутрішня і зовнішня резюме служать двом різним цілям, які часто помилково пов'язані. (Як я роблю поки що?)

Тепер, посилання, які я розмістив, свідчать про те, що "спосіб думати про перехресну перевірку - це як оцінка продуктивності, отриманої за допомогою методу побудови моделі, а не для оцінки ефективності моделі". Враховуючи це, як я повинен інтерпретувати результати вкладеної процедури резюме?

Порада, яку я прочитав, начебто вказує на наступне --- будь ласка, виправте мене, якщо це неправильно: внутрішній резюме є частиною механізму, який дозволяє мені вибрати оптимальні альфа- та лямбда-гіперпараметри моєї моделі glmnet. Зовнішній резюме говорить про оцінку, яку я можу розраховувати отримати від кінцевої моделі, якщо застосувати процедуру точно так, як використовується у внутрішньому резюме, включаючи налаштування гіперпараметра та використання всього набору даних для побудови кінцевої моделі. Тобто настройка гіперпараметра є частиною "методу побудови моделі". Це правильно чи ні? Тому що це мене бентежить. В іншому місці я бачив, що процедура побудови кінцевої моделі для розгортання включає навчання всього набору даних за допомогою фіксованих значеньгіперпараметрів, обраних за допомогою CV. Тут «метод побудови моделі» не включає налаштування. Отже, що це? У якийсь момент оптимальні гіперпараметри вибираються та фіксуються для побудови кінцевої моделі! Де? Як? Якщо мій внутрішній цикл - це 5-кратний резюме, а зовнішній цикл - 5-кратний резюме, і я вибираю, скажімо, 100 балів для тестування як частину випадкового пошуку сітки у внутрішньому резюме, скільки разів я фактично треную glmnet модель? (100 * 5 * 5) + 1 для остаточної збірки, чи є більше кроків, про які я не знаю?

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

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

Відповіді:


8

Вкладена перехресна перевірка пояснюється без введення

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

model = f (training data)

«Мій» функціональна модель навчання f не вимагають гіперпараметров , тому що внутрішньо робить все настройки гіперпараметра (наприклад , ваш alpha, lambdaі threshold).

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

Сенс функціонування "зовнішньої" функції тренінгу fполягає в тому, що після того, як ви здійснили крос-валідацію, він дає вам простий спосіб тренуватися "на весь набір даних": просто використовуйте f (whole data set)замість виклику f (cv split training data)для сурогатних моделей крос-валідації.

Таким чином, у вашому прикладі ви будете мати 5 + 1 дзвінків f, і кожен з дзвінків до нього fматиме, наприклад, 100 * 5 дзвінків g.


поріг ймовірності

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

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

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


Конкретні коментарі до частин питання

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

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

Я розумію, що внутрішній цикл CV використовується для вибору моделі

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

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

Так.

Тобто настройка гіперпараметра є частиною "методу побудови моделі".

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

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