什麼是交叉熵損失

轉載自:https://blog.csdn.net/b1055077005/article/details/100152102

交叉熵損失函數原理詳解

之前在代碼中經常看見交叉熵損失函數(CrossEntropy Loss),只知道它是分類問題中經常使用的一種損失函數,對於其內部的原理總是模模糊糊,而且一般使用交叉熵作爲損失函數時,在模型的輸出層總會接一個softmax函數,至於爲什麼要怎麼做也是不懂,所以專門花了一些時間打算從原理入手,搞懂它,故在此寫一篇博客進行總結,以便以後翻閱。


交叉熵簡介

交叉熵是信息論中的一個重要概念,主要用於度量兩個概率分佈間的差異性,要理解交叉熵,需要先了解下面幾個概念。


信息量

信息奠基人香農(Shannon)認爲“信息是用來消除隨機不確定性的東西”,也就是說衡量信息量的大小就是看這個信息消除不確定性的程度。

“太陽從東邊升起”,這條信息並沒有減少不確定性,因爲太陽肯定是從東邊升起的,這是一句廢話,信息量爲0。

”2018年中國隊成功進入世界盃“,從直覺上來看,這句話具有很大的信息量。因爲中國隊進入世界盃的不確定性因素很大,而這句話消除了進入世界盃的不確定性,所以按照定義,這句話的信息量很大。

根據上述可總結如下:信息量的大小與信息發生的概率成反比。概率越大,信息量越小。概率越小,信息量越大。

設某一事件發生的概率爲P(x),其信息量表示爲:
I(x)=log(P(x))I(x)=log(P(x))I(x)=log(P(x))I(x)=−log(P(x))I(x)=−log⁡(P(x)) I\left ( x \right ) = -\log\left ( P\left ( x \right ) \right )H(X)=i=1nP(xi)log(P(xi)))(X=x1,x2,x3...,xn)
使用明天的天氣概率來計算其信息熵:

序號 事件 概率P 信息量
1 明天是晴天 0.5 log(0.5)log(0.5)log(0.5)−log(0.5)−log⁡(0.5) -\log \left ( 0.5 \right )P(x)


交叉熵

首先將KL散度公式拆開:
DKL(pq)=ni=1p(xi)log(p(xi)q(xi))=ni=1p(xi)log(p(xi))ni=1p(xi)log(q(xi))=H(p(x))+[ni=1p(xi)log(q(DKL(p∣∣q)=∑ni=1p(xi)log(p(xi)q(xi))=∑ni=1p(xi)log(p(xi))−∑ni=1p(xi)log(q(xi))=−H(p(x))+[−∑ni=1p(xi)log(q(

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章