因?yàn)閟igmoid函數(shù)的性質(zhì),如圖的兩端,幾近于平坦,導(dǎo)致 在 取大部分值時(shí)會(huì)很小,這樣會(huì)使得 和 更新非常慢(因?yàn)?)。

再定量解釋如下:在上式

a) 當(dāng)真實(shí)值 若 輸出值 ,則

若 輸出值 ,則

b) 當(dāng)真實(shí)值 , 若 輸出值 ,則

若 輸出值 ,則

也就是平方損失(MSE)的梯度更新很慢,如下圖所示

這就帶來(lái)實(shí)際操作的問(wèn)題。當(dāng)梯度很小的時(shí)候,應(yīng)該減小步長(zhǎng)(否則容易在最優(yōu)解附近產(chǎn)生來(lái)回震蕩),但是如果采用 MSE ,當(dāng)梯度很小的時(shí)候,無(wú)法知道是離目標(biāo)很遠(yuǎn)還是已經(jīng)在目標(biāo)附近了。(離目標(biāo)很近和離目標(biāo)很遠(yuǎn),其梯度都很?。?/p>

2. Cross-entropy

為了克服上述 MSE 不足,引入了categorical_crossentropy(交叉熵?fù)p失函數(shù))

1)二分類 Binary Cross-entropy

激活函數(shù)為 sigmoid

損失函數(shù):

或者簡(jiǎn)寫(xiě)成:

其中 , 表示樣本數(shù)量。

同樣求導(dǎo)可得:

證明如下:

其中,

因此, 的梯度公式中原來(lái)的 被消掉了,所以導(dǎo)數(shù)中沒(méi)有 這一項(xiàng),權(quán)重的更新是受 這一項(xiàng)影響(表示真實(shí)值和輸出值之間的誤差),即受誤差的影響,所以當(dāng)誤差大的時(shí)候,權(quán)重更新就快,當(dāng)誤差小的時(shí)候,權(quán)重的更新就慢。

2)多分類 Categorican Cross-entropy

激活函數(shù)為 softmax

可以看作是Sigmoid的一般情況,用于多分類問(wèn)題。

損失函數(shù):

后續(xù)分析類似。

3. 補(bǔ)充 Cross-entropy 的缺點(diǎn)

sigmoid(softmax)+cross-entropy loss 擅長(zhǎng)于學(xué)習(xí)類間的信息,因?yàn)樗捎昧祟愰g競(jìng)爭(zhēng)機(jī)制,它只關(guān)心對(duì)于正確標(biāo)簽預(yù)測(cè)概率的準(zhǔn)確性,忽略了其他非正確標(biāo)簽的差異,導(dǎo)致學(xué)習(xí)到的特征比較散?;谶@個(gè)問(wèn)題的優(yōu)化有很多,比如對(duì)softmax進(jìn)行改進(jìn),如L-Softmax、SM-Softmax、AM-Softmax等。這些在本篇不展開(kāi)討論。

原因 2:MSE是非凸優(yōu)化問(wèn)題而 Cross-entropy 是凸優(yōu)化問(wèn)題

1.MSE

我們從最簡(jiǎn)單的線性回歸開(kāi)始討論:線性回歸(回歸問(wèn)題)使用的是平方損失:

因?yàn)檫@個(gè)函數(shù) 是凸函數(shù),直接求導(dǎo)等于零,即可求出解析解,很簡(jiǎn)單。但是對(duì)于邏輯回歸則不行(分類問(wèn)題【注意:邏輯回歸不是回歸!是分類!!】。因?yàn)槿绻壿嫽貧w也用平方損失作為損失函數(shù),則:

其中 表示樣本數(shù)量。上式是非凸的,不能直接求解析解,而且不宜優(yōu)化,易陷入局部最優(yōu)解,即使使用梯度下降也很難得到全局最優(yōu)解。如下圖所示:

2.Cross-entropy

而,Cross-entropy 計(jì)算 loss,則依舊是一個(gè)凸優(yōu)化問(wèn)題。

以下進(jìn)行詳細(xì)說(shuō)明和推導(dǎo):

邏輯回歸模型進(jìn)行學(xué)習(xí)時(shí),給定訓(xùn)練集:,其中 ,可以應(yīng)用 極大似然估計(jì) 估計(jì)模型參數(shù),從而得到邏輯回歸模型。

設(shè):

似然函數(shù):

對(duì)數(shù)似然函數(shù)為:

接下來(lái)求 的極大值,從而得到 的估計(jì)值。

這樣一來(lái),問(wèn)題就變成了以對(duì)數(shù)似然函數(shù)為目標(biāo)函數(shù)的最優(yōu)化問(wèn)題,邏輯回歸 中通常的方法就是梯度下降法擬牛頓法

極大似然函數(shù)是求極大,取個(gè)相反數(shù),再對(duì)所有 個(gè)樣本取平均,即得到邏輯回歸的損失函數(shù)

并且這個(gè)損失函數(shù) 是凸函數(shù),沒(méi)有局部最優(yōu)解,便于優(yōu)化。

以下是直觀理解:

其中:

當(dāng)類別標(biāo)簽為 時(shí),越靠近 1 則損失越??;當(dāng)類別標(biāo)簽為 時(shí),越靠近 1 則損失越大.

三、總結(jié)

  1. 分類問(wèn)題,都用 one-hot + Cross-entropy
  2. training 過(guò)程中,分類問(wèn)題用 Cross-entropy,回歸問(wèn)題用 mean squared error
  3. training 之后,validation / testing 時(shí),使用 classification error,更直觀,而且是我們最關(guān)注的指標(biāo)。(分類錯(cuò)誤數(shù)量 / 總數(shù)) 即:classification error

參考鏈接

  1. 《李宏毅機(jī)器學(xué)習(xí)》課程中 邏輯回歸 一節(jié),: 李宏毅機(jī)器筆記 Logistic Regression(解釋 LR 為什么不能用 square error ).
  2. 解析損失函數(shù)之categorical_crossentropy loss與 Hinge loss.(https://www.jianshu.com/p/ae3932eda8f2)
  3. 神經(jīng)網(wǎng)絡(luò)的分類模型 LOSS 函數(shù)為什么要用 CROSS ENTROPY.(https://jackon.me/posts/why-use-cross-entropy-error-for-loss-function/)
  4. 交叉熵?fù)p失函數(shù).(https://blog.csdn.net/yimingsilence/article/details/52740638?depth_1-)

文章轉(zhuǎn)載自: 交叉熵?fù)p失(Cross-entropy)和平方損失(MSE)究竟有何區(qū)別?

上一篇:

快速接入百度地圖MCP Server

下一篇:

2025年最新LangChain Agent教程:從入門到精通
#你可能也喜歡這些API文章!

我們有何不同?

API服務(wù)商零注冊(cè)

多API并行試用

數(shù)據(jù)驅(qū)動(dòng)選型,提升決策效率

查看全部API→
??

熱門場(chǎng)景實(shí)測(cè),選對(duì)API

#AI文本生成大模型API

對(duì)比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力

25個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)

#AI深度推理大模型API

對(duì)比大模型API的邏輯推理準(zhǔn)確性、分析深度、可視化建議合理性

10個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)