Что такое переоснащение в машинном обучении и как его избежать?



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

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

Что такое переоснащение в машинном обучении?

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





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



Примеры переобучения

Пример 1

Если взять пример простого линейная регрессия обучение данных - это определение минимальной стоимости между наиболее подходящей линией и точками данных. Он проходит несколько итераций, чтобы найти оптимальное соответствие с минимальными затратами. Здесь на сцену выходит переоснащение.



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

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

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

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

Пример 2

Постановка задачи: Давайте рассмотрим, что мы хотим спрогнозировать, получит ли футболист место в футбольном клубе 1-го уровня, основываясь на его / ее текущих показателях в лиге 2-го уровня.

Теперь представьте, что мы тренируем и подгоняем модель с 10 000 таких игроков с результатами. Когда мы пытаемся предсказать результат на исходном наборе данных, допустим, мы получили точность 99%. Но точность другого набора данных составляет около 50 процентов. Это означает, что модель плохо обобщается на основе наших обучающих данных и невидимых данных.

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

Сигнал против шума

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

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

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

Что такое недостаточное оснащение?

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

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

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

Основная проблема при переобучении - это оценить точность работы нашей модели с новыми данными. Мы не сможем оценить точность, пока не протестируем ее.

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

Давайте разберемся в этом на примере: представьте, что мы получаем 90+ процентов точности на обучающем наборе и 50 процентов на тестовом наборе. Тогда автоматически это станет красным флажком для модели.

Другой способ обнаружить переобучение - начать с упрощенной модели, которая будет служить ориентиром.

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

уроки Visual Studio для начинающих

Как избежать переобучения в машинном обучении?

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

  1. Перекрестная проверка

  2. Обучение с большим количеством данных

  3. Удаление функций

  4. Ранняя остановка

  5. Регуляризация

  6. Сборка

1. Перекрестная проверка

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

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

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

2. Обучение с большим количеством данных

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

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

3. Удаление компонентов

что такое jit-компилятор в Java

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

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

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

4. Ранняя остановка

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

Таким образом, ранняя остановка означает остановку процесса обучения до того, как модель перейдет в точку, в которой модель начинает соответствовать обучающим данным. Этот метод в основном используется в глубокое обучение .

5. Регуляризация

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

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

6. Ансамбль

Этот метод в основном объединяет прогнозы из разных моделей машинного обучения. Ниже перечислены два наиболее распространенных метода ансамбля:

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

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

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

Что такое Goodness Of Fit?

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

Компромисс между предвзятостью и дисперсией

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

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

Смещение

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

Представим себе установку линейная регрессия к модели с нелинейными данными. Независимо от того, насколько эффективно модель изучает наблюдения, она не будет эффективно моделировать кривые. Это известно как недостаточное оснащение.

Дисперсия

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

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

Компромисс смещения и отклонения

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

Алгоритмы с низкой дисперсией и высоким смещением менее сложны, имеют простую и жесткую структуру.

  • Они будут обучать модели, которые будут последовательными, но в среднем неточными.

  • К ним относятся линейные или параметрические алгоритмы, такие как регрессия, , так далее.

Алгоритмы с высокой дисперсией и низким смещением имеют тенденцию быть более сложными и имеют гибкую структуру.

  • Они будут обучать модели, которые непоследовательны, но в среднем точны.

  • К ним относятся нелинейные или непараметрические алгоритмы, такие как , , так далее.

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

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

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

хеш-карта против хеш-таблицы в Java

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