1. 程式人生 > >淺析機器學習中各種損失函式及其含義

淺析機器學習中各種損失函式及其含義

常見的損失函式

1.0-1損失函式(0-1 loss function)

L(Y,f(X))={1,Yf(X)0,Y=f(X)

  可以看出,該損失函式的意義就是,當預測錯誤時,損失函式值為1,預測正確時,損失函式值為0。該損失函式不考慮預測值和真實值的誤差程度,也就是隻要預測錯誤,預測錯誤差一點和差很多是一樣的。

2.平方損失函式(quadratic loss function)

L(Y,f(X))=(Yf(X))2

  該損失函式的意義也很簡單,就是取預測差距的平方。

3.絕對值損失函式(absolute loss function)

L(Y,f(X))=|
Yf(X)|

  該損失函式的意義和上面差不多,只不過是取了絕對值而不是求絕對值,差距不會被平方放大。

4.對數損失函式(logarithmic loss function)

L(Y,P(Y|X))=logP(Y|X)

  這個損失函式就比較難理解了。事實上,該損失函式用到了極大似然估計的思想。P(Y|X)通俗的解釋就是:在當前模型的基礎上,對於樣本X,其預測值為Y,也就是預測正確的概率。由於概率之間的同時滿足需要使用乘法,為了將其轉化為加法,我們將其取對數。最後由於是損失函式,所以預測正確的概率越高,其損失值應該是越小,因此再加個負號取個反。

全域性損失函式

  上面的損失函式僅僅是對於一個樣本來說的。而我們的優化目標函式應當是使全域性損失函式最小。因此,全域性損失函式往往是每個樣本的損失函式之和,即:

J(w,b)=1mi=1mL(Y,f(X))
  對於平方損失函式,為了求導方便,我們可以在前面乘上一個1/2,和平方項求導後的2抵消,即:
J(w,b)=12mi=1m(Yf(X))2

邏輯迴歸中的損失函式

  在邏輯迴歸中,我們採用的是對數損失函式。由於邏輯迴歸是服從伯努利分佈(0-1分佈)的,並且邏輯迴歸返回的sigmoid值是處於(0,1)區間,不會取到0,1兩個端點。因此我們能夠將其損失函式寫成以下形式:

L(ŷ ,y)=(ylogŷ +(1y)log(1ŷ ))
  解釋一下含義:
  • 當真實值y=1時,L(ŷ ,y)=logŷ ,當預測值ŷ 
    越接近1,logŷ 也越接近最大值1,加上負號後就代表誤差值最小。而當預測值ŷ 越接近0,logŷ 越接近負無窮,加上負號後就代表誤差值最大。
  • 當真實值y=0時,L(ŷ ,y)=log(1ŷ ),當預測值ŷ 越接近0,log(1ŷ )也越接近最大值1,加上負號後就代表誤差值最小。而當預測值ŷ 越接近1,log(1ŷ )越接近負無窮,加上負號後就代表誤差值最大。

  最後邏輯迴歸中對於所有樣本的損失函式為:

J(w,b)=1mi=1mL(ŷ (i),y(i))=1mi=1m[y(i)logŷ (i)+(1y(i))log(1ŷ (i))]