淺析機器學習中各種損失函式及其含義
阿新 • • 發佈:2019-01-08
常見的損失函式
1.0-1損失函式(0-1 loss function)
可以看出,該損失函式的意義就是,當預測錯誤時,損失函式值為1,預測正確時,損失函式值為0。該損失函式不考慮預測值和真實值的誤差程度,也就是隻要預測錯誤,預測錯誤差一點和差很多是一樣的。
2.平方損失函式(quadratic loss function)
該損失函式的意義也很簡單,就是取預測差距的平方。
3.絕對值損失函式(absolute loss function)
該損失函式的意義和上面差不多,只不過是取了絕對值而不是求絕對值,差距不會被平方放大。
4.對數損失函式(logarithmic loss function)
這個損失函式就比較難理解了。事實上,該損失函式用到了極大似然估計的思想。P(Y|X)通俗的解釋就是:在當前模型的基礎上,對於樣本X,其預測值為Y,也就是預測正確的概率。由於概率之間的同時滿足需要使用乘法,為了將其轉化為加法,我們將其取對數。最後由於是損失函式,所以預測正確的概率越高,其損失值應該是越小,因此再加個負號取個反。
全域性損失函式
上面的損失函式僅僅是對於一個樣本來說的。而我們的優化目標函式應當是使全域性損失函式最小。因此,全域性損失函式往往是每個樣本的損失函式之和,即:
對於平方損失函式,為了求導方便,我們可以在前面乘上一個1/2,和平方項求導後的2抵消,即:
邏輯迴歸中的損失函式
在邏輯迴歸中,我們採用的是對數損失函式。由於邏輯迴歸是服從伯努利分佈(0-1分佈)的,並且邏輯迴歸返回的sigmoid值是處於(0,1)區間,不會取到0,1兩個端點。因此我們能夠將其損失函式寫成以下形式:
解釋一下含義:
- 當真實值y=1時,
L(ŷ ,y)=−logŷ ,當預測值ŷ 越接近1,logŷ 也越接近最大值1,加上負號後就代表誤差值最小。而當預測值ŷ 越接近0,logŷ 越接近負無窮,加上負號後就代表誤差值最大。 - 當真實值y=0時,
L(ŷ ,y)=−log(1−ŷ ) ,當預測值ŷ 越接近0,log(1−ŷ ) 也越接近最大值1,加上負號後就代表誤差值最小。而當預測值ŷ 越接近1,log(1−ŷ ) 越接近負無窮,加上負號後就代表誤差值最大。
最後邏輯迴歸中對於所有樣本的損失函式為: