損失函數(shù)是機(jī)器學(xué)習(xí)中用來(lái)衡量模型預(yù)測(cè)結(jié)果與真實(shí)結(jié)果之間的差異的函數(shù),它反映了模型的優(yōu)化目標(biāo)和性能指標(biāo)。在機(jī)器學(xué)習(xí)中,選擇合適的損失函數(shù)至關(guān)重要,因?yàn)樗苯佑绊懩P偷挠?xùn)練效果和最終性能。以下是一些選擇合適損失函數(shù)的要點(diǎn)和方法:
回歸任務(wù) :
均方誤差(Mean Squared Error,MSE) :計(jì)算預(yù)測(cè)值與真實(shí)值之間差值的平方的平均值。它對(duì)誤差進(jìn)行了平方操作,所以會(huì)放大較大誤差的影響,常用于線性回歸等任務(wù)中。例如預(yù)測(cè)房?jī)r(jià),若真實(shí)房?jī)r(jià)是 500 萬(wàn),預(yù)測(cè)值為 400 萬(wàn),差值為 100 萬(wàn),MSE 會(huì)計(jì)算這個(gè)差值的平方等相關(guān)運(yùn)算來(lái)衡量損失。其數(shù)學(xué)表達(dá)式為:
,其中
是樣本數(shù)量,
是真實(shí)值,
是預(yù)測(cè)值。
平均絕對(duì)誤差(Mean Absolute Error,MAE) :計(jì)算預(yù)測(cè)值與真實(shí)值之間差值的絕對(duì)值的平均值。相比于 MSE,它對(duì)異常值沒(méi)那么敏感,因?yàn)闆](méi)有進(jìn)行平方放大操作。比如同樣預(yù)測(cè)房?jī)r(jià)的例子,它只計(jì)算差值的絕對(duì)值來(lái)衡量損失,數(shù)學(xué)表達(dá)式為:
。
均方根誤差(Root Mean Squared Error,RMSE) :它是 MSE 的平方根,和 MSE 類(lèi)似,但量綱與目標(biāo)變量一致,使得其在實(shí)際解釋損失大小時(shí)更直觀,公式為
。
分類(lèi)任務(wù) :
交叉熵?fù)p失(Cross Entropy Loss) :在多分類(lèi)問(wèn)題中廣泛應(yīng)用,比如圖像分類(lèi)識(shí)別是貓、狗還是兔子等類(lèi)別。它衡量了兩個(gè)概率分布之間的差異,模型輸出的預(yù)測(cè)概率分布和真實(shí)的類(lèi)別概率分布(通常是 one-hot 編碼形式,即正確類(lèi)別為 1,其余為 0)之間的差異越小,交叉熵?fù)p失越小。對(duì)于二分類(lèi)的情況,其表達(dá)式可以簡(jiǎn)化為
,其中
是真實(shí)標(biāo)簽(0 或 1),
是預(yù)測(cè)為正類(lèi)的概率;多分類(lèi)的一般形式相對(duì)復(fù)雜些,和類(lèi)別數(shù)量以及概率分布計(jì)算相關(guān)。
鉸鏈損失(Hinge Loss) :常用于支持向量機(jī)(SVM)中,特別是在處理線性可分的二分類(lèi)問(wèn)題時(shí)表現(xiàn)良好。它鼓勵(lì)正確分類(lèi)的樣本與決策邊界保持一定的間隔,表達(dá)式為
,其中
是樣本
的真實(shí)標(biāo)簽(
表示正負(fù)類(lèi)),
是權(quán)重向量,
是樣本特征向量,
是偏置項(xiàng)。
對(duì)數(shù)損失(Log Loss) :和交叉熵?fù)p失類(lèi)似,常用于衡量分類(lèi)模型的性能,本質(zhì)上也是基于概率的一種損失衡量方式,特別在邏輯回歸等模型中常用,其計(jì)算公式為
,這里
是真實(shí)標(biāo)簽,
是預(yù)測(cè)為正類(lèi)的概率。
存在異常值的數(shù)據(jù) :如果數(shù)據(jù)集中存在少量較大或較小的異常值,像在一些金融數(shù)據(jù)預(yù)測(cè)(如股票價(jià)格預(yù)測(cè))中,MAE 相對(duì)更合適,因?yàn)?MSE 會(huì)因?yàn)閷?duì)誤差的平方操作而過(guò)度受到異常值的影響,導(dǎo)致模型訓(xùn)練可能偏向于減小異常值帶來(lái)的巨大損失,而忽略了其他正常樣本的擬合情況。
數(shù)據(jù)分布不均勻的情況 :在分類(lèi)任務(wù)中,若不同類(lèi)別樣本數(shù)量差異很大(比如正類(lèi)樣本占比極少,負(fù)類(lèi)樣本占比極大,像在疾病檢測(cè)中健康樣本遠(yuǎn)多于患病樣本),可以考慮使用加權(quán)的交叉熵?fù)p失,對(duì)少數(shù)類(lèi)樣本的損失賦予更高權(quán)重,使得模型能更關(guān)注對(duì)這些少量但重要的樣本的學(xué)習(xí),避免總是傾向于預(yù)測(cè)多數(shù)類(lèi)而忽略少數(shù)類(lèi)。
基于概率輸出的模型 :像邏輯回歸、神經(jīng)網(wǎng)絡(luò)用于分類(lèi)時(shí),交叉熵?fù)p失就很契合,因?yàn)檫@些模型最后輸出的是類(lèi)別的概率,而交叉熵?fù)p失正是基于概率分布差異來(lái)衡量損失的,能很好地引導(dǎo)模型去優(yōu)化概率輸出,使其更接近真實(shí)的類(lèi)別分布。
基于距離衡量的模型 :例如 K 近鄰等簡(jiǎn)單的基于樣本距離進(jìn)行決策的模型,在回歸場(chǎng)景下使用 MAE 或者 MSE 這類(lèi)基于預(yù)測(cè)值和真實(shí)值距離(差值)來(lái)衡量損失的函數(shù)就比較自然,能夠讓模型去調(diào)整特征空間中的距離關(guān)系來(lái)更好地做出預(yù)測(cè)。
某些損失函數(shù)的梯度特性好 :例如 MSE 損失函數(shù),它在求導(dǎo)等梯度計(jì)算方面形式比較簡(jiǎn)單,在使用梯度下降等優(yōu)化算法訓(xùn)練模型時(shí),計(jì)算的復(fù)雜度低、效率高,能夠比較平穩(wěn)快速地更新模型參數(shù)。而像一些復(fù)雜的自定義損失函數(shù),如果其梯度計(jì)算復(fù)雜甚至不連續(xù),那么在模型訓(xùn)練優(yōu)化時(shí)就會(huì)面臨困難,可能導(dǎo)致訓(xùn)練難以收斂或者收斂到局部最優(yōu)的情況。
選擇的損失函數(shù)最好和最終用于評(píng)估模型好壞的指標(biāo)有一定關(guān)聯(lián)性,比如在回歸任務(wù)中,如果最終關(guān)注模型預(yù)測(cè)的平均絕對(duì)誤差情況,那在訓(xùn)練時(shí)選擇 MAE 作為損失函數(shù),就能在訓(xùn)練過(guò)程中直接朝著優(yōu)化這個(gè)評(píng)估指標(biāo)的方向去調(diào)整模型,更有利于達(dá)到期望的模型性能。
總之,要綜合多方面的因素來(lái)選擇合適的損失函數(shù),必要時(shí)可以嘗試不同的損失函數(shù)對(duì)比模型訓(xùn)練的效果,最終確定最適合具體問(wèn)題的那一款損失函數(shù)。損失函數(shù)是否能夠滿足業(yè)務(wù)或?qū)嶋H問(wèn)題的需求,例如預(yù)測(cè)結(jié)果的置信度、可解釋性、可擴(kuò)展性等。