機器學習-——損失函數



###基礎概念

損失函數(loss function)是用來估量你模型的預測值f(x)與真實值Y的不一致程度,換句話,可以解釋為我們構建模型得到的預測值與真實值之間的差距。它是一個非負實值函數,通常使用L(Y, f(x))來表示,損失函數越小,模型的魯棒性就越好。損失函數是經驗風險函數的核心部分,也是結構風險函數重要組成部分。模型的結構風險函數包括了經驗風險項和正則項,通常可以表示成如下式子:

整個公式分為兩個部分,前面部分是損失函數,后面部分是正則項,正則項常用的有L1和L2正則項,目的是防止過擬合。


###常用的損失函數
###均方誤差(MSE)

均方誤差(MSE)是最常用的回歸損失函數。MSE是目標變量和預測值之間的平方距離之和。

均方差損失公式:

其中yip是預測結果,而yi是目標變量的真實值,二者的差值稱之為殘差。


###絕對誤差(MAE)

平均絕對誤差(MAE)是用於回歸模型的另一個損失函數。MAE是目標和預測變量之間的絕對差異的總和。因此,它測量一組預測中的平均誤差大小,而不考慮它們的方向。

平均絕對誤差公式:

其中yip是預測結果,而yi是目標變量的真實值,二者的差值稱之為殘差。


###Huber Loss

Huber Loss是均方誤差損失和絕對誤差損失的綜合體。

其公式為:

該誤差是否逼近二次方取決於可以調整的超參數δ(delta)。當δ~0時, Huber損失接近MAE,當δ~∞(大數)時, Huber損耗接近MSE。

使用MAE訓練神經網絡的一個大問題是其持續的大梯度,可能導致損失函數不能收斂(錯過最小值)。對於MSE,隨着損失接近其最小值,梯度減小,使其更精確,但整體訓練速度會比較慢。

Huber損失集成了二者的優點。


###0-1損失

0-1損失常用於二分類問題,0-1損失不連續、非凸,優化困難,0-1損失對每個錯分類點都施以相同的懲罰,這樣那些“錯的離譜“ 的點並不會收到大的關注,這在直覺上不是很合適,因而常使用其他的代理損失函數進行優化。

0-1損失公式:

其中yf(x) > 0 ,則樣本分類正確, yf(x) < 0 則分類錯誤,而相應的分類決策邊界即為 f(x) = 0 。


###對數損失函數

對數損失, 即對數似然損失(Log-likelihood Loss), 也稱邏輯斯諦回歸損失(Logistic Loss)或交叉熵損失(cross-entropy Loss), 是在概率估計上定義的.它常用於邏輯回歸和神經網絡,以及一些期望極大算法的變體. 可用於評估分類器的概率輸出.

對數損失的公式為:

其中, Y 為輸出變量, X為輸入變量, L 為損失函數. N為輸入樣本量, M為類別數, yij 是表示類別 j 是否是輸入實例 xi 的真實類別. pij 為模型或分類器預測輸入實例 xi 屬於類別 j 的概率。

如果目標是進行二分類,則損失函數可以簡化為:


###指數損失函數

指數損失是在原有的損失函數上套一層指數,在adaboost上使用的就是指數損失,在加性模型中指數損失的主要吸引點在於計算上的方便。

指數損失公式:

其中n為樣本數量,yi是樣本的真實值,f(xi)是第i次迭代模型的權重。


參考資料: https://heartbeat.fritz.ai/5-regression-loss-functions-all-machine-learners-should-know-4fb140e9d4b0


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM