損失/誤差函數(loss function)又叫做代價函數(cost function),是用來評估模型的預測值與真實值不一致的程度,也是神經網絡中優化的目標函數,神經網絡訓練或者優化的過程就是最小化損失函數的過程,損失函數越小,說明模型的預測值就越接近真實值,模型的健壯性也就越好。
損失函數可以被大約分成三種類別:
Mean squared error (MSE)
何時使用: 這是Regression問題的默認誤差函數,推薦使用於目標變數是普遍或者高斯型態的分布狀態
Mean squared logarithmic error (MSLE)
這個函數先計算預測值的對數值和計算MSE
何時使用: 當目標變數具分散值和預測較大的值時,可能不希望懲罰模組像是MSE那麼嚴重。通常使用於你的模組在預測非刻度值時。
Mean absolute error loss
將其計算為期望值與預測值之間的絕對差平均值。
何時使用: 當目標變數是普遍分散和有些離群值時。
Binary cross-entrpoy
這是二元分類問題的預設損失函數,此函數優於其他函數。
Cross-entropy計算了實數與預測第一類別機率分布的平均總和數,分數是被最小化的,且最好的值設定為零。
何時使用: 當目標數值的範圍在0到1之間。
Hinge loss
這個函數備主要使用於支援向量機,基於二元分類。
何時使用: 當目標數值的範圍在-1到1之間。
Squared hinge loss
此函數計算hinge loss的平方,平滑誤差還數的表層,使其更容易使用在數值上。
參考資料:
https://kknews.cc/code/9opor8j.html