1. 損失函數、代價函數與目標函數
損失函數(Loss Function):是定義在單個樣本上的,是指一個樣本的誤差。
代價函數(Cost Function):是定義在整個訓練集上的,是所有樣本誤差的平均,也就是所有損失函數值的平均。
目標函數(Object Function):是指最終需要優化的函數,一般來說是經驗風險+結構風險,也就是(代價函數+正則化項)。
2. 常用的損失函數
(1)0-1損失函數(0-1 loss function)
$L(y, f(x)) = \begin{cases} 1, & {y \neq f(x) } \\ 0, & {y = f(x)} \end{cases}$
也就是說,當預測錯誤時,損失函數為1,當預測正確時,損失函數值為0。該損失函數不考慮預測值和真實值的誤差程度。只要錯誤,就是1。
(2)平方損失函數(quadratic loss function)
\( L(y, f(x)) = (y - f(x))^2 \)
是指預測值與實際值差的平方。
(3)絕對值損失函數(absolute loss function)
$L(y, f(x)) = | y -f(x) |$
該損失函數的意義和上面差不多,只不過是取了絕對值而不是求絕對值,差距不會被平方放大。
(4)對數損失函數(logarithmic loss function)
$L(y, p(y|x)) = - \log p(y|x)$
這個損失函數就比較難理解了。事實上,該損失函數用到了極大似然估計的思想。P(Y|X)通俗的解釋就是:在當前模型的基礎上,對於樣本X,其預測值為Y,也就是預測正確的概率。由於概率之間的同時滿足需要使用乘法,為了將其轉化為加法,我們將其取對數。最后由於是損失函數,所以預測正確的概率越高,其損失值應該是越小,因此再加個負號取個反。
(5)Hinge loss
Hinge loss一般分類算法中的損失函數,尤其是SVM,其定義為:
$L(w,b) = max \{0, 1-yf(x) \}$
其中$y = +1 或 y = -1$,$f(x) = wx+b$,當為SVM的線性核時。
3. 常用的代價函數
(1) 均方誤差(Mean Squared Error)
\( MSE = \frac{1}{N} \sum_{i=1}^N (y^{(i)} - f(x^{(i)}))^2 \)
均方誤差是指參數估計值與參數真值之差平方的期望值; MSE可以評價數據的變化程度,MSE的值越小,說明預測模型描述實驗數據具有更好的精確度。( i 表示第 i 個樣本,N表示樣本總數)
通常用來做回歸問題的代價函數。
(2)均方根誤差
\( RMSE = \sqrt{\frac{1}{N} \sum_{i=1}^N (y^{(i)} - f(x^{(i)})) } \)
均方根誤差是均方誤差的算術平方根,能夠直觀觀測預測值與實際值的離散程度。
通常用來作為回歸算法的性能指標。
(3)平均絕對誤差(Mean Absolute Error)
\( MAE = \frac{1}{N} \sum_{i=1}^N |y^{(i)} - f(x^{(i)})| \)
平均絕對誤差是絕對誤差的平均值 ,平均絕對誤差能更好地反映預測值誤差的實際情況。
通常用來作為回歸算法的性能指標。
(4)交叉熵代價函數(Cross Entry)
\( H(p,q) = - \sum_{i=1}^{N} p(x^{(i)}) \log {q(x^{(-i)})} \)
交叉熵是用來評估當前訓練得到的概率分布與真實分布的差異情況,減少交叉熵損失就是在提高模型的預測准確率。其中 p(x)是指真實分布的概率, q(x) 是模型通過數據計算出來的概率估計。
比如對於二分類模型的交叉熵代價函數(可參考邏輯回歸一節):
\( L(w,b) = -\frac{1}{N} \sum_{i=1}^{N} (y^{(i)} \log {f(x^{(i)})} + ( 1- y^{(i)}) \log {(1- f(x^{(i)})})) \)
其中 f(x)可以是sigmoid函數。或深度學習中的其它激活函數。而 y(i)∈0,1。
通常用做分類問題的代價函數。
文章轉自: https://www.cnblogs.com/lliuye/p/9549881.html