損失函數(Loss function)是用來估量你模型的預測值 f(x)f(x)值。
2. 常用損失函數
常見的損失誤差有五種:
1. 鉸鏈損失(Hinge Loss):主要用於支持向量機(SVM) 中;
2. 互熵損失 (Cross Entropy Loss,Softmax Loss ):用於Logistic 迴歸與Softmax 分類中;
3. 平方損失(Square Loss):主要是最小二乘法(OLS)中;
4. 指數損失(Exponential Loss) :主要用於Adaboost 集成學習算法中;
5. 其他損失(如0-1損失,絕對值損失)
2.1 Hinge loss
Hinge loss 的叫法來源於其損失函數的圖形,爲一個折線,通用的函數表達式爲:
在機器學習中,Hing 可以用來解 間距最大化 的問題,最有代表性的就是SVM 問題,最初的SVM 優化函數如下:
因此, SVM 的損失函數可以看作是 L2-norm 和 Hinge loss 之和。
2.2 Softmax Loss
有些人可能覺得邏輯迴歸的損失函數就是平方損失,其實並不是。平方損失函數可以通過線性迴歸在假設樣本是高斯分佈的條件下推導得到,而邏輯迴歸得到的並不是平方損失。在邏輯迴歸的推導中,它假設樣本服從伯努利分佈(0-1分佈),然後求得滿足該分佈的似然函數,接着取對數求極值等等。而邏輯迴歸並沒有求似然函數的極值,而是把極大化當做是一種思想,進而推導出它的經驗風險函數爲:最小化負的似然函數(即maxF(y,f(x))→min−F(y,f(x)))maxF(y,f(x))→min−F(y,f(x)))。從損失函數的視角來看,它就成了Softmax 損失函數了。
log損失函數的標準形式:
邏輯迴歸的P(Y=y|x)P(Y=y|x) ):
其中
2.3 Squared Loss
最小二乘法是線性迴歸的一種,OLS將問題轉化成了一個凸優化問題。在線性迴歸中,它假設樣本和噪聲都服從高斯分佈(中心極限定理),最後通過極大似然估計(MLE)可以推導出最小二乘式子。最小二乘的基本原則是:最優擬合直線應該是使各點到迴歸直線的距離和最小的直線,即平方和最小。
平方損失(Square loss)的標準形式如下:
當樣本個數爲nn 表示殘差,整個式子表示的是殘差平方和 ,我們的目標就是最小化這個目標函數值,即最小化殘差的平方和。
在實際應用中,我們使用均方差(MSE)作爲一項衡量指標,公式如下:
2.4 Exponentially Loss
損失函數的標準形式是:
關於Adaboost的詳細推導介紹,可以參考Wikipedia:AdaBoost或者李航《統計學習方法》P145。
2.5 其他損失
0-1 損失函數
上述幾種損失函數比較的可視化圖像如下:
3. Hinge loss 與 Softmax loss
SVM和Softmax分類器是最常用的兩個分類器。
- SVM將輸出 f(xi,W)f(xi,W) 作爲每個分類的評分(沒有規定的標準,難以直接解釋);
- 與SVM 不同,Softmax 分類器可以理解爲邏輯迴歸分類器面對多個分類的一般話歸納,其輸出(歸一化的分類概率)更加直觀,且可以從概率上解釋。
在Softmax分類器中, 函數映射f(xi,W)f(xi,W) 保持不變,但將這些評分值看做每個分類未歸一化的對數概率,且將折葉損失替換爲交叉熵損失(cross-entropy loss),公式如下:
fjfj 個元素,和SVM一樣,整個數據集的損失值是數據集中所有樣本數據的損失值Li的均值和正則化損失之和。
概率論解釋:
解釋爲給定數據xixi 的歸一化概率。
實際操作注意事項——數值穩定: 編程實現softmax函數計算的時候,中間項efyiefyi ,並把它變換到求和之中,就能得到一個等價公式: