為什麼分類問題使用交叉熵損失函式?

2021-09-19 03:57:29 字數 1044 閱讀 6711

理由一:

kl散度:衡量兩個概率分布的差異

)其中,h(p

,q)=

−∑ip

(i)l

ogq(

i)h(p,q) =-\sum_ip(i)log q(i)

h(p,q)

=−∑i

​p(i

)log

q(i)

,是交叉熵;h(p

)=−∑

ip(i

)log

p(i)

h(p) = -\sum_i p(i)log p(i)

h(p)=−

∑i​p

(i)l

ogp(

i),是熵。

在機器學習中,訓練資料的分布是固定的,因此最小化相對熵(kl散度)等價於最小化交叉熵,也等價於極大似然估計。所以,交叉熵可以用來計算學習模型分布與訓練分布之間的差異。

理由二:

如果使用平方差損失,在進行梯度下降計算的時候會出現梯度消失。如果使用sigmoid啟用函式,進行梯隊計算的時候,會涉及到sigmoid函式的導數。

保持sigmoid啟用函式不變,交叉熵損失函式可以很好的解決上面的問題。最終梯度與sigmoid的導數無關(計算過程中抵消掉了)。

理由三:

知乎上的回答:

logistic回歸和softmax回歸使用交叉熵而不用歐氏距離是因為前者的目標函式是凸函式,可以求得全域性極小值點;用歐氏距離則無法保證。

神經網路中對分類問題使用交叉熵而不用歐氏距離是因為前者一般情況下可以收斂到更好的區域性極小值點處,即一般情況下在精度上更好一些。

[1]

[2]

為什麼使用交叉熵作為損失函式?

如果概括性地回答這個問題,我們其實是希望得到最大似然 maximum likelihood 使得模型的 分布與資料的實際分布盡可能相近。而最大化log似然等同於最小化負log似然,最小化負log似然等價於最小化kl散度 相對熵 kl散度裡包含有只與資料集相關而與模型無關的log p da talog...

交叉熵損失函式分類 交叉熵損失函式的應用

本文以二分類交叉熵損失函式為例,詳細分析了交叉熵損失函式在實際應用中遇到的問題,以及解決辦法,並給出了在深度學習中使用的交叉熵損失函式的具體形式。通過本文的敘述,相信能夠使讀者對深度學習的理解更加深入。其中y為label,為 的正類別概率,即在二分類中通過sigmoid函式得出的正類別概率大小。對於...

softmax分類及交叉熵損失

回歸就是通過y wx b得到的。而如果是分類,則輸出層神經元個數即為類別數。例如3類,o i wx b,i 1,2,3,然後將輸出值o做指數變化exp o i 得到的exp o 1 exp o i 即將輸出值變為和為1的概率分布。即對輸出進行指數歸一化處理 分類的損失函式一般用交叉熵損失函式 回歸一...