Чи можу я використовувати крихітний набір перевірки?


15

Я розумію міркування щодо розділення даних на тестовий набір і набір перевірки. Я також розумію, що розмір розбиття буде залежати від ситуації, але, як правило, коливатиметься від 50/50 до 90/10.

Я побудував RNN, щоб виправити написання і почати з набору даних ~ 5м речень. Я голю 500k речень, а потім тренуюся з рештою ~ 4,5м речень. Коли навчання закінчено, я беру свій набір перевірки і обчислюю точність.

Цікавим є те, що лише після 4% мого набору перевірок я маю точність 69,4%, і цей відсоток не змінюється більш ніж на 0,1% в будь-якому напрямку. Врешті-решт я просто скоротив перевірку, оскільки кількість застрягла на 69,5%.

Так навіщо скидати 10% на валідацію, коли я, мабуть, міг піти з 1%? Це важливо?


4
Загальна відповідь полягає в тому, що розмір вибірки, більший, ніж я б сказав, 10 000, буде дуже репрезентативною сукупністю населення. Збільшення вибірки, якщо вона була складена правильно, може бути дорогою, тоді як оцінка, яку ви бачите, буде приблизно однаковою. Шукайте концепцію інтервалу довіри.
Олексій Бурнаков

Відповіді:


20

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

Для простої правильної / неправильної точності класифікації ви можете обчислити стандартну похибку оцінки як (стандартне відхилення змінної Бернуї), деp- ймовірність правильної класифікації, аn- розмір валідаційної сукупності. Звичайно, ви не знаєтеp, але ви можете мати деяке уявлення про його асортимент. Скажімо, ви очікуєте точності між 60-80%, і ви хочете, щоб ваші оцінки мали стандартну помилку менше 0,1%: p(1-p)/нpнp Скільки має бутиn(розмір валідаційного набору)? Приp=0,6отримуємо: n> 0,6 - 0,6 2

p(1-p)/н<0,001
нp=0,6 Дляp=0,8отримуємо: n>0,8-0,82
н>0,6-0,620,0012=240,000
p=0,8 Такце говорить намви могли б піти з використанням менш ніж5% від ваших 5 мільйонів вибірок даних для перевірки. Цей відсоток зменшується, якщо ви очікуєте більш високої продуктивності, або, особливо, якщо вас влаштовує нижча стандартна помилка вашої оцінки вибіркових показників, що не є вибіркою (наприклад,p=0,7і, як наслідок, <1%, вам потрібно лише 2100 зразків перевірки або менше ніж двадцятий відсоток ваших даних).
н>0,8-0,820,0012=160,000
p=0,7

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

(Також я можу додати, що я припускаю представницьку вибірку тут. Якщо ваші дані дуже неоднорідні, можливо, вам знадобиться використовувати більші набори перевірки, щоб переконатися, що дані перевірки включають усі ті самі умови і т. Д., Що і ваші дані поїздів і тестів. )


14
p(1-p)p=1/2p(1-p)=1/4p(1-p)/н1/4н

11

Приємне обговорення цієї проблеми надає Ендрю Нґ на своєму курсі глибокого навчання на Coursera.org . Як він зазначає, стандартні розбиття, такі як 8: 2 або 9: 1, дійсні, якщо ваші дані невеликі до помірно великі, але багато сучасних проблем машинного навчання використовують величезну кількість даних (наприклад, мільйони спостережень, як у вашому випадку), і в такому сценарії ви можете залишити 2%, 1% або навіть менше даних як тестовий набір, взявши всі решта даних для вашого навчального набору (він фактично стверджує, що також використовувати набір розробників). Як він стверджує, чим більше даних ви годуєте своїм алгоритмом, тим краще для його продуктивності, і це особливо стосується глибокого навчання * (він також зазначає, що це не має бути випадків для неглибоких алгоритмів машинного навчання).

Як уже зауважив у коментарі Алекс Берн , мова йде не про розмір вашого тестового набору, а про його репрезентативність для вашої проблеми. Зазвичай із більшим розміром даних ми сподіваємось, що вони будуть більш репрезентативними, але це не повинно бути так. Це завжди є компромісом, і вам потрібно враховувати конкретні проблеми. Немає правил, які б вказували, що тестовий набір не повинен бути меншим, ніж X випадків, або менше Y% ваших даних.

* - Відмова: Я тут повторюю аргументи Ендрю Нґ, я б не вважав себе фахівцем глибокого навчання.


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

Більш конкретно це було в лекції «встановлює поїзд / Dev / Test» в 1 -е тижні з «Покращення Deep Neural Networks: настройка гіперпараметра, регуляризація і оптимізація» курс (. , Який пт 2 всього глибокого вивчення спеціалізації)
icc97

2
Ось повна цитата з лекції: "Отже, у цьому прикладі, де у вас є мільйон прикладів, якщо вам потрібно лише 10 000 для вашого розробника і 10 000 для вашого тесту, ваше співвідношення буде більше, ніж це 10000, це 1% від 1 мільйона, так що ви У мене буде 98% поїздів, 1% розробок, 1% тесту. І я також бачив додатки, де, якщо у вас є навіть більше мільйона прикладів, ви можете закінчити 99,5% поїздів і 0,25% розробника, 0,25% тесту Чи, може, 0,4%, 0,1% тесту ".
icc97

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