Сколько данных достаточно для обучения моей модели машинного обучения?


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 раз может быть практическим правилом (и есть много других), но оно действительно зависит от прогнозирующей полезности ваших функций. Например, набор данных радужной оболочки довольно мал, но легко решаем, потому что функции дают хорошее разделение целей. С другой стороны, вы можете иметь 10 миллионов примеров и не соответствовать, если функции слабые.

Спасибо! Можете ли вы также предложить мне несколько статей или материалов для чтения?
DavideChicco.it
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.