Чому в резюме оцінюється тестова помилка Недооцінка фактичної помилки тесту?


10

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

Також, чи правильно сказати, що оцінка перехресної перевірки помилки тесту є упередженою вниз?


1
Де ви бачите це зазначеним? Чи можете ви дати кілька посилань?
horaceT

1
(+1) Я бачив те саме твердження, і вважаю, що воно правильне, але я також не розумію логіки
KevinKim

Відповіді:


9

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

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

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


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

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

9

к

Зроблено належним чином приблизно, що розбиття на тестові та навчальні набори в рамках перехресної перевірки насправді призводить до тестових випадків, які справді не залежать від моделі.

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

Ось приклади найпоширеніших помилок у розбитті, які я бачу:

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


0

Спочатку дозвольте мені зрозуміти терміни, які використовуються в питанні, наскільки я розумію. Зазвичай ми починаємо з одного навчального набору даних, використовуємо перехресну перевірку k-кратного для тестування різних моделей (або наборів гіперпараметрів) та вибираємо найкращу модель з найнижчою помилкою CV. Таким чином, "оцінка перехресної перевірки помилки тесту" означає використання найнижчої помилки CV як помилки тесту, а не просто помилку резюме випадкової моделі (що стосується випадку, що обговорюється cbeleites, але це не те, що ми зазвичай робимо.). Про "фактичну помилку тесту" йдеться про помилку, яку ми отримуємо при застосуванні найкращої моделі CV до нескінченного набору тестів, припускаючи, що ми можемо її отримати. Помилка резюме залежить від конкретного набору даних, а фактична помилка тесту залежить від обраної найкращої моделі резюме, яка також залежить від навчального набору даних. Тож різниця між помилкою CV та помилкою тесту залежить від різних наборів даних тренувань. Тоді виникає питання, якщо ми повторюємо вище процес багато разів з різними наборами даних тренувань і середньо оцінюємо дві помилки відповідно, чому середня помилка CV нижче середньої помилки тесту, тобто помилка CV зміщується вниз? Але до цього завжди це відбувається?

Зазвичай неможливо отримати багато наборів даних та тестовий набір даних, що містять нескінченні рядки. Але це можна зробити, використовуючи дані, згенеровані симуляцією. У "главі 7 оцінювання та вибір моделі" книги "Елементи статистичного навчання" Тревор Хасті та ін. , він включає такий імітаційний експеримент.

Висновок полягає в тому, що, використовуючи резюме або завантажувальний тренінг, "... оцінка помилки тесту для конкретного навчального набору в цілому непроста, враховуючи лише дані цього ж навчального набору". Під поняттям "непросто" вони означають, що помилка CV може бути або недооціненою, або переоцінити справжню помилку тесту залежно від різних наборів даних тренінгу, тобто різниця, спричинена різними наборами навчальних даних, досить велика. Як щодо упередженості? КНН та лінійна модель, яку вони тестували, майже не є упередженою: помилка CV переоцінює справжню помилку тесту на 0-4%, проте деякі моделі "як дерева, перехресне підтвердження та ремінь завантаження можуть занижувати справжню помилку на 10%, оскільки на пошук найкращого дерева сильно впливає набір перевірки ".

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

Як зазначалося вище, причина недооцінки полягає в тому, що вибір гіперпараметрів для найкращої моделі в кінцевому рахунку залежить від конкретного навчального набору даних. Трохи детальніше. Нехай найкращі гіперпараметри будуть М1 у цьому конкретному навчальному наборі даних. Але M1 може бути не найкращим гіперпараметром для інших навчальних наборів даних, а це означає, що мінімальна помилка CV менше, ніж помилка CV від M1. Таким чином, очікувані помилки резюме, які ми отримуємо від навчального процесу, швидше за все, менше, ніж очікувана помилка резюме M1. Єдиний час, коли мінімальна помилка резюме від певного навчального набору даних не є упередженою - це коли найкраща модель завжди найкраща, незалежна від наборів даних про навчання. З іншого боку, помилка CV також може трохи переоцінити справжню помилку тесту, про яку говорили cbeleites. Це пояснюється тим, що помилка k-кратного резюме отримується за допомогою використання трохи менших навчальних даних для тренування моделі (для 10-кратного cv, використовуючи дані на 90%), вона упереджена вгору проти справжньої помилки, але не сильно. Таким чином, є два упередження, що йдуть в різних напрямках. Для методу моделювання має тенденцію перевищувати, використовуючи менший склад CV, наприклад, у 5 разів проти 10 разів, це може призвести до меншої упередженості.

Якщо говорити, на практиці це не дуже допомагає: ми зазвичай отримуємо лише один "певний" набір даних. якщо ми виставимо 15% до 30% в якості даних тесту і в якості даних тренінгу виберемо кращу модель за резюме, ймовірність того, що помилка CV буде відрізнятися від помилки тесту, оскільки обидва відрізняються від очікуваної помилки тесту. Ми можемо бути підозрілими, якщо помилка CV значно нижча за помилку тесту, але ми не будемо знати, яка з них ближче до справжньої помилки тесту. Найкращою практикою може бути лише представлення обох показників.

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