1. 損失函數、代價函數與目標函數html
損失函數(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)spa
\( L(y, f(x)) = (y - f(x))^2 \)xml
是指預測值與實際值差的平方。htm
(3)絕對值損失函數(absolute loss function)blog
$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