【機器學習】什么是損失函數?


一、定義

損失函數(loss function)是用來估量你模型的預測值f(x)與真實值Y的不一致程度,它是一個非負實值函數,通常使用L(Y, f(x))來表示,損失函數越小,模型的魯棒性就越好。

 

經典機器學習算法,他們最本質的區別是分類思想(預測f(x)的表達式)不同,有的是基於概率模型,有的是動態規划,表象的區別就是最后的損失函數不同。

 

二、分類

損失函數(loss function)分為經驗風險損失函數結構風險損失函數,經驗風險損失函數反映的是預測結果和實際結果之間的差別,結構風險損失函數則是經驗風險損失函數加上正則項(L0、L1(Lasso)、L2(Ridge))。

 

三、常見損失函數

1、0-1損失函數(zero-one loss)

    0-1損失是指,預測值和目標值不相等為1,否則為0:

 

特點:

    (1)0-1損失函數直接對應分類判斷錯誤的個數,但是它是一個非凸函數,不太適用;該損失函數不考慮預測值和真實值的誤差程度,也就是說只要預測錯誤,預測錯誤差一點和差很多是一樣的。

    (2)感知機就是用的這種損失函數。但是相等這個條件太過嚴格,因此可以放寬條件,即滿足 [公式] 時認為相等,

[公式]

    這種損失函數用在實際場景中比較少,更多的是用倆衡量其他損失函數的效果。

 

2、絕對值損失函數

絕對值損失函數是計算預測值與目標值的差的絕對值:

 

3. log對數損失函數

主要在邏輯回歸中使用,樣本預測值和實際值的誤差符合高斯分布,使用極大似然估計的方法,取對數得到損失函數,log對數損失函數的標准形式如下:

[公式]

    損失函數L(Y,P(Y|X))L(Y,P(Y|X))是指樣本X在分類Y的情況下,使概率P(Y|X)達到最大值。

    經典的對數損失函數包括entropy和softmax,一般在做分類問題的時候使用(而回歸時多用絕對值損失(拉普拉斯分布時,μ值為中位數)和平方損失(高斯分布時,μ值為均值))。

特點:

    (1) log對數損失函數能非常好的表征概率分布,在很多場景尤其是多分類,如果需要知道結果屬於每個類別的置信度,那它非常適合。

    (2)健壯性不強,相比於hinge loss對噪聲更敏感。

    (3)邏輯回歸的損失函數就是log對數損失函數。

 

4. 平方損失函數

實際結果和觀測結果之間差距的平方和,一般用在線性回歸中,可以理解為最小二乘法,平方損失函數標准形式如下:

[公式]

特點:經常應用於回歸問題。

 

5. 指數損失函數(exponential loss)

指數損失函數的標准形式如下:

[公式]

特點:對離群點、噪聲非常敏感。經常用在AdaBoost算法中。

 

6. 鉸鏈損失函數(Hinge 損失函數)

Hinge損失函數標准形式如下:

[公式]

特點:

    (1)hinge損失函數表示如果被分類正確,損失為0,否則損失就為 [公式] 。SVM就是使用這個損失函數。

    (2)一般的 [公式] 是預測值,在-1到1之間, [公式] 是目標值(-1或1)。其含義是, [公式] 的值在-1和+1之間就可以了,並不鼓勵 [公式] ,即並不鼓勵分類器過度自信,讓某個正確分類的樣本距離分割線超過1並不會有任何獎勵,從而使分類器可以更專注於整體的誤差。

    (3) 健壯性相對較高,對異常點、噪聲不敏感,但它沒太好的概率解釋。

 

7. 感知損失(perceptron loss)函數

感知損失函數的標准形式如下:

[公式]

特點:是Hinge損失函數的一個變種,Hinge loss對判定邊界附近的點(正確端)懲罰力度很高。而perceptron loss只要樣本的判定類別正確的話,它就滿意,不管其判定邊界的距離。它比Hinge loss簡單,因為不是max-margin boundary,所以模型的泛化能力沒 hinge loss強。

 

8. 交叉熵損失函數 (Cross-entropy loss function)

交叉熵損失函數的標准形式如下:

[公式]

注意公式中 [公式] 表示樣本, [公式] 表示實際的標簽, [公式] 表示預測的輸出, [公式] 表示樣本總數量。

特點:

    (1)本質上也是一種對數似然函數,可用於二分類和多分類任務中。

    二分類問題中的loss函數(輸入數據是softmax或者sigmoid函數的輸出):

[公式]

    多分類問題中的loss函數(輸入數據是softmax或者sigmoid函數的輸出):

[公式]

    (2)當使用sigmoid作為激活函數的時候,常用交叉熵損失函數而不用均方誤差損失函數,因為它可以完美解決平方損失函數權重更新過慢的問題,具有“誤差大的時候,權重更新快;誤差小的時候,權重更新慢”的良好性質。

 

補充:對數損失函數和交叉熵損失函數應該是等價的。下面說明由知乎用戶@Areshyy提供

 

 

 參考:https://zhuanlan.zhihu.com/p/58883095

           https://blog.csdn.net/chkay399/article/details/81878157

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM