損失函數(shù)選擇

機器學習算法中最終優(yōu)化的為模型的損失函數(shù),而損失函數(shù)各種各樣,對于不同的模型,選擇什么樣的損失函數(shù)才比較合適。本文主要記錄損失函數(shù)的種類以及適用場景。

機器學習算法主要解決分類問題回歸問題兩大類,因此損失函數(shù)主要也可以分成這兩大類別。

分類損失

Hinge Loss(合頁損失函數(shù))

hinge loss通常被用于最大間隔算法(Maximum margin),例如SVM支持向量機算法。

image.png

當樣本被正確分類(y(wx+b) >=1)時,損失函數(shù)的值為0,否則損失函數(shù)值為1-y(wx+b)。

y(wx+b)的絕對值表示的是樣本距離決策邊界的遠近程度,絕對值越大,表示樣本距離決策越遠。

hinge損失函數(shù)表示分類器不僅需要正確分類,而且需要確信度足夠高時,損失才會是0,即hinge loss對學習的要求更高。

交叉熵損失函數(shù)

交叉熵刻畫兩個概率分布之間的距離,因此將交叉熵作為損失函數(shù)可以很好的刻畫真實數(shù)據(jù)集和訓練測試集之間的相似性。

現(xiàn)在有一個樣本集中兩個概率分布p,q,其中p為真實分布,q為非真實分布。假如,按照真實分布p來衡量識別一個樣本所需要的編碼長度的期望為:

H(p)=\sum_i{p_i \cdot log(\frac{1}{p(i)})}

但是,如果采用錯誤的分布q來表示來自真實分布p的平均編碼長度,則應該是:

H(p,q)=\sum_i{p_i \cdot log(\frac{1}{q(i)})}

此時就將H(p,q)稱之為交叉熵。

交叉熵損失函數(shù)為:
CrossEntropyLoss = -(y_i log(\hat y_{i}) + (1-y_i)log(1-\hat y_i))

當實際標簽為 1時,函數(shù)的只剩前半部分,而當實際標簽是為 0 時,函數(shù)只剩后半部分,即我們只是把對真實值類別的實際預測概率的對數(shù)相乘。

回歸損失

均方誤差(Mean Square Error),L2損失

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

MSE = \frac{\sum_{i=1}^{n}(y_i - y_i^p)^2}{n}

平均絕對誤差(Mean Absolute Error),L1損失

平均絕對誤差(MAE)是另一種用于回歸模型的損失函數(shù)。MAE是目標變量和預測變量之間差異絕對值之和。

MAE = \frac{\sum_{i=1}^{n}|y_i - y_i^p|}{n}

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容