
2025年最新LangChain Agent教程:從入門到精通
因?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>
為了克服上述 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ù)分析類似。
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)討論。
我們從最簡(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 則損失越大.
參考鏈接
文章轉(zhuǎn)載自: 交叉熵?fù)p失(Cross-entropy)和平方損失(MSE)究竟有何區(qū)別?
2025年最新LangChain Agent教程:從入門到精通
Python實(shí)現(xiàn)五子棋AI對(duì)戰(zhàn)的詳細(xì)教程
2025年AI代碼生成工具Tabnine AI的9個(gè)替代者推薦
一步步教你配置Obsidian Copilot實(shí)現(xiàn)API集成
如何使用python和django構(gòu)建后端rest api
如何將soap api轉(zhuǎn)換為rest api
如何使用REST API自動(dòng)化工具提升效率
如何處理REST API響應(yīng)的完整指南
快速上手 Python 創(chuàng)建 REST API
對(duì)比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力
一鍵對(duì)比試用API 限時(shí)免費(fèi)