通常機器學習每乙個演算法中都會有乙個目標函式,演算法的求解過程是通過對這個目標函式優化的過程。在分類或者回歸問題中,通常使用損失函式(代價函式)作為其目標函式。損失函式用來評價模型的**值和真實值不一樣的程度,損失函式越好,通常模型的效能越好。不同的演算法使用的損失函式不一樣。
損失函式分為經驗風險損失函式和結構風險損失函式。經驗風險損失函式指**結果和實際結果的差別,結構風險損失函式是指經驗風險損失函式加上正則項。通常表示為如下:
其中,前面的均值項表示經驗風險函式,l表示損失函式,後面的是正則化項(regularizer)或懲罰項(penalty term),它可以是l1、l2或者其他正則函式。整個式子表示要找到使得目標函式最小的值。
下面介紹幾種常見的損失函式。
0-1損失是指,**值和目標值不相等為1,否則為0:
感知機就是用的這種損失函式。但是由於相等這個條件太過嚴格,因此我們可以放寬條件,即滿足
絕對值損失函式:
logistic回歸的損失函式就是對數損失函式,在logistic回歸的推導中,它假設樣本服從伯努利分布(0-1)分布,然後求得滿足該分布的似然函式,接著用對數求極值。logistic回歸並沒有求對數似然函式的最大值,而是把極大化當做乙個思想,進而推導它的風險函式為最小化的負的似然函式。從損失函式的角度上,它就成為了log損失函式。
log損失函式的標準形式:
在極大似然估計中,通常都是先取對數再求導,再找極值點,這樣做是方便計算極大似然估計。損失函式l(y,p(y|x))是指樣本x在標籤y的情況下,使概率p(y|x)達到最大值(利用已知的樣本分佈,找到最大概率導致這種分布的引數值)。
最小二乘法是線性回歸的一種方法,它將回歸的問題轉化為了凸優化的問題。最小二乘法的基本原則是:最優擬合曲線應該使得所有點到回歸直線的距離和最小。通常用歐式距離進行距離的度量。平方損失的損失函式為:
adaboost就是一指數損失函式為損失函式的。
指數損失函式的標準形式:
hinge loss用於最大間隔(maximum-margin)分類,其中最有代表性的就是支援向量機svm。
hinge函式的標準形式:
(與上面統一的形式:
其中,t為目標值(-1或+1),y是分類器輸出的**值,並不直接是類標籤。其含義為,當t和y的符號相同時(表示y**正確)並且|y|≥1時,hinge loss為0;當t和y的符號相反時,hinge loss隨著y的增大線性增大。
在支援向量機中,最初的svm優化的函式如下:
將約束項進行變形,則為:
則損失函式可以進一步寫為:
因此,svm的損失函式可以看做是l2正則化與hinge loss之和。
幾種損失函式的曲線如下圖:
參考:維基百科:
機器學習中常見的損失函式
一般來說,我們在進行機器學習任務時,使用的每乙個演算法都有乙個目標函式,演算法便是對這個目標函式進行優化,特別是在分類或者回歸任務中,便是使用損失函式 loss function 作為其目標函式,又稱為代價函式 cost function 損失函式是用來評價模型的 值y f x y f x 與真實值...
機器學習常見損失函式
損失函式作用 損失函式是用於衡量模型 值與真實值之間差距的函式,損失函式的值越小越好。常見的損失函式有如下幾種 0 1損失函式 zero one loss 當且僅當 為真的時候取值為1,否則取值為0。可以看出該損失函式過於嚴格,導致其具有非凸 非光滑的特點,使得演算法很難直接對該函式進行優化。感知損...
機器學習中幾種損失函式的分析
在機器學習中,損失函式是非常重要的,用於衡量目標結果的好壞,用於訓練模型,損失函式就是目標函式了。常見的損失函式有以下幾種 f z 1,如果z是小於零的,其他就等於0.性質 不是凸函式,不是連續的函式,數學性質不是非常好,一般用於感知機演算法,感知機演算法的損失函式就是這個。為了克服這個函式不連續,...