計算機視覺面試考點(6)正則化

計算機視覺工程師在面試過程中主要考察三個內容:圖像處理、機器學習、深度學習。然而,各類資料紛繁複雜,或是簡單的知識點羅列,或是有着詳細數學推導令人望而生畏的大部頭。爲了督促自己學習,也爲了方便後人,決心將常考必會的知識點以通俗易懂的方式設立專欄進行講解,努力做到長期更新。此專欄不求甚解,只追求應付一般面試。希望該專欄羽翼漸豐之日,可以爲大家免去尋找資料的勞累。每篇介紹一個知識點,沒有先後順序。想了解什麼知識點可以私信或者評論,如果重要而且恰巧我也能學會,會盡快更新。最後,每一個知識點我會參考很多資料。考慮到簡潔性,就不引用了。如有冒犯之處,聯繫我進行刪除或者補加引用。在此先提前致歉了!

基本概念

L0範數:參數空間中0元素的個數。
L1範數:參數的絕對值之和。
L2範數:參數的平方的和再開根號。

正則化:在模型的訓練過程中,懲罰參數的大小來降低模型的複雜度。
正則化方法:L1正則化、L2正則化。

稀疏:參數空間中0的個數越多,參數空間越稀疏,L0範數越小。
舉例:
兩組參數 , b更加稀疏
a = [1,2,3,4,5,6] L0範數爲6
b = [0,2,5,0,0,0] L0範數爲2

原理

L1正則化

在這裏插入圖片描述
J是損失,J0是原有損失,後者是L1正則化
可以看出,參數越大,L1範數越大,損失越大
所以L1正則化可以約束參數的大小
主要目的:讓參數變小,使參數稀疏,緩解過擬合(側重稀疏)

L2正則化

在這裏插入圖片描述
只需要說明一點
L2正則化用的不是L2範數 而是L2範數的平方
主要目的:讓參數變小,緩解過擬合(側重過擬合)

細節

爲什麼參數變小可以緩解過擬合?
兩個角度:

  1. 參數變得很小後,相應的輸入特徵可以忽略不計,降低了模型的複雜度。
  2. 參數變小後,輸入變化較大,輸出變化相對不大,抗擾動能力強。

爲了讓參數稀疏,爲什麼不用L0正則化?
訓練的過程中免不了求導操作
大家可以想象一下L0範數的公式。。。
想象不出來吧
所以L1比L0更容易優化求解
所以使用L1正則化

參數稀疏的意義?
參數稀疏後,一些參數等於0
輸入的某些維度乘0後就失去了意義
換句話說,放棄了輸入中一些無用的特徵
一方面,可以讓我們發現主要特徵,方便分析
另一方面,捨棄了無用特徵,降低了模型複雜度,緩解了過擬合

爲何L1側重稀疏,L2不可以?
假設只有兩個參數:w1 w2
L1正則化等價於|w1|+|w2|<=r 也就是下圖的菱形內部,包含邊界
在這裏插入圖片描述

L2正則化等價於|w1|^2 +|w2|^2<=r 也就是下圖圓的內部,包含邊界
在這裏插入圖片描述
參數和損失的等高線的交點如下圖:
在這裏插入圖片描述
其中紫色部分代表損失小,越往外,損失越大
如果參數可以變大,也就是菱形和圓變大,那麼我們可以將損失優化到紫色
可以看出,L1正則化參數更容易與等高線相交於座標軸,也就是參數更容易等於0

爲什麼L1正則化參數更容易與等高線相交於座標軸?
如下圖,顯然
參數與等高線相交於座標軸的條件是
等高線的中心落在紅色區域
顯然左側的紅色區域大一些
在這裏插入圖片描述


歡迎討論 歡迎吐槽

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章