Openstack DevOps and IBM/Informix Certified DBA... · 5 мар 2022
Проблема переобучения
Итак, прежде чем погрузиться в регуляризацию, давайте сделаем шаг назад, чтобы понять, что такое смещение-дисперсия и его влияние.
Смещение — это отклонение между значениями, предсказанными моделью, и фактическими значениями, тогда как дисперсия — это разница между предсказаниями, когда модель соответствует разным наборам данных.
Проблема переобучения
На приведенной выше панели крайний правый график показывает, что модель может отлично различать зеленые и фиолетовые точки. Это по тренировочным данным. В этом случае предвзятость низкая. На самом деле можно сказать, что он равен нулю, поскольку нет разницы между прогнозируемыми и фактическими значениями. Эта модель будет давать точные прогнозы.
Тем не менее, это не будет давать этот результат постоянно. Почему? Потому что он может хорошо предсказывать данные тренинга , но невидимые (или тестовые) данные не содержат тех же точек данных, что и данные тренинга. Следовательно, она не сможет последовательно давать одни и те же результаты и, следовательно, не может обобщать другие данные.
Когда модель хорошо работает на данных обучения и плохо работает на данных тестирования, говорят, что модель имеет высокую ошибку обобщения. Другими словами, в таком сценарии модель имеет низкое смещение и высокую дисперсию и является слишком сложной. Это называется переобучением.
Переобучение означает, что модель хорошо подходит для данных тренинга по сравнению с данными, как показано на графике выше. Вот почему всякий раз, когда вы строите модель; говорят, что она поддерживает компромисс между смещением и дисперсией. Переобучение также является результатом слишком сложной модели.
Итак, как мы можем предотвратить это Переобучение? Как убедиться, что модель хорошо предсказывает как данные обучения, так и данные тестирования? Одним из способов предотвращения переобучения является регуляризация, которая приводит нас к тому, что такое регуляризация в машинном обучении.
==============================================
Что такое регуляризация в машинном обучении?
Существует принцип под названием «Бритва Оккама», который гласит: «Сталкиваясь с двумя одинаково хорошими гипотезами, всегда выбирайте более простую».
Регуляризация — это применение бритвы Оккама. Это одна из ключевых концепций машинного обучения, поскольку она помогает выбрать простую модель, а не сложную. Как видно выше, мы хотим, чтобы наша модель хорошо работала как в тренинге, так и в новых невидимых данных, а это означает, что модель должна иметь возможность обобщаться. Ошибка обобщения — это «мера того, насколько точно алгоритм может предсказать значения результатов для ранее невиданных данных».
=============================
Регуляризация относится к изменениям, которые можно внести в алгоритм обучения, которые помогают уменьшить эту ошибку обобщения, а не ошибку обучения. Он сокращается за счет игнорирования менее важных функций. Это также помогает предотвратить переоснащение, делая модель более надежной и уменьшая сложность модели.
===============================
Методы регуляризации в машинном обучении:
Лассо-регрессия: наличие нормы L1
Гребневая регрессия: с нормой L2
Эластичная чистая регрессия: это комбинация регрессии Риджа и Лассо.
Ниже мы подробно рассмотрим, как работает регуляризация, и каждый из этих методов регуляризации в машинном обучении.
==============================================
Как работает регуляризация?
Регуляризация работает за счет уменьшения бета-коэффициентов модели линейной регрессии. Чтобы понять, почему нам нужно уменьшить коэффициенты, давайте посмотрим на следующий пример:
На приведенном выше графике две линии представляют взаимосвязь между общим количеством лет опыта и заработной платой, где заработная плата является целевой переменной. Это наклоны, показывающие изменение заработной платы на единицу изменения общего количества лет опыта. Поскольку наклон b1 + b3 уменьшается до наклона b1, мы видим, что заработная плата менее чувствительна к общему количеству лет опыта.
При уменьшении наклона целевая переменная (зарплата) стала менее чувствительной к изменению независимых переменных X, что увеличивает погрешность модели. Помните, смещение — это разница между прогнозируемыми и фактическими значениями.
=============================
С увеличением смещения модели дисперсия (которая представляет собой разницу между прогнозами, когда модель соответствует разным наборам данных) уменьшается и, уменьшая дисперсию, уменьшается переобучение. Модели с более высокой дисперсией приводят к переобучению, и, как мы видели выше, мы будем уменьшать бета-коэффициенты, чтобы преодолеть переобучение. Бета-коэффициенты или веса признаков стремятся к нулю, что известно как усадка.
Теперь, чтобы сделать это, мы штрафуем модель с более высокой дисперсией. Таким образом, регуляризация добавляет штрафной член к функции потерь модели линейной регрессии, так что модель с более высокой дисперсией получает больший штраф.
==============================
Что такое параметр регуляризации?
Для линейной регрессии регуляризация имеет два члена в функции потерь.Функция обычных наименьших квадратов (OLS) и Срок штрафа
Это становится :
Он налагает более высокий штраф на переменную, имеющую более высокие значения, и, следовательно, контролирует силу штрафного члена. Этот параметр настройки управляет компромиссом между смещением и дисперсией. λ может принимать значения от 0 до бесконечности. Если λ = 0, то это означает, что нет разницы между моделью с регуляризацией и без нее. Мы увидим нормы L-p в следующем разделе при обсуждении различных методов регуляризации.
===============================
Методы регуляризации в машинном обучении
===============================
Каждый из следующих методов использует разные нормы регуляризации (L-p) на основе математической методологии, которая создает различные виды регуляризации. Эти методологии по-разному влияют на бета-коэффициенты признаков. Методы регуляризации в машинном обучении следующие:
===============================
Регрессия хребта
Метод регрессии Риджа используется для анализа модели, в которой переменные могут иметь мультиколлинеарность. Он уменьшает незначимые независимые переменные, хотя и не удаляет их полностью. Этот тип регуляризации использует норму L2 для регуляризации.
В качестве штрафа используется норма L2. Штраф L2 представляет собой квадрат величин бета-коэффициентов. Он также известен как L2-регуляризация. L2 уменьшает коэффициенты, но никогда не делает их равными нулю. Результат регуляризации L2 не является разреженным.
Функция стоимости регрессии Риджа принимает вид:
Лассо-регрессия
Оператор наименьшего абсолютного сокращения и выбора (или LASSO - Least Absolute Shrinkage and Selection Operator). Регрессия снижает коэффициенты до такой степени, что они становятся равными нулю. Это устраняет незначительные независимые переменные. Этот метод регуляризации использует норму L1 для регуляризации.
Он добавляет L1-норму в качестве штрафа. L1 — абсолютное значение бета-коэффициентов. Он также известен как регуляризация L-1.
Результат регуляризации L1 разреженный. Это полезно, когда есть много переменных, так как этот метод может использоваться сам по себе как метод выбора признаков. Функция стоимости для регрессии LASSO:
Эластичная чистая регрессия
Метод регрессии эластичной сети представляет собой комбинацию методов регрессии гребня и регрессии Лассо. Это линейная комбинация штрафов как за регуляризацию нормы L1, так и за норму L2. Модель, использующая эластичную сетевую регрессию, позволяет изучать разреженную модель, в которой некоторые точки равны нулю, подобно регуляризации Лассо, и при этом сохраняет свойства регрессии Риджа. Поэтому модель обучается как по нормам L1, так и по нормам L2. Функция стоимости эластичной чистой регрессии:
В Python сила штрафа контролируется аргументом, называемым альфа. Если:
альфа = 0, тогда станет Ридж, и
альфа = 1, тогда он становится лассо.
============================================
Эластичная чистая регрессия происходит в два этапа:
первая стадия - регрессия хребта, и
затем второй этап - регрессия ЛАССО.
===========================================
На каждом этапе бета уменьшается или сокращается, что приводит к увеличению смещения модели. Увеличение смещения означает большое отклонение между прогнозируемыми значениями и фактическими значениями и, следовательно, делает больше прогнозов. Следовательно, мы масштабируем коэффициенты регуляризации эластичной сети, умножая оценочные коэффициенты на (1+λridge), чтобы улучшить качество прогнозирования и уменьшить смещение.
Когда использовать какой метод регуляризации?.
Регуляризация в машинном обучении используется в следующих сценариях:
1.Гребневая регрессия используется, когда важно учитывать все независимые переменные в модели или когда присутствует много взаимодействий. Именно здесь среди переменных присутствует коллинеарность или созависимость.
2.Лассо-регрессия применяется, когда доступно много предикторов и требуется, чтобы модель также делала выбор функций для нас.
Когда присутствует много переменных и мы не можем определить, следует ли использовать регрессию Риджа или Лассо, тогда регрессия Elastic-Net — ваш надежный выбор.
=======================================
Резюме
Основанная на бритве Оккама, регуляризация является одной из ключевых концепций машинного обучения. Это помогает предотвратить проблему переобучения, делает модель более надежной и снижает ее сложность. Таким образом, регуляризация выбирает модель (что делает применимой бритву Оккама) с меньшими весами признаков (или уменьшенными бета-коэффициентами), которые имеют меньшую ошибку обобщения. Кроме того, он наказывает модель с более высокой дисперсией, добавляя штрафной член к функции потерь, чтобы предотвратить слишком большое взвешивание больших значений.
К методам регуляризации относятся регрессия Лассо, регрессия гребня и регрессия эластичной сети. Регуляризацию можно использовать для уменьшения количества функций.