在機器學習中,如果引數過多或者過大,會導致過擬合的情況出現,通常可以在原損失函式上增加乙個正則項,或者叫懲罰項,來解決過擬合的問題。
常用的正則化有兩種,l1正則化和l2正則化,分別對應(式1)和(式2),l1正則項是所有引數的絕對值之和,l2正則項是所有引數的平方和。這裡先下結論,l1正則化可以減小引數,甚至減少引數,l2正則化可以減小引數。
圖1中,要最小化f(x,y),並且使得xy=3,在這裡,前者是被約束項,後者是約束項。這種帶約束條件的最優化通常可以使用拉格朗日數乘法解決,這裡不作數學推導,而是從邏輯上分析如何解決這個問題。
通常,先在座標軸中畫出約束項xy=3的影象,然後遍歷xy=3上的點,然後找出令f(x,y)最小的點,我個人將這種方法簡述成,約束固定,被約束滑動。
圖2中,假設損失函式j只有兩個引數θ1和θ2,等高線的意思即當點(θ1,θ2)在r1上時,j(θ1,θ2)都是相等的。同理,當點(θ1,θ2)在r2上時,j(θ1,θ2)也都是相等的。
實際上,正則化也是一種帶約束項的優化方法,原損失函式j0為被約束項,正則項為約束項。
以l1正則化為例,如果繼續採用約束固定,被約束滑動的方法是行不通的,因為畫不出正則項的影象,因為公式中並沒有指出正則項的範圍。
可以換乙個思路,即約束滑動,被約束固定。即先沿用正常的方法對原損失函式j0進行最小化,得到最優解和它的等高線,即圖3中的l1,然後遍歷l1中的點,找到令正則項最小的點。根據等高線的原理,a、b、c點都是j0的最優解,此時畫出a、b、c對應的正則項的影象,你會發現在c點時,正則項最小,即總的損失函式j最小。
在許多組效果相同的引數解中,盡量選擇最小的那一組引數,這就是正則化的作用。
再仔細看下c點,它的橫座標為0,也就意味著θ1已經不會再對模型產生任何影響了,即模型從兩個引數變為了乙個引數,這就是上文提到的l1正則化能夠減少引數的原因。更專業的說法是,l1正則化能夠生成稀疏矩陣。
再看圖4,假設對於原損失函式j0而言,a點比b點更優,即j0(a)0(b)。在這樣的前提下,對於正則項來說,顯然b點比a點更優,這個時候總的損失函式j的最優解是什麼呢?a還是b?
我個人認為,有可能是a,也有可能是b,甚至是其他的點。因為總的損失函式j最小化原損失函式j0的同時,也要兼顧到正則項的最小化。j要平衡二者,所以它不會一味地追求引數最優,也不會一味地去追求引數最小。
最後看圖5,圖5描述的是l2正則化,由於l2正則項的形狀是個圓,並沒有l1正則項那麼稜角分明,y軸上的點不容易與等高線相交,因此只能做到減小引數。
關於正則化話的理解
正則化與歸一化含 析 正則化 l0 l1 與l2範數 備註 正則化就是對最小化經驗誤差函式上加約束,這樣的約束可以解釋為先驗知識 正則化引數等價於對引數引入先驗分布 約束有引導作用,在優化誤差函式的時候傾向於選擇滿足約束的梯度減少的方向,使最終的解傾向於符合先驗知識 如一般的l norm先驗,表示原...
dropout的正則化理解
dropout是hintion最近2年提出的,源於其文章improving neural newworks by preventing co adaptation of feature detectors.中文的意思 通過阻止特徵檢測器的共同作用來提高神經網路的效能 dropout效果同於baggi...
關於vue元件化的理解
元件化是vue的精髓,vue應用就是由乙個個元件構成的。1.定義 元件是可復用的 vue 例項,準確講它們是vuecomponent的例項,繼承自vue。2.優點 可以增加 的復用性 可維護性和可測試性。提高開發效率,方便重複使用,簡化除錯步驟,提公升整個專案的可維護性,便於協同開發,是高內聚 低耦...