正則化是一種為了減小測試誤差的行為(有時候會增加訓練誤差)。我們在構造機器學習模型時,最終目的是讓模型在面對新資料的時候,可以有很好的表現。當你用比較複雜的模型比如神經網路,去擬合資料時,很容易出現過擬合現象(訓練集表現很好,測試集表現較差),這會導致模型的泛化能力下降,這時候,我們就需要使用正則化,降低模型的複雜度。
對於向量x=[
x1,x
2,…,
xm]x=\left[x_, x_, \ldots, x_\right]
x=[x1
,x2
,…,x
m],常用的範數包括:
∥ x∥
1=∑i
=1m∣
xi∣\|x\|_ =\sum_^\left|x_\right|
∥x∥1=
i=1∑
m∣x
i∣即向量元素絕對值之和,x
xx到零點的曼哈頓距離。
∥ x∥
1=∑i
=1mx
i2\|x\|_ =\sqrt^ x_^}
∥x∥1=
i=1∑
mxi
22-範數也稱為euclid範數(歐幾里得範數,常用計算向量長度),即向量元素絕對值的平方和再開方,表示x
xx到零點的歐式距離。
∥ x∥
p=(∑
i=1m
∣xi∣
p)1p
\|x\|_ =\left(\sum_^\left|x_\right|^\right)^}
∥x∥p=
(i=1
∑m∣
xi∣
p)p1
即向量元素絕對值的p次方和的1/p次冪,表示x
xx到零點的p階閔氏距離。
∥ x∥
∞=maxi∣
xi∣\|x\|_ =\max _ \left|x_\right|
∥x∥∞=
imax∣
xi∣
當p趨向於正無窮時,即所有向量元素絕對值中的最大值。
當統計模型把隨機誤差和雜訊也考慮進去而不僅僅是考慮資料的基礎關聯時,就會出現過過擬合。正則化通過新增引數的懲罰項,防止模型對資料過擬合。
min θ
1n∑i
=1nl
(yi,
fθ(x
i))+
λω(θ
)\min _ \frac \sum_^ \mathcal\left(y_, f_\left(x_\right)\right)+\lambda \omega(\theta)
θminn
1i=
1∑n
l(yi
,fθ
(xi
))+
λω(θ)l1
l1l1
正則化時,對應懲罰項為l1l1
l1範數:ω(θ
)=∣∣
θ∣∣1
=∑m=
1m∣θ
m∣minθ1
n∑i=
1nl(
yi,f
θ(xi
))+λ
∥θ∥1
\begin &\omega(\theta)=|| \theta||_ =\sum_^ | \theta_| \newline &\min _ \frac \sum_^ \mathcal\left(y_, f_\left(x_\right)\right)+\lambda\|\theta\|_ \end
ω(θ)=
∣∣θ∣
∣1=
m=1∑
m∣θ
m∣
θminn
1i=
1∑n
l(yi
,fθ
(xi
))+
λ∥θ∥
1l2l2
l2正則化時,對應懲罰項為l2l2
l2範數的平方:
紅色的橢圓和藍色的區域的切點就是目標函式的最優解,如果是圓,則很容易切到圓周的任意一點,但是很難切到座標軸上,因此沒有稀疏。但是如果是菱形或者多邊形,則很容易切到座標軸上,導致w
ww中許多項變成零,因此很容易產生稀疏的結果。
L1,L2正則化的區別
1,l1會趨向於產生少量的特徵,而其他不重要的特徵都為0,會產生稀疏性,可以用來選擇特徵,也能一定程度上防止過擬合。而l 2會選擇更多的特徵,特徵值都趨近於0,防止過擬合。lasso在選擇特徵時非常有用,而ridge就只是規則化而已。所以在所有特徵中只有少數特徵起重要作用的情況下,選擇lasso進行...
L1 L2正則化的區別
簡單讀了一些文章,總結一下l1和l2正則化的區別吧,似乎是非常容易被問到的乙個問題。機器學習中,損失函式後面一般會加上乙個額外項,常用的是l1 norm和l2 norm,即l1範數和l2範數。可以看作是損失函式的懲罰項。正則化項一般是模型複雜度的單調遞增函式,模型越複雜,正則化值就越大。上面的目標函...
L1 L2損失 和 L1 L2正則化
1 l1損失 最小絕對值誤差 最小化 值 真實值 的絕對值,魯棒性強。2 l2損失 最小平方誤差 最小化 值 真實值 的平方,對於大於1的數,平方更大,因此對樣本敏感。3 l1正則化 l1正則化和l2正則化可以看做是損失函式的懲罰項,l1正則化是指權值向量中各個元素的絕對值之和。l1正則化可以產生稀...