Чи потрібен нам тестовий набір при використанні перехресної перевірки k-кратної?


21

Я читав про перевірку k-fold, і хочу переконатися, що я розумію, як це працює.

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

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


3
Це залежить від того, що ви хочете зробити. Якщо ви хочете узагальнити оцінку ефективності, то так, модель повинна робити тести на дані, яких вона ніколи не бачила. Але це не означає, що це повинна бути одна ітерація проведення, ви можете використовувати перекомпонування для досягнення тієї ж мети.
Firebug

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

Відповіді:


9

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

Так. Як правило, тестовий набір ніколи не повинен використовуватися для зміни вашої моделі (наприклад, його гіперпараметри).

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


6
+1, але ви можете згадати вкладену перехресну перевірку як альтернативу крос-валідації + тестовому набору.
амеба каже, що повернеться Моніка

1
"іноді може використовуватися для інших цілей, ніж налаштування гіперпараметрів". Наприклад, ви можете використовувати перехресну перевірку для цілей перевірки (= тестування невідомих випадків для вимірювання помилки узагальнення).
cbeleites підтримує Моніку

3

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

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


2
Це не справжня відповідь на питання.
Майкл Р. Черник

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

1

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

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