深度學習(九)正則化懲罰項

2021-08-20 08:59:30 字數 2389 閱讀 1253

在機器學習特別是深度學習中,我們通過大量資料集希望訓練得到精確、泛化能力強的模型,對於生活中的物件越簡潔、抽象就越容易描述和分別,相反,物件越具體、複雜、明顯就越不容易描述區分,描述區分的泛化能力就越不好。

比如,描述乙個物體是「方的」,那我們會想到大概這個物體的投影應該是四條邊,兩兩平行且垂直,描述此物體忽略了材質、質量、顏色等等的性狀,描述的物體的多,相反,描述的內容越豐富詳實則約束越多,識別的泛化性就差,代表的事物就少,比如「一條彩色的白色繡花絲質手帕」。

我們可以利用正則化找到更為簡潔的描述方式的量化過程,我們將損失函式改造為:

這就是改造後帶有正則化項的損失函式。那麼為什麼加上了正則化項能在一定程度上避免過擬合呢?以前討論的損失函式只有c0這個部分,在學術上稱為「經驗風險」,後半部分的損失函式(加入的正則化項的部分)叫做「結構風險」。所謂的「經驗風險」就是指由於擬合結果和樣本標籤之間的殘差總和所產生的經驗性差距所帶來的風險----畢竟差距越大,擬合失效的可能性就越大,這當然是風險,是欠擬合的風險;「結構風險」就是剛才提到的模型不夠「簡潔」帶來的風險。為使模型簡潔泛化效能好,我們加入:

含義就是把整個模型中的所有權重w的絕對值加起來除以樣本數量,其中是乙個懲罰的權重,可以稱為正則化係數或者懲罰係數,表示對懲罰的重視程度。如果很重視結構風險,即不希望結構風險太大,我們就加大,迫使整個損失函式向著權值w減小的方向移動,換句話說,w的值越多、越大,整個因子的值就越大,也就是越不簡潔,剛才這種正則化因子叫做l1正則化項,常用的還有一種叫帶有l2正則化項的

將w做了平方後取加和。l1正則化項的導數為

整個導數除了有前面經驗風險對w求導貢獻的部分,還有後面結構風險對w求導貢獻的部分。sgn(w)表示取w的符號,大於0為1,小於0為-1。

帶有l2的正則項導數為

l2正則項中的

以最簡單的線性分類為例,假設樣本特徵為x=[1,1,1,1],模型1的權重w1=[1,0,0,0],模型二權重w2=[0.25,0.25,0.25,0.25],雖然w1x=w2x=1;但是權重w1只關注乙個特徵(畫素點),其餘特徵點都無效,模型具體、複雜、明顯,能識別「正方形棉布材質的彩色手帕」,在訓練集上訓練完後容易導致過擬合,因為測試資料只要在這個畫素點發生些許變化,分類結果就相差很大,而模型2的權重w2關注所有特徵(畫素點),模型更加簡潔均勻、抽象,能識別「方形」,泛化能力強。通過l2正則化懲罰之後,模型1的損失函式會增加(λ/(2*4))*(12)=λ/8,模型2的損失函式會增加(λ/(2*4))*(4*(1/4)2)=λ/32,顯然,模型2的更加趨向讓損失函式值更小。

最後從示意圖的視覺化角度直觀理解下正則化的實現過程。

假設在乙個模型中只有兩個維度w1和w2作為待定係數,最終的理想解在圓心的位置,當然這裡畫出來的是在第一象限,但是實際上也可能出現在別的位置。由於初始化的時候w1和w2可能會在別的位置,當然也會在

二、三、四象限中,在訓練的過程中會逐漸從這個初始化的位置向圓心靠攏。

圓心周圍的一圈一圈的線其實是損失函式等高線,也就是說當w1和w2所組成的座標點(w1,w2)在這一圈上的任意位置都會產生相同大小的損失函式,而由於初始化位置不確定,所以可能會出現在一圈的任意位置,那麼顯然遠離座標系原點(0,0)的(w1,w2)點會產生更大的結構風險,因為其擁有風大的w1和w2值,更為不簡潔。

下面花色的圓圈和正方形分別代表由l2和l1所產生的損失值,左側是l2,右側是l1的,邊緣的圓圈線和直線分別表示它們各自的損失函式值等高線。在加入這一項之後,損失由兩部分產生,所以損失函式在收斂的時候要兼顧「小」和「精確」兩個特性。經驗損失可以認為是「精確」這個特性,會讓解朝向圓圈的重心收斂,而結構損失是「小」這個特性,會讓解向著原點收斂,最後兼顧兩者都在比較小的位置上,圖中的圖形交點w。就是正則化後權重值w的解。由於多維空間無法畫出,大家可以想象一下幾百萬維空間中w被正則化項拉向圓點的過程。

一般在一次模型搭建過程中,通常先不加入正則化項,先只用帶有經驗風險項的損失函式來訓練模型,當模型訓練結束後,再嘗試加入正則化項進行改進。懲罰係數λ一般可以設定為1、5、10、15、20……這樣的值進行嘗試,也可以用1、100、50、25(75)這種二分法的方法嘗試,去觀察當前的λ是不是有效的提高了準確率accuracy。

下面再來看下正則化項在神經網路中的重要作用。

懲罰係數λ=0.001伸出的爪子本質就是過擬合了(由於懲罰的程度不夠),λ=0.1泛化能力強。

深度學習 正則化

1 為啥l1 更具有稀疏性 兩種解釋 1 從l 1和l2 的 來看,貝葉斯學派認為僅僅使用資料是不夠的,還要加入先驗知識,l1 等於拉普拉斯先驗,l2 等於高斯先驗,為了推導和計算方便,會對分布函式取對數,然後再去優化,最後由於引數考慮了 資料先驗,學到的規則更加接近實際,拉普拉斯密度函式的圖形和表...

深度學習 正則化

了解什麼是過擬合問題,以下面為例,我們能夠看到有兩個類別,藍色是分類曲線模型。模型過擬合是因為模型過於複雜,可以通過對特徵變數係數的調整來避免過擬合,而引入正則化正是為了實現這個目的,具體如何實現將在下一節說明。常見的正則化方法有這幾種 說明 這裡的f 範數指的是frobenius範數,和logis...

ML 範數與正則化懲罰

l1範數是我們經常見到的一種範數,它的定義如下 表示向量x中非零元素的絕對值之和。l1範數有很多的名字,例如我們熟悉的曼哈頓距離 最小絕對誤差等。使用l1範數可以度量兩個向量間的差異,如絕對誤差和 sum of absolute difference 由於l1範數的天然性質,對l1優化的解是乙個稀疏...