1. 程式人生 > >CS231n課程筆記3.1:線性分類器(SVM,softmax)的誤差函式、正則化

CS231n課程筆記3.1:線性分類器(SVM,softmax)的誤差函式、正則化

CS231n簡介

課程筆記

這篇是線性分類器的第二部分,回憶線性分類器的線性體現在score的獲得,即score = Wx+b,然後predict_label = argmax(score)。具體細節以及關於線性分類器的解釋請參考CS231n課程筆記2.2:線性分類器
如果不考慮影象領域的應用背景,線性分類器可以看做是對於高維空間進行切分的超平面,如何評價超平面的好壞,進而找出在該評價指標中最好的超平面(即最好的W與b),則是本節所涉及內容。
Lecture中給出個很好的實時網站http://vision.stanford.edu/teaching/cs231n/linear-classify-demo/

,可以用於測試不同的Loss, Regularization所能得到的不同結果。

1. 誤差函式Loss Function

1.1. Hinge Loss Function

Hinge Loss是SVM的Loss+Regularization解釋中的Loss部分的形式,這裡的Hinge Loss是SVM多分類的一種實現方法,另一種常見方法是one vs all
Hinge誤差函式的形式如下,其中s_i表示label=i對應的score,y_i為真值對應的label。:
Hinge Loss
由Hinge的形式可以看出,其允許非真值label的score小於等於真值的score-1,對於超過界限的部分累計。(其在意差資料有多差,而不在意好資料有多好

。)
Hinge Loss的範圍為0-inf之間。

1.2. Softmax Classifier

Softmax Classifier是Logistic Regression(邏輯斯蒂迴歸)在多分類問題上的推廣,是典型的判別模型。它把score理解為各個類別的未歸一化的log概率,或者可以認為它假設有如下概率模型:
softmax Possibility
,然後用最大似然之後得到的誤差方程。
具體形式為:
Softmax Loss
由其形式可以看出,Softmax不僅關注s_y_i是否足夠差,而且在意其是否足夠好。

2. 正則項Regularization

Lecture中對於正則項的引入是在Hinge Loss之後,因為Hinge Loss可能存在多種W,b的解(常見的,在train accuracy=100%的情況下,W,b都乘以相同的倍數Loss仍然0

),所以需要加入正則項對W,b做限制,可以得到唯一解。(SVM的常見推導請見CS229,是為了最大化支援向量的長度,經過拉格朗日變換之後,得到了Hinge Loss+L2 regularization的形式)。
Lecture中還給出了常見的Loss Function+c*Regularization的形式。
常用的正則項有L2(平方和),L1(絕對值和),L1+L2。
正則項的另外兩種解釋:1. 對於引數進行概率假設,之後套用Bayes公式 (P(W|X)=P(X|W)*P(W),其中argmax_W(P(X|W))即可得到損失函式,argmax_W(P(W))就會得到正則化函式,例如L2為標準高斯分佈)2.如果利用拉格朗日乘子法對於Loss+c*Reg的目標方程做逆變換,則可以把正則項轉換為高維空間中的某種限制條件,在該限制條件中最小Loss(這種解釋可以用於理解不同正則化方程得到的不同效果,如L1的稀疏性等) (具體參考2011的龍星計劃)
加入正則化的一種目的是減少train accuracy與test accuracy的gap。
Lecture中對於使用L2的一種解釋,L2會使得score依賴於更多的特徵。
L2 Reg