Регуляризация — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Нейронные сети)
(Нейронные сети)
Строка 264: Строка 264:
 
Регуляризация также используется и в [[Нейронные сети, перцептрон | нейронных сетях]] для борьбы со слишком большими весами сети и переобучением. Однако, в этом случае зануление коэффициентов при использовании L1-регуляризатора не несет в себе смысл "отбора признаков", как в случае с линейными моделями. Регуляризация не снижает число параметров и не упрощает структуру сети.
 
Регуляризация также используется и в [[Нейронные сети, перцептрон | нейронных сетях]] для борьбы со слишком большими весами сети и переобучением. Однако, в этом случае зануление коэффициентов при использовании L1-регуляризатора не несет в себе смысл "отбора признаков", как в случае с линейными моделями. Регуляризация не снижает число параметров и не упрощает структуру сети.
  
Для нейронной сети помимо добавления "штрафного" слагаемого к эмпирическому риску используют и другой метод регуляризации  {{---}} прореживание сети (англ. ''dropout''), в ходе которого упрощают сеть, руководствуясь правилом - если функция ошибки не изменяется, то сеть можно упрощать и дальше. Подробнее об этом можно почитать в статье, рассказывающей о [[Практики реализации нейронных сетей | практике реализации нейронных сетей]].
+
Для нейронной сети помимо добавления "штрафного" слагаемого к эмпирическому риску используют и другой метод регуляризации  {{---}} прореживание сети (англ. ''dropout''), в ходе которого упрощают сеть, руководствуясь правилом {{---}} если функция ошибки не изменяется, то сеть можно упрощать и дальше. Подробнее об этом можно почитать в статье, рассказывающей о [[Практики реализации нейронных сетей | практике реализации нейронных сетей]].
  
 
==См. также==
 
==См. также==

Версия 11:52, 21 января 2020

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


Мотивация

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

На примере линейной регрессии

В качестве наглядного примера можно рассмотреть линейные регрессионные модели. Восстановить зависимость для нескольких точек можно пытаться полиномами разной степени M.

Рис. 1. Норма. M = 2
Рис. 2. Переобучение. M = 4

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

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

На примере логистической регрессии

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

Рис 3. Сигмойда — "ступенька"

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

Основные виды регуляризации

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

В представленных ниже формулах для эмпирического риска Q: L является функцией потерь, а β — вектором параметров элемента g(x,β) модели алгоритмов.

L2-регуляризация

Определение:
L2-регуляризация, или регуляризация Тихонова (англ. ridge regularization или Tikhonov regularization):
Q(β,Xl)=liL(yi,g(xi,β))+λnjβj2.

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

L1-регуляризация

Определение:
L1-регуляризация(англ. lasso regularization), или регуляризация через манхэттенское расстояние:
Q(β,Xl)=liL(yi,g(xi,β))+λnj|βj|.

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

Запишем задачу настройки вектора параметров β:

Q(β)=li=1Li(β)+λnj=1|βj|,

где Li(β)=L(yi,g(xi,β)) — некоторая ограниченная гладкая функция потерь. Сделаем замену переменных, чтобы функционал стал гладким. Каждой переменной βj поставим в соответствие две новые неотрицательные переменные:

uj=12(|βj|+βj)
vj=12(|βj|βj)

Тогда:

βj=uj+vj
|βj|=uj+vj

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

Q(u,v)=li=1Li(uv)+λnj=1(uj+vj)minu,v
uj0,vj0

Для любого j хотя бы одно из ограничений uj􏰧0 и vj􏰧0 обращается в равенство, иначе второе слагаемое в Q(u,v) можно было бы уменьшить, не изменив первое. Если гиперпараметр λ устремить к , в какой-то момент 2n ограничений обратятся в равенство. Постепенное увеличение гиперпараметра λ приводит к увеличению числа таких j, для которых uj=vj=0, откуда следует, что wj=0. Как говорилось ранее, в линейных моделях это означает, что значения j-го признака игнорируются, и его можно исключить из модели.

Эластичная сеть

Определение:
Эластичная сеть (англ. elastic net regularization):
Q(β,Xl)=liL(yi,g(xi,β))+λ1nj|βj|+λ2jβj2.

Приведенная регуляризация использует как L1, так и L2 регуляризации, учитывая эффективность обоих методов. Ее полезной особенностью является то, что она создает условия для группового эффекта при высокой корреляции переменных, а не обнуляет некоторые из них, как в случае с L1-регуляризацией.

Вероятностная интерпретация регуляризации

Эквивалентная вероятностная задача

Перед нами стоит задача — минимизировать эмпирический риск:

Q(β,Xl)=liL(yi,g(xi,β))minβ

Вероятностная модель данных дает возможность по-другому взглянуть на задачу. Пусть X×Y — является вероятностным пространством. Тогда вместо g(xi,β) задана совместная плотность распределение объектов и классов p(x,y|β).

Для настройки вектора параметров \beta воспользуемся принципом максимума правдоподобия:

p(Xl|β)=lip(xi,yi|β)maxβ

Удобнее рассматривать логарифм правдоподобия:

L(β,Xl)=lnp(Xl|β)=lilnp(xi,yi|β)maxβ

Можно заключить, что задачи в исходном и вероятностном представлении эквивалентны, если положить:

lnp(xi,yi|β)=L(yi,g(xi,β))

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

Допустим, что наряду с параметрической моделью плотности распределения p(x,y|β) имеется еще и априорное распределение в пространстве параметров модели p(β). Чтобы ослабить априорные ограничения, вместо фиксированной функции p(w) вводится параметрическое семейство априорных распределений p(β;γ), где γ — гиперпараметр.

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

p(Xl,β;γ)=p(Xl|β)p(β;γ)

Таким образом, приходим к принципу максимума совместного правдоподобия данных и модели:

Lγ(β,Xl)=lnp(Xl,β;γ)=lilnp(xi,yi|β)+lnp(β;γ)maxβ

Функционал Lγ распадается на два слагаемых: логарифм правдоподобия и регуляризатор, не зависящий от данных. Второе слагаемое ограничивает вектор параметров модели, не позволяя ему быть каким угодно.

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

Нормальный регуляризатор

Пусть вектор β имеет нормальное распределение[1], все его компоненты независимы и имеют равные дисперсии:

βN(0,σ2)

Логарифмируя, получаем квадратичный регуляризатор:

lnp(β;σ)=ln(1(2πσ)n/2exp(β22σ))=12σβ2+const(β),

где const(β) — слагаемое, не зависящее от β, которым можно пренебречь, поскольку оно не влияет на решение оптимизационной задачи. В итоге имеем L2 — регуляризатор.

Лапласовский регуляризатор

Пусть вектор β имеет распределение Лапласа[2], все его компоненты независимы и имеют равные дисперсии:

βLaplace(0,C)

Тогда:

lnp(β;C)=ln(1(2C)nexp(β1C))=1Cβ1+const(β),β1=j|βj|

Распределение Лапласа имеет более острый пик и более тяжёлые «хвосты», по сравнению с нормальным распределением. Его дисперсия равна 2C2.

Аналогично случаю с нормальным регуляризатором, const(β) можно опустить и, таким образом, получаем L1 — регуляризатор.

Регуляризация в линейной регрессии

В линейной регрессии моделируется линейная зависимость между зависимой и независимой переменной. Таким образом, модель алгоритмов для нее состоит из функций вида:

g(x,β)=njβjfj(x)

В итоге оптимизируемый функционал эмпирического риска выглядит следующим образом:

Q(a)=Fβy2,

где F=(fxi)l×n — матрица объекты-признаки, y=(yi)l×1 — целевой вектор, β=(βj)n×1 — вектор параметров. Приравняв нулю производную Q(β) по параметру β, получаем:

β=(FTF)1FTy

В итоге, использовав сингулярное разложение для представления F и проведя МНК-аппроксимизацию целевого вектора y, имеем выражение для нормы вектора \beta:

β2=nj=11λj(vTjy)2

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

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

Гребневая регрессия

К функционалу Q добавляется L2-регуляризатор.

Итоговый минимизируемый функционал с поправкой:

Qλ(β)=||Fβy||2+λ||β||2

Итоговое выражение для параметра \beta:

βτ=(FTF+τIn)1FTy

Таким образом, перед обращением матрицы к ней добавляется "гребень" — диагональная матрица τIn. При этом все её собственные значения увеличиваются на τ, а собственные векторы не изменяются. В результате матрица становится хорошо обусловленной, оставаясь в то же время «похожей» на исходную.

Рассмотрим, какой эффект оказывает добавление гребня. Выразим регуляризованное МНК-решение через сингулярное разложение:

βt=(UD2UT+τIn)1UDVTy=U(D2+τIn)1DVTy=nj=1λjλj+τuj(vTjy)

Теперь найдём регуляризованную МНК-аппроксимацию целевого вектора y:

Fβτ=VDUTβτ=Vdiag(λjλj+τ)VTy=nj=1λjλj+τvj(vTjy)

Как можно видеть, проекции на собственные векторы сокращаются, умножаясь λjλj+τ(0,1).

В сравнении с нерегуляризованным случаем, уменьшается и норма вектора β:

βτ2=D2(D2+τIn)1D1VTy)2=nj=11λj+τ(vTjy)2<nj=11λj(vTjy)2=β2

Поэтому данный метод называют также сжатие или сокращение весов.

Из формул видно, что по мере увеличения параметра τ вектор коэффициентов βτ становится всё более устойчивым и жёстко определённым. Фактически, происходит понижение эффективной размерности решения — это второй смысл термина сжатие. Роль размерности играет след проекционной матрицы.

В нерегуляризованном случае:

neffective=trF(FTF)1FT=tr(FTF)1FTF=trIn=n

В случае с гребнем:

neffective=trF(FTF+τIn)1FT=trdiag(λjλj+τ)=nj=11λj<n

Лассо регрессия

К функционалу Q добавляется L1-регуляризатор.

Итоговый минимизируемый функционал с поправкой:

Qτ(β)=||Fβy||2+τ||β||

Запишем систему для этой регрессии в виде минимизации неизменного функционала Q при неравенстве-ограничении:

{Q(β)=Fβy2minβnj=1|βj|χ

Так как используется L1-регуляризатор, коэффициенты βj постепенно обнуляются с уменьшением χ. Происходит отбор признаков, поэтому параметр χ называют еще селективностью. Параметр χ "зажимает" вектор коэффициентов β, отсюда и название метода — лассо (англ. LASSO, least absolute shrinkage and selection operator).

Сравнение гребниевой и лассо регрессий

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

Продублируем наглядный пример из статьи о вариациях регрессии. Рассмотрим для простоты двумерное пространство независимых переменных. В случае лассо регрессии органичение на коэффициенты представляет собой ромб (|β1|+|β2|t), в случае гребневой регрессии — круг (β21+β22t2). Необходимо минимизировать функцию ошибки, но при этом соблюсти ограничения на коэффициенты. С геометрической точки зрения задача состоит в том, чтобы найти точку касания линии, отражающей функцию ошибки с фигурой, отражающей ограничения на β. Из Рис. 3 интуитивно понятно, что в случае лассо регрессии эта точка с большой вероятностью будет находиться на углах ромба, то есть лежать на оси, тогда как в случае гребневой регрессии такое происходит очень редко. Если точка пересечения лежит на оси, один из коэффициентов будет равен нулю, а значит, значение соответствующей независимой переменной не будет учитываться.

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

Также полезно будет рассмотреть простую модельную задачу. Пусть l=n и матрица объекты-признаки является единичной F=I. Тогда МНК-решение дает вектор коэффициентов β:

β=argmin(li=1(βiyi)2)
βj=yj

В случае с гребниевой регрессией:

βj=yj1+λ

В случае с лассо регрессией:

βj={yjλ/2,yj>λ/2yj+λ/2,yj<λ/20,|yj|λ/2

В итоге на Рис. 4 на графиках с зависимостями βj от yj можно увидеть описанные ранее особенности данных регуляризованных линейных регрессий.

Рис.4. Сравнение гребневой и лассо регрессий, пример для простой модельной задачи.

Регуляризация в алгоритмах

Градиентный спуск

Алгоритм градиентного спуска используют для нахождения аппроксимирующей зависимости, определяя вектор весов wRn, при котором достигается минимум эмпирического риска:

Q(w,Xl)=li=1L(yi,w,xi)minw

В этом методевыбирается некоторое начальное приближение для вектора весов w, затем запускается итерационный процесс, на каждом шаге которого вектор w изменяется в направлении наиболее быстрого убывания функционала Q — противоположно вектору градиента Q(w)=(Q(w)wj)nj=1:

w:=wηQ(w),

где η>0 — величина шага в направлении антиградиента.

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

Qτ(w)=Q(w)+τ2w2

Это приводит к появлению аддитивной поправки в градиенте:

Q′τ (w) = Q′(w) + \tau

В результате правило обновления весов принимает вид:

w := w(1 - \eta \tau) - \eta Q'(w)

Таким образом, вся модификация сводится к появлению неотрицательного множителя (1 − \eta \tau), приводящего к постоянному уменьшению весов.

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

Метод опорных векторов

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

К сожалению, зачастую выборка является линейно неразделимой. В таком случае приходится "ослаблять ограничения", позволяя некоторым объектам попадать на территорию другого класса. Для каждого объекта от отступа отнимается некоторая положительная величина \xi_i, но требуется, чтобы введенные поправки были минимальны. В итоге постановка задачи SVM с мягким отступом (англ. soft-margin SVM) выглядит следующим образом: \begin{cases} \frac{1}{2} \lVert w \rVert^2 + C \sum\limits_{i=1}^\ell \xi_i \to \min\limits_{w, b, \xi} \\ M_i(w, b) \geq 1 - \xi_i, \quad i = 1, \ldots, \ell \\ \xi_i \geq 0, \quad i = 1, \ldots, \ell \\ \end{cases}

Как показано в соответствующем данному алгоритму разделе, эквивалентной задачей безусловной минимизации является: Q(w, b) = \frac{1}{2C} \lVert w \rVert^2 + \sum\limits_{i=1}^\ell \left(1 - M_i(w, b)\right)_+ \to \min\limits_{w, b}

В силу неравенства [M_{i} < 0] \leq (1 - M_{i})_{+}, функционал Q(w, b) можно рассматривать как верхнюю оценку эмпирического риска, к которому добавлен регуляризатор \frac{1}{2C} \|w\|^2.

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

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

Также существуют разновидности SVM с другими регуляризаторами.

  • Метод релевантных векторов (англ. RVM, Relevance vector Machine):
\frac{1}{2}\sum_{i=1}^l(\ln \beta_{i} + \frac{\lambda_{i}^2}{\beta_{i}})
  • Метод опорных векторов с лассо (англ. LASSO SVM):
\mu \sum_{i=1}^n|\beta_{i}|
  • Метод опорных признаков (англ. Support feature machine):
\sum_{i=1}^nR_{\mu}(\beta_{i}), \begin{cases} 2 \mu |\beta_{i}|, |\beta_{i}|<\mu \\ \mu^2 + \beta_{i}^2, |\beta_{i}| \geq \mu \end{cases}

Другие использования регуляризации

Логистическая регрессия

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

Для настройки вектора коэффициентов \beta по обучающей выборке X^l максимизируют логарифм правдоподобия:

L(\beta, X^l) = log_{2}\prod_{i=1}^lp(x_{i}, y_{i}) \rightarrow max_{w}
L(\beta, X^l) = \sum_{i=1}^{l}log_{2}\sigma(\langle \beta, x_{i} \rangle y_{i}) + const(w) \rightarrow max_{w}

L_{2}-регуляризация:

L(\beta, X^l) = \sum_{i=1}^{l}log_{2}\sigma(\langle \beta, x_{i} \rangle y_{i}) - \lambda \| \beta \|^2 + const(w) \rightarrow max_{w}

L_{1}-регуляризация:

L(\beta, X^l) = \sum_{i=1}^{l}log_{2}\sigma(\langle \beta, x_{i} \rangle y_{i}) - \lambda \|\beta \|_{1} + const(w) \rightarrow max_{w}

Аналогично можно использовать и другие регуляризаторы.

Нейронные сети

Регуляризация также используется и в нейронных сетях для борьбы со слишком большими весами сети и переобучением. Однако, в этом случае зануление коэффициентов при использовании L_{1}-регуляризатора не несет в себе смысл "отбора признаков", как в случае с линейными моделями. Регуляризация не снижает число параметров и не упрощает структуру сети.

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

См. также

Примечания

Источники информации