Перехресне підтвердження (узагальнення помилок) після вибору моделі


21

Примітка: Справа n >> p

Я читаю «Елементи статистичного навчання» і є різні згадки про «правильний» спосіб перехресної перевірки (наприклад, сторінка 60, стор. 245). Зокрема, моє запитання полягає в тому, як оцінити кінцеву модель (без окремого тестового набору) за допомогою CV-кратного реєстру чи завантажувального завантаження, коли відбувся пошук моделі? Здається, що в більшості випадків (ML алгоритми без вбудованого вибору функцій) будуть

  1. Крок вибору функції
  2. Крок вибору мета-параметрів (наприклад, параметр вартості у SVM).

Мої запитання:

  1. Я бачив, що крок вибору функцій можна зробити там, де вибір функції робиться на цілому навчальному наборі та утримується в стороні. Тоді, використовуючи резюме для k-кратного резюме, алгоритм вибору функцій застосовується у кожній складці (отримуючи різні можливості, можливо, обираються кожен раз) та усереднюється помилка. Тоді ви б використали функції, вибрані за допомогою усіх даних (які були відведені) для тренування остаточного режиму, але помилку в результаті перехресної перевірки використовуйте як оцінку майбутньої продуктивності моделі. ЦЕ ПРАВИЛЬНО?
  2. Коли ви використовуєте перехресну перевірку для вибору параметрів моделі, то як потім оцінити ефективність моделі? ЧИ ІСНИЙ ПРОЦЕС ТАКОЖ №1 ПРО НАД ІЛИ ВИ ВИКОРИСТОВУЄТЬСЯ НЕВІДКЛЮЧЕНИЙ КРИВ, ПОКАЗАНИЙ НА СТОРІНКІ 54 ( pdf ) АБО НЕЩО ЕЛЕЗ ?
  3. Коли ви робите обидва кроки (налаштування функції та параметрів) ..... то що робити? складні вкладені петлі?
  4. Якщо у вас є окремий зразок витримки, чи занепокоєння проходить, і ви можете використовувати перехресну перевірку для вибору функцій та параметрів (без турботи, оскільки ваша оцінка результатів буде виходити з набору витримки)?

@ user2040 (+1) Ці питання справді дуже хороші! Тут дещо пов'язане питання: Вибір функцій для "остаточної" моделі при виконанні перехресної перевірки в машинному навчанні .
chl

@chi Дякую, я бачив цей пост. Ви вважаєте, що я на правильному шляху, принаймні, зі своїм розумовим процесом? Здається, що незалежний тестовий набір дозволяє нам бути більш ліберальними у використанні резюме для вибору функцій та налаштування / вибору моделі. В іншому випадку з'являються вкладені петлі, необхідні для тренування, налаштування та оцінки узагальнення помилок, використовуючи однакові навчальні дані.
B_Miner

Відповіді:


18

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

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

Відповіді на конкретні запитання:

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

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

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

Для 4 - так, якщо у вас є окремий затриманий набір, то це дасть об'єктивну оцінку ефективності без необхідності додаткової перехресної перевірки.


знову відповідь на Q1. У цьому проблема чи не так? Дуже часто ми думаємо, що ми перехресну валідацію моделі, коли насправді ми перехресну валідацію процедури моделювання. Різниця може бути філософською, тому що, коли ви записуєте математику, f може виступати за модель або процедуру моделювання. Але тоді можна запитати, чи є крос-валідація процедури того, що ми хочемо, або крос-валідація моделі. Яка ваша думка?
qoheleth

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

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

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

5

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

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


@ user2643: Чи є у вас якісь посилання на те, як ви створили вкладене резюме? Це було так само, як і PDF, до якого я посилався у своєму питанні? Також ..... це випадкові маркетингові дані випадково?
B_Miner

@ user2643 Проблема такого підходу (що є правильним) полягає в тому, що він дає лише єдиний критерій точності (класифікація) або точності (регресія); ви не зможете сказати "ті особливості, які є найцікавішими", оскільки вони варіюються від однієї складки до іншої, як ви сказали. Я працював з генетичними даними (600k змінних), де ми використовували 10-кратну резюме з вбудованим підбором ознак за схемою перестановки (k = 1000, щоб було зручно на рівні 5%), щоб оцінити достовірність результатів. Таким чином, ми можемо сказати: "наша модель добре узагальнюється чи ні", більше нічого.
чл

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

нp

@ user2040: Вибачте за пізню відповідь. Я створив власну програмну реалізацію вкладеного підходу з резюме. Оскільки мої дослідження пов'язані з біоінформатикою, я незабаром планую подати опис програмного забезпечення до журналу біоінформатики. Але його можна використовувати в будь-якій галузі досліджень. Якщо вам цікаво спробувати це, будь ласка, повідомте мене про це. goldfish1434 в yahoo dot com
user2643
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.