損失函式(loss function)是用來估量模型的**值\(f(x)\)與真實值\(y\)的不一致程度,從而衡量模型**的好壞。它是乙個非負實值函式,通常使用\(l(y, f(x))\)來表示,損失函式越小,模型的魯棒性就越好。
常用損失函式
常見的損失誤差主要有以下幾種:
一、 0-1損失函式(zero-one loss)
0-1損失函式是最為簡單的一種損失函式,多適用於分類問題中,如果**值與目標值不相等,說明**錯誤,輸出值為1;如果**值與目標值相同,說明**正確,輸出為0,言外之意沒有損失。其數學公式可表示為:
\[l(y,f(x)) = \left\ 1 & \text\\ 0 & \text \end \right. \]
但是0-1損失函式過於理想化、嚴格化,數學性質不好,難以優化,因此在實際問題中,我們經常會用其他損失函式進行代替。
二、對數損失(log loss)
對數損失函式常用於邏輯回歸問題中,其標準形式為:
\[l(y,p(y|x)) = -logp(y|x) \]
三、鉸鏈損失(hinge loss)
hinge損失函式通常適用於二分類的場景中,可以用來解決間隔最大化的問題,常應用於著名的svm演算法中。其數學公式為:
\[l(y) = max(0,1-y \cdot f(x)) \]
四、互熵損失 (cross entropy loss,softmax loss )
cross-entropy損失函式函式公式如下:
\[l(f,y) = -log_2(\frac) \]
cross-entropy損失函式是0-1損失函式的光滑凸上界
softmax loss函式公式如下:
\[l = - \sum^_ \]
cross-entropy損失函式是0-1損失函式的光滑凸上界
五、平方損失(square loss)
平方損失函式是指**值與真實值差值的平方。損失越大,說明**值與真實值的差值越大。平方損失函式多用於線性回歸任務中,其數學公式為:
\[l(y,f(x)) = (y-f(x))^2 \]
平方損失函式是光滑的,可以用梯度下降法求解,但是,當**值和真實值差異較大時,它的懲罰力度較大,因此對異常點較為敏感。
六、指數損失(exponential loss)
指數損失函式的標準形式如下:
\[l(y|f(x)) = exp[-yf(x)] \]
指數損失函式是adaboost裡使用的損失函式,因為它對離群點、雜訊非常敏感。adaboost是前項分步加法演算法的特例,因此經常用在adaboost演算法中。
機器學習損失函式彙總 2020 2 12
損失函式 loss function 是用來估量模型的 值 f x 與真實值 y 的不一致程度,從而衡量模型 的好壞。它是乙個非負實值函式,通常使用 l y,f x 來表示,損失函式越小,模型的魯棒性就越好。常用損失函式 常見的損失誤差主要有以下幾種 一 0 1損失函式 zero one loss ...
機器學習(四) 損失函式
在上上一節邏輯回歸中,是使用似然函式來作為模型的求解引數的目標。但在很多情況下,似然函式很難直接寫出,更常用的方法是損失函式,這個在上上一節的補充中也有提過。那麼損失函式表示什麼概念呢?和似然函式相反,損失函式是模型 失敗的度量。注意最大化似然函式和最小化損失函式兩者並不能完全等同,因為這涉及到所選...
機器學習損失函式梳理
沒有乙個適合所有機器學習演算法的損失函式。針對特定問題選擇損失函式涉及到許多因素,比如所選機器學習演算法的型別 是否易於計算導數以及資料集中異常值所佔比例。下文中總結了機器學習中比較重要的損失函式。均方誤差 mse 度量的是 值和實際觀測值間差的平方的均值。它只考慮誤差的平均大小,不考慮其方向。但由...