Чим перехресна перевірка відрізняється від прослуховування даних?


13

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

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

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

РЕДАКТУЙТЕ: Будь ласка, дивіться відповідь @AdamO щодо визначення поняття "перегляд даних". Я використовував цей термін дуже неточно у своєму питанні.


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

Відповіді:


12

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

Ваше занепокоєння є правильним місцем, і на цю тему існує маса літератури, наприклад

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

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

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

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

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


PS: Я вважаю термінологію тестування порівняно з валідацією дуже заплутаною, оскільки в моєму полі «валідація» означає довести, що кінцева модель відповідає цілі, і тому те, що інші називають тестуванням, а не валідацією. Я вважаю за краще називати внутрішній тестовий набір "настроювальний тестовий набір", а зовнішній - "остаточний тестовий набір перевірки" тощо.


Оновлення:

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

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

Мої рекомендації:

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

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

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


1
Я згоден, термінологічний потяг / тест / перевірка не дуже інтуїтивно зрозумілий
М. Берк

3

k

λλ

"Аналіз даних" або, як я міг би його назвати, "Розвідувальний аналіз даних" не стосується заздалегідь заданого питання. Ви начебто перераховуєте ряд можливих, правдоподібно цікавих результатів та оцінюєте їх індивідуально. Ви можете виконувати будь-яку кількість дослідницьких аналізів і, як правило, не переживаєте про багаторазове тестування. Ви можете оцінювати кожен дослідницький аналіз окремо, використовуючи перехресну перевірку, але він не притаманний багаторазовому тестуванню, коли у вас є більше 1 дослідницького аналізу. Гіпотези в цій обстановці можуть бути досить широкими і далекосяжними, "які фактори пов'язані з раком простати?" (від якої в когорті вимірювали пиття кави, використання вазектомії тощо). Значні результати розглядаються як "породжуючі гіпотези" і не дають підтверджуючих доказів.

k


λλ

1
@Anh: настройка λ шляхом перехресної перевірки сама по собі не є поганою. Але зробивши це, ви "використали" цю перехресну перевірку для настройки λ, і вам потрібна інша перевірка, яка не залежить від моделювання, включаючи процес настройки λ. Не виконувати цю зовнішню перевірку - BAD. Якщо цей конкретний λ не працює "знову" (наприклад, на іншому розділенні даних), ваша оптимізація не працює. У цій ситуації зазвичай ви також бачите велику різницю між результатами зовнішньої перевірки та спостережуваною "найкращою" роботою під час настройки.
cbeleites незадоволений SX

@cbeleites Отож, якщо моя модель (тобто мій параметр настройки в цьому випадку) не дає зовнішньої перевірки, що мені робити тоді? Я не можу повернутися назад і знайти інший параметр настройки, оскільки по суті це перетворить зовнішню перевірку в тестовий набір настроювання. Отже, що робити?
Гейзенберг

λ

λk

1

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


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

1
@Anh: обидва розщеплення можна виконати шляхом переустановки (наприклад, повторної перехресної перевірки) замість відставки лише одного невеликого набору даних.
cbeleites незадоволений SX

@Anh: У кратній перехресній валідації ви розділите k рази оригінальний навчальний набір на менший навчальний набір і набір перевірки. Оригінальний тестовий набір не задіяний і використовується лише в кінці.
Jerorx

0

Якщо ви подивитесь, наприклад, на сторінку 225 "Вступ до статистичного навчання" з прикладом Лассо, ви побачите, що вони насправді роблять вкладені перехресні перевірки. Тобто вибір моделі здійснюється cv.glmnetна trainнаборі, який розбивається cv.glmnetпакетом на пари поїзних тестів. Перевірка моделі проводиться на testнаборі валідації (" "), тому це незалежна перевірка.

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