交叉熵理解:softmax_cross_entropy,binary_cross_entropy,sigmoid_cross_entropy簡介


cross entropy 交叉熵的概念網上一大堆了,具體問度娘,這里主要介紹深度學習中,使用交叉熵作為類別分類。

   1、二元交叉熵 binary_cross_entropy

   我們通常見的交叉熵是二元交叉熵,因為在二分類中的交叉熵可以比較方便畫出圖像來,如下圖,為“二元交叉熵”,

   當我們的label標注結果0時,如下圖右側曲線,當預測結果為1時,返回的loss 無窮大,反之,loss 與 label標注結果一致都為0時,

   loss = 0。  當我們的label標注結果1時, 同理。

 

 

 

   2、多元交叉熵 softmax_cross_entropy,sigmoid_cross_entropy

        我們在生活中通常事物的類別不是二分類,對與錯的,通常是有多個類別,比如,動物有:貓,魚,狗,馬....等。因此,多分類的loss必不可少,

  下面是“多元交叉熵”的公式,二元交叉熵是0是一類,1是一類,但是多遠交叉熵有多個類別,如何處理?這時候也就要使用機器學習中常用的One_hot。

   當我們神經網絡有多個類別是,我們輸出神經元數量通常是多個的,然后取輸出的最大的作為類別,這是時候,我們通常要對需要分類的目標做一個簡單

  的編碼,比如:貓:1,魚:2,狗:3,馬:4, (0:通常是背景or其他類別),這樣,比如當前樣本label是馬:4,我們的 One_hot = [0,0,0,0,1],每個位置為

  0和1的值,這時候就可以將多分類“變成” 多個二分類,如下圖:其中yi就是某個類別的label,h(xi)是模型類別輸出的結果。

 

 

 

  3、softmax_cross_entropy,sigmoid_cross_entropy的區別,字面上區別就是:softmax,sigmoid。其實通過上面分析,我們的cross_entropy的定義域(自變量)

  的取值范圍是0-1的,然而模型神經元輸出(通常最后一層不加激活函數)是[-,+] 負無窮到正無窮的。因此需要將我們的數值轉變到 0-1,目前常用的2中轉變方式,

  “應運而生”,如下圖:

   

注:

   softmax圖來源:https://www.cnblogs.com/alexanderkun/p/8098781.html

   sigmoid 圖來源 :https://baike.baidu.com/item/Sigmoid%E5%87%BD%E6%95%B0/7981407?fr=aladdin

 


免責聲明!

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



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