- **損失函數(Loss Function):**定義在單個樣本上的,指一個樣本的誤差
- **代價函數(Cost Function):**定義在整個訓練集上,是所有樣本誤差的平均,也就是所有損失函數值的平均
- **目標函數(Object Function):**指最終需要優化的函數,一般來說是經驗風險+結構風險(代價函數+正則化項)。
損失函數
分類問題
0-1損失函數
預測正確時,損失函數值爲0;預測錯誤時,損失函數值爲1。該損失函數不考慮預測值與真實值的誤差程度。
Hinge損失函數(SVM)
L(w,b)=max{0,1−yf(x)}
其中y∈{+1,-1},f(x)=wx+b,當爲SVM的線性核時。
Logistic損失函數
L(y,p(y∣x))=−log p(y∣x)
該損失函數用到了極大似然估計的思想。
P(Y|X)通俗的解釋就是:在當前模型的基礎上,對於樣本X,其預測值爲Y,也就是預測正確的概率。
由於概率之間的同時滿足需要使用乘法,爲了將其轉化爲加法,我們將其取對數。
最後由於是損失函數,所以預測正確的概率越高,其損失值應該是越小,因此再加個負號取個反。
交叉熵損失函數(Cross Entry)
H(p,q)=−i=1∑Np(x(i))log q(x(i))
交叉熵是用來評估當前訓練得到的概率分佈與真實分佈的差異情況,減少交叉熵損失就是在提高模型的預測準確率。其中 p(x) 是指真實分佈的概率,q(x) 是模型通過數據計算出來的概率估計。
Exponential損失函數(AdaBoost)
L(y,f(x))=exp(−yf(x))
指數損失函數是AdaBoost裏使用的損失函數,同樣地,它對異常點較爲敏感,魯棒性不夠
Log損失函數(LR)
L(y,P(y∣x))=−logP(y∣x)
詳見
迴歸問題
平方損失函數(Least Squares)
L(y,f(x))=(y−f(x))2
預測值與實際值的誤差的平方。
絕對值損失函數(Least Absolute)
L(y,f(x))=∣y−f(x)∣
預測值與實際值的誤差的絕對值。
Log-cosh損失函數
Llog(−cosh(y,f(x)))=log(cosh(f(x)−y))cosh(x)=2(ex+e−x)
log-cosh損失函數比均方損失函數更加光滑,具有huber損失函數的所有優點,且二階可導。因此可以使用牛頓法來優化計算,但是在誤差很大情況下,一階梯度和Hessian會變成定值,導致牛頓法失效。
分位數損失函數
Lγ(y,f(x))=i:yi<fi(x)∑(1−γ)∣yi−fi(x)∣+i:yi≥fi(x)∑γ∣yi−fi(x)∣預測的是目標的取值範圍而不是值。γ是所需的分位數,其值介於0和1之間,γ等於0.5時,相當於MAE。設置多個γ值,得到多個預測模型,然後繪制成圖表,即可知道預測範圍及對應概率(兩個γ值相減)
代價函數
均方誤差(Mean Squared Error)
MSE=N1i=1∑N(y(i)−f(x(i)))
均方誤差是指參數估計值與參數真值之差平方的期望值;
MSE可以評價數據的變化程度,MSE的值越小,說明預測模型描述實驗數據具有更好的精確度。
通常用來做迴歸問題的代價函數。
均方根誤差(Root Mean Squared Error)
RMSE=2N1i=1∑N(y(i)−f(x(i)))
均方根誤差是均方誤差的算術平方根,能夠直觀觀測預測值與實際值的離散程度。
通常用來作爲迴歸算法的性能指標。
平均絕對誤差(Mean Absolute Error)
MAE=N1i=1∑N∣y(i)−f(x(i))∣
平均絕對誤差是絕對誤差的平均值 ,平均絕對誤差能更好地反映預測值誤差的實際情況。
通常用來作爲迴歸算法的性能指標。
借鑑來源
https://www.cnblogs.com/lliuye/p/9549881.html
https://blog.csdn.net/zuolixiangfisher/article/details/88649110