1. 程式人生 > >機器學習總結(一):常見的損失函式

機器學習總結(一):常見的損失函式

這是博主的第一篇部落格,mark一下,希望今後能夠堅持下去。

博主是機器學習菜鳥,將來希望從事機器學習的工作,最近在整理機器學習的知識點,將這些總結的文字以部落格的形式展現出來,一是便於複習,二是分享出來希望能對別人會有一點點幫助。

最近蒐集了一些機器學習常見的面試問題,將問題和回答整理出來,做到有備無患。(隨時進行補充)

  1. 常見的損失函式
  2. 梯度消失和梯度爆炸產生的原因
  3. SVM的原理
  4. RF,SVM和NN的優缺點
  5. 模型調優細節
  6. 如何防止過擬合
  7. Batch Normalization的思想是什麼

常見的損失函式

通常機器學習每一個演算法中都會有一個目標函式,演算法的求解過程是通過對這個目標函式優化的過程。在分類或者回歸問題中,通常使用損失函式(代價函式)作為其目標函式。損失函式用來評價模型的預測值和真實值不一樣的程度,損失函式越好,通常模型的效能越好。不同的演算法使用的損失函式不一樣。
損失函式分為經驗風險損失函式和結構風險損失函式。經驗風險損失函式指預測結果和實際結果的差別,結構風險損失函式是指經驗風險損失函式加上正則項。通常表示為如下:

θ=argmin1Ni=1NL(yi,f(xi;θi))+λΦ(θ)

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

L(Y,f(X))={1,Yf(X)0,Y=f(X)
感知機就是用的這種損失函式。但是由於相等這個條件太過嚴格,因此我們可以放寬條件,即滿足 |Yf(X)|<T 時認為相等。
L(Y,f(X))={1,|Yf(X)|T0,|Y=f(X)|<T
絕對值損失函式為:
L(Y,f(X)=|Yf(X)|

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

L(Y,P(Y|X))=logP(Y|X)
在極大似然估計中,通常都是先取對數再求導,再找極值點,這樣做是方便計算極大似然估計。損失函式L(Y,P(Y|X))是指樣本X在分類Y的情況下,使概率P(Y|X)達到最大值(利用已知的樣本分佈,找到最大概率導致這種分佈的引數值
3. 平方損失函式
最小二乘法是線性迴歸的一種方法,它將回歸的問題轉化為了凸優化的問題。最小二乘法的基本原則是:最優擬合曲線應該使得所有點到迴歸直線的距離和最小。通常用歐幾里得距離進行距離的度量。平方損失的損失函式為:
L(Y|f(X))=N(Yf(X))2
4. 指數損失函式
AdaBoost就是一指數損失函式為損失函式的。
指數損失函式的標準形式:
L
(Y|f(X))=exp[yf(x)]

5. Hinge損失函式
Hinge損失函式和SVM是息息相關的。線上性支援向量機中,最優化問題可以等價於

minw,biN(1yi(wxi+b))+λ||w2||
這個式子和如下的式子非常像:
1mi=1ml(wxi+byi)+||w||2
其中l(wxi+byi)就是hinge損失函式,後面相當於L2正則項。
Hinge函式的標準形式:
L(y)=max(0,1ty)
y是預測值,在-1到+1之間,t為目標值(-1或+1)。其含義為,y的值在-1和+1之間就可以了,並不鼓勵|y|>1,即並不鼓勵分類器過度自信,讓某個正確分類的樣本的距離分割線超過1並不會有任何獎勵,從而使分類器可以更專注於整體的分類誤差。