各种损失函数比较-带你斩获offer
損失函數(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 的叫法來源于其損失函數的圖形,為一個折線,通用的函數表達式為:
L(mi)=max(0,1?mi(w))L(mi)=max(0,1?mi(w)) 。
在機器學習中,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分類器是最常用的兩個分類器。
在Softmax分類器中, 函數映射f(xi,W)f(xi,W) 保持不變,但將這些評分值看做每個分類未歸一化的對數概率,且將折葉損失替換為交叉熵損失(cross-entropy loss),公式如下:
Li=?log(efyi∑jefj)Li=?log?(efyi∑jefj)
fjfj 個元素,和SVM一樣,整個數據集的損失值是數據集中所有樣本數據的損失值Li的均值和正則化損失之和。
概率論解釋:
解釋為給定數據xixi 的歸一化概率。
實際操作注意事項——數值穩定: 編程實現softmax函數計算的時候,中間項efyiefyi ,并把它變換到求和之中,就能得到一個等價公式:
總結
以上是生活随笔為你收集整理的各种损失函数比较-带你斩获offer的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android官方开发文档Trainin
- 下一篇: 特定热点事件监控与分析项目