機器學習中常見的損失函數


損失函數是用來估量你模型的預測值f(x)與真實值Y的不一致程度,它是一個非負實值函數,通常使用L(Y, f(x))來表示,損失函數越小,模型的魯棒性就越好。損失函數是經驗風險函數的核心部分,也是結構風險函數重要組成部分。模型的結構風險函數包括了經驗風險項和正則項,通常可以表示成如下式子:

其中,前面的均值函數表示的是經驗風險函數,L代表的是損失函數,后面的Φ是正則化項或者叫懲罰項,它可以是L1,也可以是L2,或者其他的正則函數。整個式子表示的意思是找到使目標函數最小時的θ值。下面主要列出幾種常見的損失函數:

n log對數損失函數(邏輯回歸)

平方損失函數(最小二乘法

指數損失函數(Adaboost

n Hinge損失函數(SVM

n 0-1損失

n 絕對值損失

  1. log對數損失函數(邏輯回歸) 

Logistic回歸的損失函數就是對數損失函數,在Logistic回歸的推導中,它假設樣本服從伯努利分布(0-1)分布,然后求得滿足該分布的似然函數,接着用對數求極值。Logistic回歸並沒有求對數似然函數的最大值,而是把極大化當做一個思想,進而推導它的風險函數為最小化的負的似然函數。從損失函數的角度上,它就成為了log損失函數,其標准形式: 

Logistic回歸目標式子如下:

如果是二分類的話,則m值等於2,如果是多分類,m就是相應的類別總個數。

  1. 平方損失函數(最小二乘法, Ordinary Least Squares )

最小二乘法是線性回歸的一種方法,它將回歸的問題轉化為了凸優化的問題。最小二乘法的基本原則是:最優擬合曲線應該使得所有點到回歸直線的距離和最小。通常用歐式距離進行距離的度量。當樣本個數為n時,此時的損失函數變為:

Y-f(X)表示的是殘差,整個式子表示的是殘差的平方和,而我們的目的就是最小化這個目標函數值(注:該式子未加入正則項),也就是最小化殘差的平方和。

而在實際應用中,通常會使用均方差(MSE)作為一項衡量指標,公式如下:

 

  1. 指數損失函數(Adaboost)

指數損失函數(exp-loss)的標准形式如下:

 

可以看出,Adaboost的目標式子就是指數損失,在給定n個樣本的情況下,Adaboost的損失函數為:

     

關於Adaboost的推導,可參考《統計學習方法》P145.

  1. Hinge損失函數(SVM)

Hinge loss用於最大間隔(maximum-margin)分類,其中最有代表性的就是支持向量機SVM。Hinge函數的標准形式:

 

其中,t為目標值(-1或+1),y是分類器輸出的預測值,並不直接是類標簽。其含義為,當t和y的符號相同時(表示y預測正確)並且|y|≥1時,hinge loss為0;當t和y的符號相反時,hinge loss隨着y的增大線性增大。可以參考《統計學習方法》P113.

 

  1. 0-1損失函數

在分類問題中,可以使用函數的正負號來進行模式判斷,函數值本身的大小並不是很重要,0-1損失函數比較的是預測值與真實值的符號是否相同,0-1損失的具體形式如下:

 

  1. 絕對值損失函數

絕對損失函數的意義和平方損失函數差不多,只不過是取了絕對值而不是求絕對值,差距不會被平方放大,其形式為:

                    

 

以上簡單列出幾種常見的損失函數,詳情可參考相關資料進行深入了解。

 


免責聲明!

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



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