Недостаточная и переобучение в машинном обучении и как с этим бороться !!!

Причина низкой производительности модели в машинном обучении либо переоснащение, либо недостаточное соответствие данных.

В этом рассказе мы откроем для себя концепцию обобщения в машинном обучении и связанные с этим проблемы переобучения и недообучения.

Давайте начнем !!!

Обобщение в машинном обучении

Обобщение относится к тому, насколько хорошо концепции, усвоенные моделью машинного обучения, обобщаются на конкретных примерах или данных, которые модель еще не видит.

В качестве примера предположим, что я должен был показать вам изображение кошки и попросить вас «классифицировать» этот образ для меня; Предполагая, что вы правильно определили его как кошку, сможете ли вы идентифицировать его как кошку, если бы я просто переместил кошку на три пикселя влево? Что если я переверну его вверх? Сможете ли вы идентифицировать кошку, если я заменю ее кошкой другой породы? Ответ на все эти вопросы почти наверняка объясняется тем, что мы, люди, с невероятной легкостью делаем обобщения. С другой стороны, машинное обучение очень тяжело справляется с любой из этих вещей; он эффективен только для классификации этого конкретного изображения.

Хотя машинное обучение может обеспечить сверхчеловеческую производительность в определенной области, лежащий в основе алгоритм никогда не будет эффективен в какой-либо другой области, кроме той, для которой он был явно создан, потому что у него нет возможности делать обобщения за пределами этой области. В этом смысле обобщение относится к абстрактной особенности интеллекта, которая позволяет нам эффективно работать в тысячах дисциплин одновременно.

В машинном обучении используется терминология, когда мы говорим о том, насколько хорошо модель машинного обучения обучается и обобщает новые данные, а именно переоснащение и недостаточное соответствие.

Переоснащение и недостаточное оснащение - две основные причины низкой производительности алгоритмов машинного обучения.

Доброта подгонки

В статистике степень соответствия описывает, насколько хорошо он подходит для набора наблюдений.

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

Переоснащение против недостаточного

Мы можем лучше понять переоснащение, посмотрев на противоположную проблему - недостаточное оснащение.

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

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

Позвольте привести аналогию, чтобы объяснить переоснащение и недостаточное оснащение.

Переоборудованные модели похожи на экспертов в предметной области:

Они много знают о конкретной области, например, эксперты в предметной области.
Вы спросите их что-нибудь о функциональности их инструмента (даже в деталях), они, вероятно, смогут вам ответить, и это слишком точно. < br /> Но когда вы спросите их, почему цены на нефть колеблются, они, вероятно, сделают обоснованное предположение и скажут что-нибудь особенное.

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

Недообученные модели похожи на тех инженеров, которые хотели стать игроками в крикет, но родители заставили их заняться инженерией. Они плохо разбираются ни в инженерии, ни в крикете. У них никогда не было души в том, что они делали, и они не знали всего.

Что касается машинного обучения, мы можем сказать, что они слишком мало сосредоточены на обучающей выборке. Ни для тренировки, ни для тестирования.

Как распознать недостаточное оснащение?

Модель ниже подходит, когда она слишком проста в отношении данных, которые она пытается смоделировать.

Один из способов обнаружить такую ​​ситуацию - использовать подход дисперсии смещения, который можно представить следующим образом:

Ваша модель недостаточно подогнана, когда у вас большой уклон.

Как избежать недообучения:

Больше данных обычно не поможет. Фактически, это, вероятно, увеличит ошибку обучения. Поэтому мы должны увеличить количество функций. Потому что это расширяет пространство гипотез. Это включает создание новых функций из существующих. Таким же образом большее количество параметров может также расширить пространство гипотез.

Как обнаружить переоснащение?

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

Чтобы решить эту проблему, мы можем разделить наш исходный набор данных на отдельные обучающие и тестовые подмножества. Этот метод может приблизительно оценить, насколько хорошо наша модель будет работать с новыми данными.

Если наша модель на обучающем наборе работает лучше, чем на тестовом, то, скорее всего, мы переобучаем.

Например, было бы большим красным флажком, если бы наша модель показала точность 95% на обучающем наборе, но только 48% на тестовом наборе.

Как предотвратить переобучение

Обнаружение переобучения полезно, но не решает проблемы. К счастью, у вас есть несколько вариантов, чтобы попробовать.

Вот несколько самых популярных решений для переобучения:

  • Перекрестная проверка. Стандартный способ найти ошибку прогноза вне выборки - использовать пятикратную перекрестную проверку.
  • Ранняя остановка. Его правила дают нам указания относительно того, сколько итераций можно выполнить, прежде чем учащийся начнет чрезмерно подходить.
  • Обрезка. Обрезка широко используется при построении связанных моделей. Он просто удаляет узлы, которые добавляют мало возможностей для прогнозирования решаемой проблемы.
  • Регуляризация: вводится термин стоимости для добавления дополнительных функций с целевой функцией. Следовательно, он пытается довести коэффициенты для многих переменных до нуля и, следовательно, сократить срок затрат.
  • Удаление функций. Некоторые алгоритмы имеют встроенный выбор функций. Для тех, кто этого не делает, вы можете вручную улучшить их обобщаемость, удалив нерелевантные входные функции. Интересный способ сделать это - рассказать историю о том, как каждая функция вписывается в модель. Это похоже на то, как специалисты по анализу данных изучают методику отладки резиновой утки программиста, когда они отлаживают свой код, объясняя его построчно резиновой уточке.
  • Тренируйтесь с большим количеством данных. Это не сработает каждый раз, но обучение с большим количеством данных может помочь алгоритмам лучше обнаруживать сигнал. В предыдущем примере моделирования роста и возраста у детей было ясно, как выборка большего количества школ поможет вашей модели. Конечно, это не всегда так. Если мы просто добавим больше зашумленных данных, этот метод не поможет. Вот почему вы всегда должны следить за тем, чтобы ваши данные были чистыми и актуальными.
  • Ансамбль. Ансамбли - это методы машинного обучения для комбинирования прогнозов из нескольких отдельных моделей. Существует несколько различных методов ансамбля, но два наиболее распространенных:

Бэггинг пытается снизить вероятность переобучения сложных моделей.

  • Параллельно он обучает большое количество «сильных» учеников.
  • Сильный ученик - это относительно непринужденная модель.
  • Затем Bagging объединяет всех сильных учеников вместе, чтобы «сгладить» их прогнозы.

Boosting пытается улучшить предсказательную гибкость простых моделей.

  • Он последовательно обучает большое количество «слабых» учеников.
  • Слабый ученик - это модель с ограничениями (т.е. вы можете ограничить максимальную глубину каждого дерева решений).
  • Каждый в последовательности фокусируется на извлечении уроков из ошибок предыдущего.
  • Затем форсирование объединяет всех слабых учеников в одного сильного ученика.

Хотя бэггинг и бустинг являются ансамблевыми методами, они подходят к проблеме с противоположных сторон.

Бэггинг использует сложные базовые модели и пытается «сгладить» их прогнозы, в то время как ускорение использует простые базовые модели и пытается «повысить» их совокупную сложность.

Если вы хотите узнать больше о моделях ансамбля, важные техники ансамблевых моделей: мешки и бустеры. Пожалуйста, прочтите мою предыдущую историю по ссылке ниже.



Я надеюсь, что эта статья дала вам четкое представление об этой теме. В этом посте вы узнали о терминологии обобщения в машинном обучении - переобучения и недостаточного подбора.

У вас есть какие-либо вопросы по поводу переоборудования, неполного оснащения или связанные с этим постом? Оставьте комментарий и задайте свой вопрос, и я постараюсь на него ответить.

Спасибо за прочтение! ❤