二分類交叉熵和多分類交叉熵計算形式統一嗎?


關於交叉熵,信息熵等推導,已經有很多博客詳細講解了,這里就不再贅述了。本文要理清的是一個很初級的問題:二分類交叉熵和多分類交叉熵有沒有統一的形式?

我們常見的二分類交叉熵形式如下:

image-20210916230828926

而多分類的交叉熵為:

image-20210916230908874

絕大多數教程,都是先以二分類作為特例,講解交叉熵,然后再推到多分類交叉熵。但是,怎么看都覺得兩種形式好像差的很遠,二分類又是yi、pi,又是(1-yi)、(1-pi)。到了多分類交叉熵的時候,突然就沒有了。去死記公式吧,又會很迷茫,特別是后面看到Focal Loss一文的時候,里面針對二分類的交叉熵作為例子,說明了如何對交叉熵損失函數進行逐步修改,得到Focal Loss。文中通過引入記號,分析了二分類情況下的簡寫形式,但是當自己想把它推廣到多分類情況時,這種迷茫感就更深了。

最后,在和朋友討論之后,得到了比較清晰的理解方式:

我們不要從二分類往多分類推廣,而是從多分類向二分類推導。

首先來看多分類的交叉熵形式:

image-20210916230908874

而我們知道,使用神經網絡進行多分類的時候,最后輸出結果往往進行softmax,也就是說,輸出向量為樣本屬於各個類別的概率,也就是上式中的pic。這是最通用的形式。

使用這種通用的形式,向二分類進行特例化,我們能得到什么呢?

其實就是讓上式中的M=2,是不是就沒有出現1-pi的形式了,這貌似和二分類的交叉熵長得不同。

為什么會又這種差異呢?實際上我們在進行二分類的時候,網絡的最后輸出結果,往往是一個值,而不是向多分類那樣,是一個長度為類別數的向量。二分類的網絡輸出結果一般經過sigmoid函數,這樣以來,代表網絡輸出的只是某個類的概率,但是要進行的是二分類呀!因為只有兩個類,所以另外一個類的概率就是1-pi了,標簽也成為了1-yi,代入到通用的公式中,就得到了二分類交叉熵的形式。

所以這么看來,交叉熵的計算其實還是很統一的嘛,終於不用認為二分類是個特例,要專門去記它的公式了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM