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

2021-07-22 12:49:56 字數 2977 閱讀 7485

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

損失函式是用來評價模型的**值ŷ 

=f(x

) y^=

f(x)

與真實值

y y

的不一致程度,它是乙個非負實值函式。通常使用l(

y,f(

x))' role="presentation" style="position: relative;">l(y

,f(x

))l(

y,f(

x))來表示,損失函式越小,模型的效能就越好。

設總有n

n

個樣本的樣本集為(x

,y)=

(xi,

yi)' role="presentation" style="position: relative;">(x,

y)=(

xi,y

i)(x

,y)=

(xi,

yi),

yi,i

∈[1,

n]y i,

i∈[1

,n]為樣本

i i

的真實值,yi

^=f(

xi),

i∈[1

,n]' role="presentation" style="position: relative;">yi^

=f(x

i),i

∈[1,

n]yi

^=f(

xi),

i∈[1

,n]為樣本

i i

的**值,

f' role="presentation" style="position: relative;">f

f為分類或者回歸函式。

那麼總的損失函式為: l=

∑i=1

nℓ(y

i,yi

^)l =∑

i=1n

ℓ(yi

,yi^

)常見的損失函式ℓ(

yi,y

i^) ℓ(y

i,yi

^)有以下幾種:

zero-one loss即0-1損失,它是一種較為簡單的損失函式,如果**值與目標值不相等,那麼為1,否則為0,即: ℓ(

yi,y

i^)=

ℓ (y

i,yi

^)=m

axyi∈y i∈

hinge-loss。

在使用似然函式最大化時,其形式是進行連乘,但是為了便於處理,一般會套上log,這樣便可以將連乘轉化為求和,由於log函式是單調遞增函式,因此不會改變優化結果。因此log型別的損失函式也是一種常見的損失函式,如在lr(logistic regression, 邏輯回歸)中使用交叉熵(cross entropy)作為其損失函式。即: ℓ(

yi,y

i^)=

−yi⋅

logy

i^−(

1−yi

)⋅lo

g(1−

yi^)

ℓ (y

i,yi

^)=−

yi⋅l

ogyi

^−(1

−yi)

⋅log

(1−y

i^)yi∈

y i∈

規定0⋅

log⋅

=00 ⋅l

og⋅=

0square loss即平方誤差,常用於回歸中。即: ℓ(

yi,y

i^)=

(yi−

yi^)

2 ℓ(y

i,yi

^)=(

yi−y

i^)2

yi,yi^∈

ℜ yi,

yi^∈

ℜabsolute loss即絕對值誤差,常用於回歸中。即: ℓ(

yi,y

i^)=

|yi−

yi^|

ℓ (y

i,yi

^)=|

yi−y

i^|yi,

yi^∈

ℜ yi,

yi^∈

ℜexponential loss為指數誤差,常用於boosting演算法中,如adaboost。即: ℓ(

yi,y

i^)=

exp(

−yi⋅

yi^)

ℓ (y

i,yi

^)=e

xp(−

yi⋅y

i^)yi∈

y i∈

一般來說,對分類或者回歸模型進行評估時,需要使得模型在訓練資料上使得損失函式值最小,即使得經驗風險函式最小化,但是如果只考慮經驗風險(empirical risk),容易過擬合(詳細參見防止過擬合的一些方法),因此還需要考慮模型的泛化能力,一般常用的方法便是在目標函式中加上正則項,由損失項(loss term)加上正則項(regularization term)構成結構風險(structural risk),那麼損失函式變為: l=

∑i=1

nℓ(y

i,yi

^)+λ

⋅r(ω

) l=∑

i=1n

ℓ(yi

,yi^

)+λ⋅

r(ω)

其中λ λ

是正則項超引數,常用的正則方法包括:l1正則與l2正則,詳細介紹參見:

防止過擬合的一些方法。

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

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

機器學習常見損失函式

損失函式作用 損失函式是用於衡量模型 值與真實值之間差距的函式,損失函式的值越小越好。常見的損失函式有如下幾種 0 1損失函式 zero one loss 當且僅當 為真的時候取值為1,否則取值為0。可以看出該損失函式過於嚴格,導致其具有非凸 非光滑的特點,使得演算法很難直接對該函式進行優化。感知損...

機器學習中,常用的損失函式有哪些?

1 0 1 loss 記錄分類錯誤的次數。2 hinge loss 最常用在svm中 最大優化間隔分類 中,對可能的輸出t 1和分類器分數y,值y的hinge loss定義如下 l y max 0.1 t y 3 log loss對數損失 對於 對數函式 由於其具有 單調性 在求最優化問題時,結果與...