幾種損失函式比較
1. 綜述
損失函式(Loss Function)是用來評估模型好壞程度,即預測值f(x)與真實值的不一致程度,通常表示為L(Y, f(x))的一個非負的浮點數。比如你要做一個線性迴歸,你擬合出來的曲線不會和原始的資料分佈是完全吻合(完全吻合的話,很可能會出現過擬合的情況),這個差距就是用損失函式來衡量。那麼損失函式的值越小,模型的魯棒性也就越好,對新資料的預測能力也就越強。
通常提到損失函式,我們不得不提到代價函式(Cost Function)及目標函式(Object Function)。
損失函式(Loss Function) 直接作用於單個樣本,用來表達樣本的誤差
代價函式
目標函式(Object Function)是我們最終要優化的函式,也就是代價函式+正則化函式(經驗風險+結構風險)
其中,第一部分是代價函式,L代表損失函式;第二部分是正則化函式(也可以稱為懲罰項),可以試L1,也可以試L2或者其他正則函式。整個表示式是要找到是目標函式最好的值。
2. 損失函式
0-1損失函式(0-1 Loss Function)主要用於感知機
平方損失函式(Quadratic Loss Function)主要用於最小二乘法(OLS)
絕對值損失函式(Absolute Loss Function)
對數損失函式(Logarithmic Loss Function,Cross Entropy Loss Function, Softmax Loss Loss Function)主要用於Logistic迴歸與Softmax分類
指數損失函式(Exponential Loss Function)主要用於Adaboost整合學習演算法
鉸鏈損失函式(Hinge Loss Function)主要用於支援向量機(SVM)
2.1 0-1損失函式(0-1 Loss Function)
當預測錯誤時,損失函式結果為1;當預測正確時,損失函式為0。該預測並不考慮具體的誤差程度,直接進行二值化。
優點:穩定的分類面,不連續,所以不可導,但是次梯度可導
缺點:二階不可導,有時候不存在唯一解
2.2 平方損失函式(Quadratic Loss Function)
預測值與實際值的差的平方。
優點:容易優化(一階導數連續)
缺點:對outlier點敏感,得不到最優的分類面
2.3 絕對值損失函式(Absolute Loss Function)
與平方損失函式類似,去實際值與測試值的差值的絕對值,但是不會被放大。
2.4 對數損失函式(Logarithmic Loss Function)
對數損失函式用到了極大似然估計的思想。P(Y|X)表示在當前模型上,樣本X的預測值為Y的概率,也就是說對於樣本X預測正確的概率。由於統計極大似然估計用到概率乘法,為了將其轉為假髮,對其取對數即可方便展開為加法;由於是損失函式,預測正確的概率應該與損失值成反比,這裡對概率取反得到,轉化一下可以得到。
優點:穩定的分類面,嚴格凸,且二階導數連續。
2.5 指數損失函式(Exponential Loss Function)
學過Adaboost的知道它是前向分步加法演算法的特例,是一個加和模型,損失函式就是指數函式。
2.6 鉸鏈損失函式(Hinge Loss Function)
,其中,
Hinge Loss function 一般在分類演算法使用的分類函式,尤其使用於SVM。
優點:穩定的分類面,凸函式。可以極大化分類間隔。
3. 代價函式
3.1 均方誤差(Mean Square Error)
均方誤差是指引數估計值與引數真值之差平方的期望值,MSE用來評估模型的好壞程度,MSE越小說明預測模型精確度越高。
通常用來做迴歸問題的代價函式。
3.2 均方根誤差(Root Mean Square Error)
均方根誤差是均方的算術平方根,能夠直觀的觀察預測值與真實值直接的差距。
通常用來作為迴歸演算法的效能指標。
3.3 平均絕對誤差(Mean Absolute Error)
平均誤差是絕對誤差的平均值,平均絕對誤差能更好的反應預測值與實際值的實際誤差情況。
通常用來作為迴歸演算法的效能指標。
3.4 交叉熵代價函式(Cross Entry)
其中p(x)是真實分佈的概率,q(x)是模型通過資料計算出來的概率估計。
交叉熵是用來評估當前訓練得到的概率分佈於真實分佈的差異情況,減少交叉熵損失就是在提高模型的預測的準確率。
通常用來作為分類問題的代價函式。
4. 正則化
4.1 L1正則化
L1正則化假設模型的先驗概率分佈服從拉普拉斯分佈;
--求解略複雜;
--能夠得到稀疏解
4.2 L2正則化
L2正則化假設模型的先驗概率分佈服從高斯分佈;
--簡單有效
--便於求解
-- 最常用
5. 選擇好的損失函式
什麼樣的損失函式時好的損失函式,那麼多的損失函式,有沒有一定的選擇準則?
還是需要考慮你的具體要解決的問題及樣本情況。可以簡單遵循幾個準則:
- L梯度需要有界,魯棒性要有保障
- 將L1作為L的漸近線,穩定的分類邊界
- 大分類間隔,保證泛化能力
- 選擇正確的正則化方法(一般選擇L2)
6. 參考文獻
[1] https://www.cnblogs.com/lliuye/p/9549881.html
[2] https://blog.csdn.net/leo_xu06/article/details/79010218
[3] https://blog.csdn.net/weixin_37136725/article/details/79291818