通常機器學習每乙個演算法中都會有乙個目標函式,演算法的求解過程是通過對這個目標函式優化的過程。在分類或者回歸問題中,通常使用損失函式(代價函式)作為其目標函式。損失函式用來評價模型的**值和真實值不一樣的程度,損失函式越好,通常模型的效能越好。不同的演算法使用的損失函式不一樣。
損失函式分為經驗風險損失函式和結構風險損失函式。經驗風險損失函式指**結果和實際結果的差別,結構風險損失函式是指經驗風險損失函式加上正則項。通常表示為如下:
θ ∗=
argm
in1n
∑i=1
nl(y
i,f(
xi;θ
i))+
λφ(θ
)\theta ^=argmin\frac\sum_^l(y_,f(x_;\theta_ ))+\lambda \phi (\theta )
θ∗=arg
minn
1i=
1∑n
l(yi
,f(
xi;
θi)
)+λφ
(θ)其中,前面的均值項表示經驗風險函式,l表示損失函式,後面的λφ(
θ)
\lambda \phi (\theta )
λφ(θ
)是正則化項(regularizer)或懲罰項(penalty term),它可以是l1、l2或者其他正則函式。整個式子表示要找到使得目標函式最小的引數θ
∗\theta^*
θ∗值。0-1損失是指,**值和目標值不相等為1,否則為0:
l (y
,f(x
))
=1, y\neq f(x)\\ 0, y=f(x) \end\right.
l(y,f(
x))=
1, |y-f(x)|\geq t\\ 0, |y=f(x)|l(
y,f(
x))=
(y - f(x))^
l(y,f(
x))=
n∑(
y−f(
x))2
adaboost就是一指數損失函式為損失函式的。
指數損失函式的標準形式:
l (y
,f(x
))=e
xp[−
yf(x
)]
l(y,f(x)) = exp[-yf(x)]
l(y,f(
x))=
exp[
−yf(
x)]對數損失, 即對數似然損失(log-likelihood loss), 也稱邏輯回歸損失(logistic loss)或交叉熵損失(cross-entropy loss), 是在概率估計上定義的.它常用於(multi-nominal, 多項)邏輯斯諦回歸和神經網路,以及一些期望極大演算法的變體. 可用於評估分類器的概率輸出。
對數損失通過懲罰錯誤的分類,實現對分類器的準確度(accuracy)的量化. 最小化對數損失基本等價於最大化分類器的準確度.為了計算對數損失, 分類器必須提供對輸入的所屬的每個類別的概率值, 不只是最可能的類別。對數損失函式的計算公式如下:
l (y
,p(y
∣x))
=−lo
gp(y
∣x)=
−1n∑
i=1n
∑j=1
myij
log(
pij)
l(y,p(y|x))=-logp(y|x)=-\frac\sum_^n\sum_^my_log(p_)
l(y,p(
y∣x)
)=−l
ogp(
y∣x)
=−n1
i=1
∑nj
=1∑m
yij
log
(pij
)其中, y
yy 為輸出變數, x
xx為輸入變數, l
ll 為損失函式. n
nn為輸入樣本量, m
mm為可能的類別數, yij
y_yi
j是乙個二值指標, 表示類別 j
jj 是否是輸入例項 x
ix_i
xi 的真實類別。 pij
p_pi
j為模型或分類器**輸入例項 x
ix_i
xi 屬於類別 j
jj 的概率.
如果只有兩類 , 則對數損失函式的公式簡化為
l (y
,p(y
∣x))
=−1n
∑i=1
n[yi
logp
i+(1
−yi)
log(
1−pi
)]
l(y,p(y|x))=-\frac\sum_^n[y_ilogp_i + (1-y_i)log(1-p_i)]
l(y,p(
y∣x)
)=−n
1i=
1∑n
[yi
logp
i+(
1−yi
)lo
g(1−
pi)
]這時, y
iy_i
yi 為輸入例項 x
ix_i
xi 的真實類別, p
ip_i
pi 為**輸入例項 x
ix_i
xi 屬於類別 1 的概率. 對所有樣本的對數損失表示對每個樣本的對數損失的平均值, 對於完美的分類器, 對數損失為 0。
sklearn中的對數損失函式方法:
from sklearn.metrics import log_loss
def unitest():
y_true = [0, 0, 1, 1]
y_pred = [0.1, 0.2, 0.7, 0.99]
print (log_loss(y_true, y_pred))
if __name__ == '__main__':
unitest()
參考**:
對數損失函式(logarithmic loss function)的原理和 python 實現
hinge loss用於最大間隔(maximum-margin)分類,其中最有代表性的就是支援向量機svm。
hinge函式的標準形式:
其中,t為目標值(-1或+1),y是分類器輸出的**值,並不直接是類標籤。其含義為,當t和y的符號相同時(表示y**正確)並且|y|≥1時,hinge loss為0;當t和y的符號相反時,hinge loss隨著y的增大線性增大。
參考**:
常見的損失函式
常見的損失函式
一 常見的損失函式 損失函式一般用來衡量 值和真實值之間的不一致程度。是乙個非負值,通常用l y,f x 來表示。1.0 1損失函式 結果和真實結果一致,則為0,不一致則為1.2.絕對值損失函式 真實值和 值差的絕對值。3.平方損失函式 4.指數損失函式 5.對數損失函式 6.合頁損失函式 t是 值...
常見損失函式 損失函式選擇方法
神經網路的學習通過某個指標表示現在的狀態,然後以這個指標為基準,尋找最優權重引數,這個指標就是損失函式 loss function 如上介紹,神經網路損失函式 loss function 也叫目標函式 objective function 的作用 衡量神經網路的輸出與預期值之間的距離,以便控制 調節...
常見損失函式記錄
常見損失函式記錄,主要是自己記一下公式,沒啥講解 最簡單的幾種,沒啥好說的 l y,f x y f x l y,f x left end right.l y,f x y f x 來自svm l y,tilde max 0,1 y tilde y pm 1 出自svm,也叫做svm loss,從數學表...