1 L2懲罰項
1.1 懲罰項
1.2 L2懲罰項與過擬合
1.3 多目標值線性模型
2 特徵值分解
3 奇異值分解
4 總結
5 參考資料html
爲了防止世界被破壞,爲了維護世界的和平……很差意思,這篇一開頭就荒腔走板!某些線性模型的代價函數包括懲罰項,咱們從書本或者經驗之談中學習到懲罰項主要有兩個做用:爲了防止模型過擬合,爲了維護模型的簡潔性。常見的懲罰項有L0、L1和L2懲罰項,其中L0懲罰項爲權值向量W中不爲0的份量個數,L1懲罰項爲權值向量W各份量的絕對值之和,這兩個懲罰項皆能夠很好地維持權值W的稀疏性。單目標值時,L2懲罰項爲權值向量W的模,多目標值時,L2懲罰項爲權值矩陣W的奇異值的最大值,L2懲罰項能夠很好地防止模型過擬合。在《機器學習中的範數規則化之(一)L0、L1與L2範數》中,做者直觀地說明了爲何L1在維持簡潔性上更具優點,而L2在防止過擬合上力壓羣芳。機器學習
更進一步說,帶懲罰項的線性模型的求解過程本質上是解含先驗信息的極大似然估計。含有L1懲罰項的線性模型,其假設權值向量W服從雙指數分佈;含有L2懲罰項的線性模型,其假設權值向量服從高斯分佈。在另外的博文中,我將進一步說明其中的奧義。函數
L0懲罰項本就是最原始的模型簡潔性的表示,L1以及單目標值L2懲罰項的幾何意義都比較顯見,咱們也很容易從幾何角度上深入地理解其對防止過擬合或者維持簡潔性的原理。在本文中,咱們主要關注L2懲罰項。性能
過擬合現象,通俗來講就是模型過於適合訓練數據,而在待預測數據上性能很差的現象。然而,真正發生過擬合,是數據和模型兩個方面共同做用形成的:數據在抽樣時可能並不能表明總體,甚至與總體有較大的差別,而足夠複雜的模型在這樣的數據上訓練後,將會產生過擬合現象。例如:在總體中,第i個特徵與目標值並無很強的相關性(平均狀況),可是抽樣恰恰把那些有強相關性的個體抽了出來,若在此數據上訓練未剪枝的決策樹模型,其很難對新的待預測數據作出準確的判斷。學習
單目標值L2懲罰項表示爲權值向量W的模的大小,當線性模型的代價函數中加入單目標值L2懲罰項後,一方面,爲了更好地符合訓練數據,學習的本質促使各特徵之間的差別性增大,即權值向量W的各份量之間的差別增大;另外一方面,爲了知足懲罰項,權值向量W的模必須受限小於必定範圍,也就意味着權值向量W的每一個份量都受限小於必定範圍,份量之間的差別性就不會過於明顯。如此以來,咱們能夠用「瞻前顧後」來形容帶懲罰項的線性模型的訓練過程。spa
然而,多目標值L2懲罰項的意義就不那麼好理解了:權值矩陣W的奇異值的最大值是什麼鬼?.net
要知道多目標值L2懲罰項的意義,咱們先要知道多目標值的線性模型是什麼?簡單來講,多目標值線性模型是多個單目標值線性模型的組合(這不是廢話嘛……),也就是權值向量W變成了權值矩陣W,而目標值向量y變成了目標值矩陣Y。樣本容量爲m,特徵個數爲n,目標值個數爲l的多目標值線性模型表示以下:htm
從上圖咱們能夠看到,由權值矩陣的第k個行向量和樣本的特徵矩陣X將生成目標值矩陣的第k個行向量。blog
仍是讓咱們簡化一下模型:設目標值個數l等於樣本容量m。這時,權值矩陣W變成了m階方陣。get
可能爲了學分,爲了考研,咱們都學習過如何進行特徵值分解,也刷過很多的相關習題。可是,可能有很大一部分不理解爲何要特徵值分解,其有什麼幾何意義?首先,讓咱們迴歸本質,從定義中獲得特徵值和特徵向量有以下性質:
特徵向量是一組特殊的向量,其經過原矩陣W(在本文中是權值矩陣)進行行變換後,不會改變放心,只會改變大小,而縮放的程度爲其對應的特徵值大小。另外,咱們老是找到一組m個線性無關的特徵向量,因而能夠將個體Xj表示成:
在線性模型的定義中,咱們須要將權值矩陣W右乘樣本的特徵矩陣X,對於個體Xj來講:
不難發現,通過權值矩陣W右乘後的樣本與原始樣本相比,其僅僅在各特徵向量方向上進行了伸縮,伸縮的程度爲對應的特徵值大小。從幾何的角度來講,矩陣W右乘向量Xj,本質是在特徵向量組成的m維空間裏進行縮放。
此時,咱們再看,到底什麼決定着個體Xj的目標值呢?若是某個特徵值的絕對值過大,個體Xj的目標值就會近似於對應的伸縮後特徵向量。如下3階的例子很好地進行了說明:
有3個特徵向量q一、q2和q3,對應特徵值爲一、5和1。Xj表示爲(2,2,2) ,W*Xj等於(2,6,6),該目標值近似於特徵向量q2伸長了5倍後的結果。經過該例,咱們得知,當權值矩陣W爲方陣時,特徵值絕對值的最大值決定了目標值的偏向性(偏向於對應的伸縮後的特徵向量),因此,當特徵值絕對值的最大值很大時,那麼待預測的樣本通過權值矩陣W右乘後,都會偏向於對應的伸縮後的特徵向量,這樣變形成了過擬合的現象:偏向性體現了在訓練數據上的盡力符合,可是卻和實際狀況並不相符。
這樣一來,當權值矩陣W爲方陣時,選擇特徵值絕對值的最大值做爲多目標值L2懲罰項就不無道理了。
當權值矩陣W不爲方陣時,沒法進行特徵值分解,咱們只能進行奇異值分解了。根據定義,咱們知道有以下性質:
上式中,v爲W自乘後(m階)進行特徵值分解的特徵向量,lambda爲對應的特徵值開方(奇異值),u爲l維的列向量。與特徵值分解不一樣的是,特徵向量q變成了v向量和u向量。咱們能夠理解,經過W右乘後,m維的v向量其在l維空間中的一一對應u向量,不會發生方向上的變化,僅僅進行伸縮。因而,一樣咱們能夠對樣本進行從新表示和計算:
仍是一樣的配方,仍是熟悉的味道,咱們能夠用奇異值的最大值用來表示任意權值矩陣W的L2懲罰項。
矩陣問題的推導,不少時候都是從方陣開始,而後到任意矩陣。特徵值分解和奇異值分解刻畫了矩陣對向量(或矩陣)的轉換做用,特徵值(奇異值)描繪了轉換力度,特徵向量描繪了轉換方向,特徵值分解的轉換在同一空間中,而奇異值分解的轉換在兩個不一樣空間中進行。