Машинное обучение, наука о данных, регрессия

Ридж и регрессия Лассо:

Импровизированная линейная регрессия

Введение

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

Проблемы линейной регрессии

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

Это можно объяснить на следующем рисунке-

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

Чтобы преодолеть такого рода проблемы, в игру вступают такие алгоритмы, как Ridge и Lasso Regression.

Идеология Риджа и регрессии Лассо

Мы реализуем идею алгоритмов линейной регрессии вместе с некоторыми предосторожностями. Рассмотрим, например, двумерный набор данных (x, y). Где x — предиктор, а y — целевая переменная. Мы моделируем y как «y=a+bx», где параметры a (пересечение) и b (наклон) определяются путем минимизации-

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

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

На рис-2 2 строки. Ясно, что фиолетовая линия имеет большую величину наклона, чем зеленая линия. По этой причине одинаковое изменение направления x (AB или CD) приводит к большему изменению направления y для фиолетовой линии (GH), чем для зеленой линии (EF).

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

Помня об этом наблюдении, мы пытаемся найти a и b в модели «y=a+bx», минимизируя-

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

В случае регрессии хребта мы принимаем:

а для регрессии лассо мы принимаем:

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

Здесь λ взято как положительное действительное число. Чем выше значения λ, тем выше штраф в компоненте наклона. На практике значение λ выбирается путем применения метода перекрестной проверки (предпочтительно 10-кратной или более). Мы должны выбрать то λ, для которого точность предсказания является наибольшей.

Обобщение в высшем измерении

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

Предположим, у нас есть данные о предикторах p и ответ, заданный

где все x — предикторы, а y — ответ. Теперь мы моделируем y как-

где a — член пересечения, а b — коэффициенты наклона соответствующих x. Здесь, как и раньше, мы можем получить a и b, минимизируя член:

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

В случае регрессии хребта

а в случае регрессии лассо

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

Точка зрения: предвзятость и расхождение

К этому аспекту регрессии Риджа и Лассо можно добавить интересный момент.

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

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

Класс Python, используемый для реализации регрессии Ridge и Lasso

Наиболее часто используемый класс для реализации регрессии Ridge and Lasso — это Ridge() и Lasso(). Они используются для создания объекта Ridge/Lasso Regression в среде Python. Оба этих класса доступны в sklearn.linear_model. Также можно использовать модуль sklearn.model_selection для алгоритмов перекрестной проверки.