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