機器學習常見損失函式

2021-10-09 06:05:08 字數 2146 閱讀 4250

損失函式作用:損失函式是用於衡量模型**值與真實值之間差距的函式,損失函式的值越小越好。

常見的損失函式有如下幾種:

0-1損失函式(zero-one loss):

當且僅當**為真的時候取值為1,否則取值為0。可以看出該損失函式過於嚴格,導致其具有非凸、非光滑的特點,使得演算法很難直接對該函式進行優化。

感知損失函式(perceptron loss):

感知損失函式在0-1損失函式的基礎上增加乙個閾值,大於閾值則為正例,小於閾值則為負例。

鉸鏈損失函式(hinge loss):

鉸鏈損失函式又叫間隔損失函式,用於解決二分類問題,例如svm中的幾何間隔最大化問題。

指數損失函式:

指數損失函式主要用於adaboost,adaboost演算法是模型為加法模型,損失函式為指數函式,學習演算法為前向分步演算法時的二類分類演算法。

交叉熵損失函式(cross-entropy loss):

交叉熵(cross entry)也叫邏輯斯諦回歸損失(logistic loss)或對數似然損失(log-likelihood loss),是用來評估當前訓練得到的概率分布與真實分布的差異情況,減少交叉熵損失就是在提高模型的**準確率。其離散函式形式:

這篇文章對交叉熵有比較好的解釋:交叉熵損失函式詳解

平方損失函式(square loss):

平方損失函式用於測量機器學習模型的輸出與實際結果之間的距離,光滑函式,能夠使用梯度下降法優化。然而當**值距離真是只越遠時,平方損失函式的懲罰力度越大,因此對異常點比較敏感。

均方損失函式(mse):

均方損失函式就是平方損失函式/n計算平均值。又叫l2損失函式。

絕對值損失函式(absolute loss):

絕對損失函式相當於在做中值回歸,相比做均值回歸的平方損失函式,絕對損失函式對異常點更魯棒。但是,絕對損失函式在f=y處無法求導。又叫l1損失函式。

huber損失函式

huber損失函式在|y-f(x)|較小時為平方損失,在|y-f(x)|較大的時採用線性損失,處處可導,且對異常點魯棒。其優點是可以增強mse在異常點的魯棒性。

l1損失函式和l2損失函式的對比:

l1比l2更魯棒:l2範數將誤差平方化(如果誤差大於1,則誤差會放大很多),模型的誤差會比l1範數來得大,因此模型會對這個樣本更加敏感,這就需要調整模型來最小化誤差。如果這個樣本是乙個異常值,模型就需要調整以適應單個的異常值,這會犧牲許多其它正常的樣本,因為這些正常樣本的誤差比這單個的異常值的誤差小。

l2比l1穩定:對於乙個資料點的任何微小波動,回歸線總是只會發生輕微移動。

mae更新的梯度始終相同,即使對於很小的值,梯度也很大,可以使用變化的學習率。

mse就好很多,使用固定的學習率也能有效收斂。

平方損失函式和交叉熵損失函式:

交叉熵損失函式只和分類正確的**結果有關。

而平方損失函式還和錯誤的分類有關,該損失函式除了讓正確分類盡量變大,還會讓錯誤分類都變得更加平均。

關於其區別,可以參考這篇博文:平方損失函式與交叉熵損失函式),上面截圖**此博文。

機器學習中常見的損失函式

一般來說,我們在進行機器學習任務時,使用的每乙個演算法都有乙個目標函式,演算法便是對這個目標函式進行優化,特別是在分類或者回歸任務中,便是使用損失函式 loss function 作為其目標函式,又稱為代價函式 cost function 損失函式是用來評價模型的 值y f x y f x 與真實值...

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

梯度消失和梯度 產生的原因 svm的原理 rf,svm和nn的優缺點 模型調優細節 如何防止過擬合 batch normalization的思想是什麼 argm in1n i 1 nl y i,f xi i argmin1n i 1nl yi,f xi i 0 1損失是指,值和目標值不相等為1,否則...

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

1.通常機器學習每個演算法都會有乙個目標函式,演算法的求解過程就是對這個目標函式優化的過程。在分類或者回歸問題中,通常使用損失函式 代價函式 作為其目標函式。損失函式用來評價模型的 值和真實值不一樣的程度。損失函式越好,通常模型的效能越好。不同的演算法使用的損失函式不一樣。2.損失函式分為經驗損失函...