Как уменьшить ошибку смещения и дисперсии в вашей модели

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

Чем машинное обучение отличается от традиционного программирования?

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

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

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

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

Типы ошибок при прогнозировании модели:

  • Ошибка смещения
  • Ошибка отклонения
  • Неприводимая ошибка

Прогнозирующую ошибку модели можно рассчитать, как показано ниже:

Ошибка прогноза = ошибка смещения + ошибка дисперсии + несводимая ошибка

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

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

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

Сможете ли вы угадать, на каком из изображений есть ошибка смещения, а на каком - с ошибкой?

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

Если нашим целевым значением является Y, а наши функции обозначены x:

Y= f(x) + e

где e - нормально распределенная ошибка.

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

Если мы сравним ошибки для данных обучения для A и B, используя сумму квадратов ошибок, A будет иметь более высокую ошибку для данных обучения. . B имеет нулевую ошибку или очень небольшую ошибку, поскольку линия (модель) слишком близка к обучающим данным.

Однако, когда мы сравниваем ошибки для A и B, на этот раз с данными тестирования, ошибка B резко возрастает, в то время как ошибка A остается довольно постоянной. Наша идеальная модель - C. Он достаточно хорошо представляет модель, не имея слишком большого разброса или смещения как для данных обучения, так и для данных тестирования.

Ошибка смещения

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

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

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

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

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

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

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

Снижение смещения

  1. Измените модель. Одним из первых шагов к уменьшению смещения является простое изменение модели. Как указано выше, некоторые модели имеют высокое смещение, а некоторые - нет. Не используйте линейную модель, если характеристики и цель ваших данных на самом деле не имеют линейной связи.
  2. Убедитесь, что данные действительно репрезентативны: убедитесь, что данные обучения разнообразны и представляют все возможные группы или результаты. В случае несбалансированного набора данных используйте модели с взвешиванием или штрафами. Была дискуссия о низкой точности моделей распознавания лиц при идентификации цветных людей. Одним из возможных источников такой ошибки является то, что набор обучающих данных не был разнообразным, и в модели не было достаточно обучающих данных, чтобы четко идентифицировать цветных людей.
  3. Настройка параметров. Для этого требуется понимание модели и ее параметров. Документация алгоритмов - хорошее место для начала. Каждая модель имеет список параметров, которые она принимает в качестве входных данных. Настройка этих параметров может дать желаемый результат. Вы также можете создавать свои собственные алгоритмы с нуля.

Ошибка отклонения

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

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

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

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

Это также может привести к явлению, известному как переобучение.

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

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

Для проверки мы разделили доступные данные на набор для обучения и тестирования. Данные тестирования используются для проверки работоспособности модели.

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

Уменьшение дисперсии ошибки

  1. Ансамблевое обучение. Хороший способ справиться с большой дисперсией - обучить данные с помощью нескольких моделей. Ансамблевое обучение может использоваться как для слабых, так и для сильных учащихся, чтобы улучшить предсказание модели. Фактически, большинство победителей соревнований по машинному обучению используют ансамблевое обучение.
  2. Обучить модель с большим количеством данных: звучит сложно. Зачем добавлять больше данных, если дисперсия велика? Чем больше данных, тем выше отношение данных к шуму, что снижает дисперсию модели. Кроме того, когда в модели больше данных, она может лучше выработать общее правило, которое также будет применяться к новым данным.

Заключение

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

Помните, говоря простым языком:

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