Скільки даних достатньо для навчання моєї моделі машинного навчання?


11

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

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

Це твердження мене здивувало, тому що я ніколи не надавав такої важливості цьому аспекту ...

Потім я шукав додаткову інформацію в Інтернеті, і, як правило, виявив цю публікацію на FastML.com звітності, що вам потрібно приблизно в 10 разів більше екземплярів даних, ніж є функції .

Два питання:

1 - Чи справді це питання особливо актуальне в машинному навчанні?

2 - Чи працює правило 10 разів? Чи є інші відповідні джерела для цієї теми?


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

@Emre Спасибі! Чи можете ви також запропонувати мені прочитати якісь документи чи будь-який матеріал?
DavideChicco.it

Зазвичай це висвітлюється разом із перехресною валідацією та іншими методами перевірки моделей у вашому підручнику.
Емре

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

Якщо вам потрібно детальне пояснення, яке може допомогти вам зрозуміти графік кривої навчання, перевірте це: scikit-yb.org/en/latest/api/model_selection/learning_curve.html
shrikanth singh

Відповіді:


6

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

Практичний та керований даними спосіб визначення того, чи є у вас достатньо даних про навчання, це побудувати графік навчання, як той у прикладі нижче:

Крива навчання

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

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

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

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


У функції learning_curve я повинен пройти X_train, y_train: Only train subsetабоX, y: the entire dataset
Rookie_123

Ця крива будується в результаті застосування перехресної перевірки у міру збільшення кількості зразків. Тому вам потрібен весь набір даних.
Пабло Суу

4
  1. Так, питання, безумовно, актуальне, оскільки ваша здатність підходити до моделі залежатиме від кількості ваших даних, але що ще важливіше, це залежить від якості прогнозів.
  2. Десятикратне правило може бути правилом (а є багато інших), але воно дійсно залежить від корисності передбачуваності ваших функцій. Наприклад, набір даних райдужної оболонки досить невеликий, але легко вирішується, оскільки функції дають можливість добре розділити цілі. І навпаки, ви можете мати 10 мільйонів прикладів і не зможете підійти, якщо функції слабкі.

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