一般來說,我們在進行機器學習任務時,使用的每乙個演算法都有乙個目標函式,演算法便是對這個目標函式進行優化,特別是在分類或者回歸任務中,便是使用損失函式(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對數損失 對於 對數函式 由於其具有 單調性 在求最優化問題時,結果與...