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

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

   一、二元交叉熵 binary_cross_entropy網絡

   咱們一般見的交叉熵是二元交叉熵,由於在二分類中的交叉熵能夠比較方便畫出圖像來,以下圖,爲「二元交叉熵」,機器學習

   當咱們的label標註結果0時,以下圖右側曲線,當預測結果爲1時,返回的loss 無窮大,反之,loss 與 label標註結果一致都爲0時,函數

   loss = 0。  當咱們的label標註結果1時, 同理。學習

 

 

 

   二、多元交叉熵 softmax_cross_entropy,sigmoid_cross_entropy編碼

        咱們在生活中一般事物的類別不是二分類,對與錯的,一般是有多個類別,好比,動物有:貓,魚,狗,馬....等。所以,多分類的loss必不可少,htm

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

   當咱們神經網絡有多個類別是,咱們輸出神經元數量一般是多個的,而後取輸出的最大的做爲類別,這是時候,咱們一般要對須要分類的目標作一個簡單深度學習

  的編碼,好比:貓:1,魚:2,狗:3,馬:4, (0:一般是背景or其餘類別),這樣,好比當前樣本label是馬:4,咱們的 One_hot = [0,0,0,0,1],每一個位置爲it

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

 

 

 

  三、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

相關文章
相關標籤/搜索