【機器學習基礎第2期】機器學習中的範數規則化之L0、L1與L2範數、核範數

規則化項符合奧卡姆剃刀原理:在所有可能選擇的模型中,我們應該選擇能夠很好的解釋已知數據並且十分簡單的模型。

1.L0範數是指向量中非0元素的個數。使用L0範數來規則化矩陣的話,即希望W的大部分元素都是0,即讓參數W是稀疏的。
2.L1範數是指向量中各個元素的絕對值之和。

L1範數和L0範數都可以實現稀疏,使用L1而不是L0的原因:1).L0範數難以求解。2)L1範數是L0範數的最優凸近似。

進行參數稀疏的原因?
1).特徵選擇:輸入的特徵有很多和最終的輸出結果是沒有關係或者不提供信息的。考慮這些特徵在訓練時使得誤差更小,但是在測試時對於正確的結果會造成干擾。通過稀疏將這些特徵權值設爲0,去掉無意義的特徵。
2).可解釋性:如果特徵數量過多,在實際問題中對於造成結果的原因進行分析時比較困難

3.L2範數是向量元素的各平方和然後求其平方根。使得L2範數規則項最小,可以使得W的每個元素都很小,都接近於0,但是不等於0。

  • L2範數的優點:
    1.L2範數可以防止過擬合,提升模型的泛化能力。
    2.L2範數有助於處理condition number不好的情況下矩陣求逆困難的問題。
  • 這裏引入優化的難題:
    1.局部最小值:所要找的是全局最小值,局部最小值太多,優化算法就容易陷入局部最小不能自拔。
    2.Ill-condition 病態問題:即輸入改變很小的情況下,輸出發生很大的改變。對於一個非奇異的方陣的condition number如下:K(A)=||A|| ||A的逆||
    Condition number是一個矩陣穩定性或者敏感度的度量,如果一個矩陣的condition number 在1附近,它就是well-conditioned,如果遠大於1就是ill-condition的。

L1會趨向於產生少量的特徵,而其他的特徵都是0,而L2會選擇更多的特徵,這些特徵都會接近於0。Lasso在特徵選擇時候非常有用,而Ridge就只是一種規則化而已。

4.核範數是指矩陣奇異值得和,作用是用來約束低秩。
矩陣的秩是用來度量矩陣之間的相關性,矩陣的相關性帶有矩陣的結構信息。矩陣的相關性很強的話,矩陣就可以投影到更低維的線性子空間。矩陣的秩是非凸的,在優化問題裏面難以求解,矩陣的秩的凸近似就是核範數||W||*。
常見應用:
1.矩陣填充:低秩矩陣重構問題,在推薦系統中,利用已有的元素對於空白元素進行填充。
2.魯棒PCA:PCA是使用另一組基重新描述所得到的數據空間,在這組基下,能儘量的揭示原有數據之間的關係,最大程度的去除冗餘和噪音的干擾。魯棒PCA是指數據包含結構信息和噪聲。將矩陣分解爲兩個矩陣相加:一個是低秩的內部含有一定的結構信息,一個是稀疏的內部含有噪聲而噪聲是稀疏的。
這裏寫圖片描述
凸函數是一個定義在某個向量空間的凸子集C上的實值函數F,並且對於凸子集C中任意兩個向量x1,x2。f((x1+x2)/2)<=(f(x1)+f(x2))/2,則f(x)是定義在凸子集上的凸函數。

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