Введение

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

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

В этом информативном посте мы обсудим →

  • Ошибка глазами машинного обучения
  • Что вы подразумеваете под ошибкой смещения?
  • Что вы подразумеваете под ошибкой дисперсии?
  • Компромисс смещения и дисперсии
  • Как распознать переобученные и недообученные модели?
  • Как исправить проблемы смещения и дисперсии?

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

Ошибки глазами машинного обучения

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

Давайте поймем цель любой модели машинного обучения →

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

Но что вы подразумеваете под ошибкой обобщения?

Ошибка, которую мы получаем в «будущем невидимом наборе данных», известна как ошибка обобщения. Не путайте с «ошибкой поезда» или «ошибкой CV», потому что они не называются ошибками обобщения.

Ошибки в модели машинного обучения можно разбить на 2 части →

  1. Уменьшаемая ошибка
  2. Неустранимая ошибка

Неустранимая ошибка

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

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

Позволять

Y = зависимая переменная

X = независимая переменная

Предположим, фактическое отношение между X и Y равно →

Y=f(X)+ϵ

ϵ (термин стохастической ошибки) в приведенном выше уравнении является неустранимой ошибкой. Это неустранимая ошибка из-за →

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

Допустим, вы едете на машине, шансы вернуть домашний сейф в основном зависят от двух вещей.

  1. Вы→ Правильно соблюдайте правила дорожного движения, ведите машину медленно и будьте внимательны на дороге.
  2. Другие люди → Как бы вы ни были внимательны, вы не можете помешать другим машинам сбить вас.

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

Уменьшаемая ошибка

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

  1. Ошибка смещения
  2. Ошибка отклонения

Из-за этих двух ошибок (предвзятость и дисперсия) любая модель машинного обучения страдает от проблем переобучения и недообучения. Мы подробно объясним эти концепции в этой статье.

Математик доказал, что ошибки обобщения можно разложить в сумму 3 ошибок.

Ошибка обобщения = Смещение² + Дисперсия + Неустранимая ошибка

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

Что вы подразумеваете под ошибкой смещения?

Ее также называют "Ошибка из-за смещения в квадрате". Это самая важная концепция в области машинного обучения. Ошибка смещения определяется как →

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

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

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

Примеры →

  • В линейной регрессии предполагается, что связь между переменными X и Y является линейной, хотя на самом деле связь может быть не совсем линейной.
  • В дереве решений мы ограничиваем дерево первым уровнем. Это не что иное, как случай «пней решения». В этой ситуации мы не используем всю информацию или функции для прогнозирования метки класса или данных. Здесь мы делаем предположение, что только одна функция из n (Пеньи решения) полезна для прогнозирования.

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

Итак, если мне нужно написать это в обобщенном виде, то →

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

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

Что такое дисперсионная ошибка?

Это не что иное, как концепция переобучения в машинном обучении. Если модель научится очень точно подходить к точкам набора данных X, когда она используется для прогнозирования набора данных Y, она может не предсказывать так точно, как в первом (X). Таким образом, мы можем определить дисперсию как →

Дисперсия — это не что иное, как чувствительность модели к колебаниям данных.

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

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

Примеры →

  • В линейной регрессии, если модель пытается подобрать линию, покрывающую почти все точки (переобучение)
  • В KNN, когда у нас есть K = 1, алгоритм пытается классифицировать каждую точку в свою категорию.
  • В дереве решений деревья будут сформированы в полную длину.

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

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

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

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

Примечание → По мере увеличения сложности модели (думайте об этом как о множестве функций) модели имеют тенденцию к переоснащению.

Компромисс смещения и дисперсии

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

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

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

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

В конечном счете, компромисс хорошо известен →

Увеличение систематической ошибки уменьшает дисперсию, а увеличение дисперсии уменьшает систематическую ошибку.

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

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

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

На схеме выше →

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

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

Как распознать переобученные и недообученные модели?

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

  • Как показано выше, слева показан график потерь для вашей модели в наборе данных для обучения и проверки, тогда как правый график демонстрирует точность модели в наборе данных для обучения и проверки.
  • Когда мы наблюдаем график потерь, вы можете видеть, что до ~ 3 эпохи потери как при обучении, так и при проверке находятся в состоянии уменьшения. И с этого момента потери при обучении продолжают снижаться, но потери при проверке увеличиваются.
  • Это не что иное, как «Переоснащение». Поскольку ваша модель хорошо обучалась на обучающих данных, но она просто не могла хорошо работать с проверочным набором данных.
  • Точно так же, если вы наблюдаете второй график, где точность проверки не меняется с ~ 3 эпохи, тогда как точность обучения продолжает расти. Это также свидетельствует о переоснащении.

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

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

Переоснащение

  • Ранняя остановка → Приостановите обучение до того, как модель начнет учиться на шуме. Этот подход является рискованным, так как если мы остановимся слишком рано, могут возникнуть шансы недообучения.
  • Обучение с использованием большего количества данных → Чем больше данных для обучения, тем лучше будет ваша модель. Больше данных означает больше возможностей для модели учиться (или обучаться) на данных. Это может повысить производительность вашей модели.
  • Выбор функций → Удаление избыточных функций снижает сложность модели. Следовательно, мы должны использовать метод выбора признаков.
  • Регуляризация → Если переоснащение происходит, когда модель слишком сложна, для нас имеет смысл уменьшить количество функций. Но что, если мы не знаем, какие исходные данные следует исключить в процессе выбора функций? Если мы не знаем, какие функции удалить из нашей модели, методы регуляризации могут быть особенно полезными. Этот метод позволяет сохранить все переменные и функции в модели за счет уменьшения величины переменных. Он в основном упорядочивает/контролирует или уменьшает коэффициент признаков до нуля. Проще говоря, в методе регуляризации мы уменьшаем величину признаков, сохраняя то же количество признаков.
  • Использование ансамблевых моделей → Ансамблевые модели, особенно модели бэггинга, используются для уменьшения дисперсии модели за счет снижения смещения. Случайный лес — один из примеров, в котором используется концепция бэггинга.

Недооснащение

  • Сохранение/добавление соответствующих функций →Сохранение или добавление соответствующих функций поможет модели извлечь из нее уроки.
  • Баланс по регуляризации → Необходимо соблюдать баланс по сроку регуляризации, поскольку он прямо пропорционален балансу между погрешностью и дисперсией.
  • Использование моделей ансамбля → Модели ансамбля, особенно повышающие модели, используются для уменьшения систематической ошибки за счет поддержания низкого уровня дисперсии. Деревья принятия решений, повышающие градиент (GBDT), являются одним из примеров, в которых используется концепция повышения.

Последнее примечание →

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

Источники →