交叉熵损失函数分类_交叉熵损失函数
生活随笔
收集整理的這篇文章主要介紹了
交叉熵损失函数分类_交叉熵损失函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我們先從邏輯回歸的角度推導一下交叉熵(cross entropy)損失函數。
從邏輯回歸到交叉熵損失函數
這部分參考自 cs229-note1 part2。
為了根據給定的
預測 (0或1),令假設函數為其中,
是sigmoid函數,表達式為進一步,我們假設有
我們可以看到在
中, 是模型參數, 則是為了將最后的值限制在0、1之間,進而將其作為概率。接下來,通過一個小技巧(-),將(1)式中的兩個概率寫到一起,即
我們可以看到,無論
的取值是0還是1,(2)式都與(1)等價。于是,得到似然函數得到對數似然函數
于是代價函數 ,其中 為樣本的總數。為什么不直接一點
通過上面的推導,我們得到了交叉熵損失函數的表達式
其中,
。本質上,我們的目的是希望
盡可能接近 ,(3)式在 時取最小值,那么為什么我們不直接,直接取平方損失函數呢?假設在邏輯回歸中使用平方損失函數,那么有
求導得
其中,
上面的推導中用到了sigmoid函數的性質:
。從(5)式中可以看出,當
或 時, ;可以看出,當 的值趨近于0或1時, 趨近于0,即導致了梯度消失。所以,平方損失函數在這里不適用。那交叉熵損失函數就可以避免這個問題嗎?我們求導試試看,
我們發現,
和 剛好被消去,梯度消失的問題得到了避免。多分類中的交叉熵損失函數
在多分類中,我們不再使用sigmoid函數,而是使用softmax函數生成一個概率分布。
相應的交叉熵損失函數為
其中
當
的時候,這便是唉pytorch文章中所描述的,交叉熵時logsoftmax和nllloss的結合。
總結
以上是生活随笔為你收集整理的交叉熵损失函数分类_交叉熵损失函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: springboot脚本启动bat_Sp
- 下一篇: 删除机器人 异星工厂_10个视频,它们是