1.過擬合的基礎概念:
首先,用乙個例子來理解什麼是過擬合,假設我們要根據特徵分類。
請看下面三幅圖,x1、x2、x3:
這三幅圖很容易理解:
1、 圖x1明顯分類的有點欠缺,有很多的「男人」被分類成了「女人」。
2、 圖x2雖然有兩個點分類錯誤,但是能夠理解,畢竟現實世界有噪音干擾,比如有些人男人留長髮、化妝、人妖等等。3、 圖x3分類全部是正確的,但是看著這副,明顯覺得過了,連人妖都區分的出來,可想而知,學習的時候需要更多的引數項,甚至將***官的形狀、喉結的大小、有沒有鬍鬚特徵等都作為特徵取用了,總而言之f(x)多項式的n特別的大,因為需要提供的特徵多,或者提供的測試用例中我們使用到的特徵非常多(一般而言,機器學習的過程中,很多特徵是可以被丟棄掉的)。
總結一下三幅圖:
x1我們稱之為【欠擬合】
x2我們稱之為【分類正擬合】,隨便取的名字,反正就是容錯情況下剛好的意思。
x3我們稱之為【過擬合】,這種情況是我們不希望出現的狀況,為什麼呢?很簡單,它的分類只是適合於自己這個測試用例,對需要分類的真實樣本而言,實用性可想而知的低.
目標函式一般描述為:
其中:f(xi)=w0
x0+w
1x1+
w2x2
+w3x
3+..
...+
wnxn
w 0x
0+w1
x1+w
2x2+
w3x3
+...
..+w
nxn結合上圖和上式,解決過擬合問題:
顯而易見,我們應該、而且只能去看【過擬合】的f(x)形式吧?
顯而易見,我們從【過擬合】的圖形可以看出f(x)的涉及到的特徵項一定很多吧,即等等很多吧?
顯而易見,n很大的時候,是等數量增長的吧?
顯而易見,w係數都是學習來的吧?
so,現在知道這些資訊之後,如何去防止過擬合,我們首先想到的就是控制n的數量吧,即讓n最小化吧,而讓n最小化,其實就是讓w向量中項的個數最小化吧?(所以個人理解:並不是參數量少就可以方式過擬合,而是通過減少參數量來去除一些冗餘的特徵,來防止過擬合)
其中,w=(w0
,w1,
w2,w
3,..
.wn w0,
w1,w
2,w3
,...
wn) ps: 可能有人會問,為什麼是考慮w,而不是考慮x?很簡單,你不知道下乙個樣本x輸入的是什麼,所以你怎麼知道如何去考慮x呢?相對而言,在下一次輸入,即第k個樣本之前,我們已經根據前k-1次測試樣本的輸入,計算(學習)出了w.就是這麼個道理.x1…xn是第k個樣本學習到的特徵。
接著思考,如何求解「讓w向量中項的個數最小化」問題,就是乙個約束問題(規則化)。注1
2.l0-l2正則化概念:
l0正則化的值是模型引數中非零引數的個數。
l1正則化表示各個引數絕對值之和。
l2正則化標識各個引數的平方的和的開方值。
l0表示為r(d)=|w
|0| w|
0,解決「讓w向量中項的個數最小化」問題:使公式中前一項最小並且使|w
|0| w|
0最小,我們使公式的和最小。從而解釋了為什麼r(d)能夠方式過擬合問題。只不過實際求解使比較複雜,更願意選擇l1正規化。
l1表示為r(d)=
λ λ
|w|1 |w|
1,l1範數和0範數可以實現稀疏,通過減少參數量來去除一些冗餘的特徵,來防止過擬合,但l1因具有比l0更好的優化求解特性而被廣泛應用.
l2表示為r(d)=λ2
λ
2||w
||2 ||w
||2,讓l2範數的正則項||w||2最小,可以使得w的每個元素都很小,都接近於0,但與l1範數不同,它不會讓它等於0,而是接近於0,這裡是有很大的區別的哦;所以大家比起1範數,更鍾愛2範數。因此l2防止過擬合,可以解釋為:越小的引數說明模型越簡單,越簡單的模型越不容易產生過擬合現象。這是因為越複雜的模型,越是會嘗試對所有的樣本進行擬合,甚至包括一些異常樣本點,這就容易造成在較小的區間裡**值產生較大的波動,這種較大的波動也反映了在這個區間裡的導數很大,而只有較大的引數值才能產生較大的導數。因此複雜的模型,其引數值會比較大。
一種含l2的結構是: mi
n∑ni
(y−w
tx)+
λ2||
w||2
2 min
∑in(
y−wt
x)+λ
2||w
||22
3.幫助理解:
L1與L2正則化
在機器學習中,我們茶廠聽到l1和l2正則化,用他們來防止過擬合,但是在什麼情況下使用它們和它們的原理是什麼樣的可能一知半解。所以在本部落格中將對l1和l2做簡單的介紹和應用場景。如果引數過多,模型過於複雜,容易造成過擬合 overfit 即模型在訓練樣本資料上表現的很好,但在實際測試樣本上表現的較差...
L1與L2正則化
尊重原創,我沒有改動乙個字。過擬合示意圖 我們知道,過擬合就是所謂的模型對可見的資料過度自信,非常完美的擬合上了這些資料,如果具備過擬合的能力,那麼這個方程就可能是乙個比較複雜的非線性方程 正是因為這裡的 x 3 和 x 2 使得這條虛線能夠被彎來彎去,所以整個模型就會特別努力地去學習作用在 x 3...
L1 與 L2 正則化
參考這篇文章 1.l2 正則化直觀解釋 l2 正則化公式非常簡單,直接在原來的損失函式基礎上加上權重引數的平方和 l ein jw2j l ein jwj2 其中,ein 是未包含正則化項的訓練樣本誤差,是正則化引數,可調。但是正則化項是如何推導的?接下來,我將詳細介紹其中的物理意義。我們知道,正則...