Вибір K у K-кратній перехресній валідації


136

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

Я часто бачив і використовував значення , але це здається мені абсолютно довільним, і тепер я просто використовую за звичкою, а не продумувати. Мені здається, ви отримуєте кращу деталізацію в міру поліпшення значення , тому в ідеалі ви повинні зробити свій дуже великим, але також є ризик бути упередженим.10 К КK=1010KK

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


Відповіді:


69

Вибір дещо довільний. Ось як я вирішу :kk=10k

  • Перш за все, щоб зменшити дисперсію результату резюме, ви можете і потрібно повторити / повторити резюме з новими випадковими розколами.
    Це робить аргумент високого => більшого часу на обчислення в значній мірі нерелевантним, оскільки ви все одно хочете обчислити багато моделей. Я, як правило, думаю про загальну кількість розрахованих моделей (аналогічно завантажувальній). Тож я можу вирішити 100-кратне резюме або 200 x 5-кратне резюме.k

  • @ogrisel вже пояснив, що зазвичай великий означає менший (песимістичний) ухил. (Деякі винятки відомі, зокрема, для , тобто вихід-один-вихід).k = nkk=n

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

  • Занадто великий означає, що можлива лише невелика кількість комбінацій вибірки, що обмежує кількість ітерацій, які відрізняються.k

    • Для виходу-виходу: можливі різні комбінації моделей / тестових зразків. Ітерації взагалі не мають сенсу.(n1)=n=k
    • Наприклад, і : існують різні комбінації моделей / тестових зразків. Ви можете розглянути тут всі можливі комбінації, оскільки 19 ітерацій кратного резюме або загалом 190 моделей не дуже багато.n=20k=10(n=202)=190=19kk
  • Ці думки мають більшу вагу при малих розмірах вибірки. Якщо більше доступних зразків, не має великого значення. Можлива кількість комбінацій незабаром стає достатньо великою, тому (скажімо, 100 повторень 10-кратного резюме не ризикує бути дублікатами). Крім того, більше навчальних зразків зазвичай означає, що ви перебуваєте на більш рівній частині кривої навчання, тому різниця між сурогатними моделями та "реальною" моделлю, що навчається на всіх зразках, стає незначною.kn


6
(+1) для опрацювання, але (-1) для кількості повторень резюме. Це правда, що ризик створення точних дублікатів (перегляд ідентифікаторів спостережень) невеликий (з урахуванням достатньої кількості даних тощо), але ризик створення дублікатів структури / структури даних дуже високий. Я б не повторював резюме більше 10 разів, незалежно від того, що таке k ... просто щоб уникнути недооцінки дисперсії.
steffen

3
@steffen, чи не про це вже вказував ogrisel: що (сурогатні) моделі насправді не є незалежними? Я повністю згоден, що це так. Насправді я намагаюся це врахувати, інтерпретуючи результати з точки зору стійкості (сурогатних) моделей wrt. обмін "кількома" зразками (які я не хотів деталізувати тут - але дивіться, наприклад, stats.stackexchange.com/a/26548/4598 ). І я не обчислюю стандартну помилку, а радше повідомляю, наприклад, медіану та до перцентилю спостережуваних помилок за ітераціями. Я опублікую окреме запитання з цього приводу. 5th95th
cbeleites

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

2
@cbeleites: Я з вами згоден. Різниця через обмежений розмір вибірки зазвичай домінує над невизначеністю моделі.
jpcgandre

2
@jpcgandre: Принаймні для помилок класифікації, таких як чутливість, специфічність тощо, можна визначити невизначеність через загальну кількість перевірених випадків. Хоча це правда, що це лише частина загальної дисперсії, принаймні у ситуаціях, з якими я стикаюсь у своїй роботі, ця невизначеність часто настільки велика, що навіть грубої прогнозної оцінки достатньо, щоб зрозуміти, що висновки сильно обмежені. І це обмеження залишається, воно не зникне, використовуючи 50-кратну 8-кратну або 80-кратну 5-кратну замість 40-кратної 10-кратної перевірки.
cbeleites

37

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

Якщо нахил кривої навчання досить рівний при Training_size = 90% від загального набору даних, то упередження можна ігнорувати, і K = 10 є розумним.

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

Правка: недооцінка => завищення справжньої очікуваної помилки

Редагувати: частина цієї відповіді про більш високі відхилення для великих K або LOOCV, ймовірно, помилкова (не завжди відповідає дійсності). Більш детально з моделюванням у цій відповіді: Зміщення та дисперсія в перехресній валідації «відхід-один-проти» до K-кратного (спасибі Xavier Bourret Sicotte за цю роботу).


1
чи можете ви пояснити трохи більше про більш високу дисперсію з великим ? У першому наближенні я б сказав, що загальна дисперсія результату CV (= якась помилка, обчислена з усіх проб, випробуваних будь-якою з сурогатних моделей) = дисперсія за рахунок тестування лише зразків + дисперсія через різниці між в моделі (нестійкість). Що я пропускаю? knknk
cbeleites

6
Під варіантом я маю на увазі дисперсію передбачуваної очікуваної помилки тесту, отриману шляхом взяття медіани або середнього значення помилок згину CV, "справжнє розподіл", а не через складки CV. Коли k великий, ви ближче до LOO-CV, що дуже залежить від конкретного навчального набору, який ви маєте під рукою: якщо кількість зразків невелика, вона не може бути настільки репрезентативною для справжнього розподілу, отже, і дисперсії. Коли k великий, резюме k-кратного може імітувати такі довільні жорсткі зразки навчального набору.
ogrisel

8
Як доповнення: Кохаві вивчає зміщення-відхилення у відмінці валідації у главі 3 своєї кандидатської дисертації . Дуже рекомендую.
steffen

3
+1, btw "більший K означає більш високу дисперсію", наскільки я розумію, з великим всі навчальні набори матимуть спільні великі дані, тому навчені моделі будуть дещо співвіднесені, в результаті чого корельовані помилки тесту , значить, середня помилка тесту матиме більшу дисперсію, правда? KKKK
авокадо

Так, я думаю, що це правильна інтуїція.
ogrisel

0

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

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


-6

Рішення:

K = N/N*0.30
  • N = Розмір набору даних
  • К = скласти

Коментар: Ми також можемо вибрати 20% замість 30%, залежно від розміру, який ви хочете вибрати як тестовий набір.

Приклад:

Якщо розмір набору даних: N = 1500; К = 1500/1500 * 0,30 = 3,33; Ми можемо вибрати значення K як 3 або 4

Примітка:

Велике значення K у перехресній валідації, що виводиться, призведе до надмірного встановлення. Невелике значення K у перехресній валідації виходу з одного виду призведе до недостатнього підходу.

Підхід може бути наївним, але все-таки краще, ніж вибрати k = 10 для набору даних різного розміру.


4
(-1)тому ви пропонуєте завжди використовувати k = 3 або 4 незалежно від розміру вибірки - це IMHO істотно не відрізняється від використання k = 10 однаково незалежно від розміру вибірки. NN0.3=10.33.33=const.
cbeleites

K = N / N * 0,3 = 10/3, що є постійною. Тому не логічно використовувати це значення для кожної умови.
Kamal Thapa
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.