Рисунок 1. Синие точки представляют обучающие данные, а красные точки представляют невидимые данные для двух переменных x и y (Фото: Eashan Kaushik)

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

Введение

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

  1. Когда мы пытаемся точно зафиксировать тенденции в обучающих данных (рис. 1-C), мы не можем хорошо обобщить невидимые данные (рис. 1-F).
  2. Когда мы разрабатываем модель для хорошего обобщения невидимых данных (рис. 1-D), мы в конечном итоге не фиксируем тенденции в обучающих данных (рис. 1-A).

Следовательно, модель, представленная на рисунках 1-C и 1-F, имеет низкое смещение, но высокую дисперсию, а модель, представленная на рисунках 1-A и 1-D, имеет высокое смещение, но низкую дисперсию. Проще говоря, когда мы пытаемся свести к минимуму смещение, мы в конечном итоге увеличиваем дисперсию, а когда мы пытаемся свести к минимуму дисперсию, мы в конечном итоге увеличиваем смещение. Это то, что мы называем компромиссом смещения и дисперсии.

Давайте поговорим о предвзятости и дисперсии в зависимости от сложности модели.

  1. Когда у нас есть простая модель (рис. 1-A и 1-D), мы видим, что ошибка обучения высока, поскольку модель не может уловить тенденции в обучающих данных — высокое смещение. Тем не менее, модель будет иметь более низкий уровень ошибок для невидимых данных, поскольку она по-прежнему способна прилично обобщать невидимые данные — низкая дисперсия. На жаргоне машинного обучения мы можем сказать, что модель не соответствует данным.
  2. Когда у нас есть сложная модель (рис. 1-C и 1-F), мы видим, что ошибка обучения невелика, поскольку модель идеально фиксирует тенденции в обучающих данных — низкое смещение. Однако модель будет иметь гораздо более высокий уровень ошибок на невидимых данных, поскольку она не может хорошо обобщать невидимые данные — высокая дисперсия. Это случай переоснащения модели данными.

Более формальные определения смещения и дисперсии следующие:

Смещение: насколько среднее значение оценки отличается от истинной функции.

Отклонение: насколько оценка отличается от среднего значения.

Мы можем визуализировать отношения следующим образом:

Рисунок 2. Красная линия представляет истинную функцию, а синяя линия — модель, которую мы обучили на данных. Чем больше длина штрихов, тем выше дисперсия. (Фото: Сандип Ранган, ECE, Нью-Йоркский университет Яо Ван, ECE, Нью-Йоркский университет Элисон К. Флетчер)

Следующий вопрос, который мог бы возникнуть у вас в голове, — что мы можем с этим поделать? К сожалению, не так много — сходимость к модели с низким смещением и низкой дисперсией очень сложна. Что мы можем попытаться сделать, так это определить модель с довольно низким смещением и дисперсией. Модель, описанная на рисунках 1-B и 1-E, является примером модели с «оптимальным» смещением и дисперсией. На рисунке 3 видно, что оптимальная модель не имеет наименьшего смещения или дисперсии, а соответствует некоторой золотой середине.

Рисунок 3. Оптимальная модель для компенсации дисперсии смещения. Следует также отметить, что область слева от оптимальной мощности недообучается, а область справа от оптимальной мощности переоснащается (Фото: Eashan Kaushik)

Связь со степенью модели

Рисунок 4: синяя линия представляет собой ошибку обучения, а красная линия представляет собой ошибку тестирования или ошибку перекрестной проверки (Фото: Eashan Kaushik)

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

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

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

Связь с параметром регуляризации

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

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

Рисунок 5: синяя линия представляет ошибку обучения, а красная линия представляет ошибку тестирования или ошибку перекрестной проверки (Фото: Eashan Kaushik)

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

Связь с количеством обучающих данных

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

Рисунок 6-A — это случай, когда у нас есть высокое смещение в модели, Рисунок 6-B — это случай, когда у нас есть высокая дисперсия в модели, а Рисунок 6-C — это случай, когда у нас есть золотая середина между смещением и дисперсия.

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

Рисунок 6(A):высокая погрешность — синяя линия представляет ошибку обучения, а красная линия представляет ошибку тестированияили ошибку перекрестной проверки (Фото: Eashan Kaushik)

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

Рисунок 6(B):высокая дисперсия:синяя линия представляет ошибку обучения, а красная линия представляет ошибку тестированияили ошибку перекрестной проверки (фото : Ишан Кошик)

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

Рисунок 6(C):оптимальная модель:синяя линия представляет ошибку обучения, а красная линия представляет ошибку тестированияили ошибку перекрестной проверки (фото : Ишан Кошик)

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

Заключение

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

Высокая погрешность

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

Высокая дисперсия

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

Ссылки:

[1] Эндрю Нг, Машинное обучение Стэнфордского университета, Coursera

[2] Джош Стармер, Основы машинного обучения: предвзятость и отклонение, YouTube

[3] Sundeep Rangan, ECE, NYU; Яо Ван, ЕЭК, Нью-Йоркский университет; Элисон К. Флетчер, Статистика, ECE, UCLA, NYU ECE GY-6143 Machine Learning, GitHub

[4] Джейсон Браунли, Нежное введение в компромисс между смещением и дисперсией в машинном обучении, Мастерство машинного обучения