一文搞懂交叉熵在機器學習中的使用,透徹理解「熵」

文章內容來自:https://blog.csdn.net/tsyccnh/article/details/79163834網絡

 

 

 

關於交叉熵在loss函數中使用的理解
交叉熵(cross entropy)是深度學習中經常使用的一個概念,通常用來求目標與預測值之間的差距。之前作一些分類問題的時候,沒有過多的注意,直接調用現成的庫,用起來也比較方便。最近開始研究起對抗生成網絡(GANs),用到了交叉熵,發現本身對交叉熵的理解有些模糊,不夠深刻。遂花了幾天的時間從頭梳理了一下相關知識點,纔算透徹的理解了,特意記錄下來,以便往後查閱。機器學習

信息論
交叉熵是信息論中的一個概念,要想了解交叉熵的本質,須要先從最基本的概念講起。wordpress

1 信息量
首先是信息量。假設咱們聽到了兩件事,分別以下:
事件A:巴西隊進入了2018世界盃決賽圈。
事件B:中國隊進入了2018世界盃決賽圈。
僅憑直覺來講,顯而易見事件B的信息量比事件A的信息量要大。究其緣由,是由於事件A發生的機率很大,事件B發生的機率很小。因此當越不可能的事件發生了,咱們獲取到的信息量就越大。越可能發生的事件發生了,咱們獲取到的信息量就越小。那麼信息量應該和事件發生的機率有關。
函數

2 熵

考慮另外一個問題,對於某個事件,有nn種可能性,每一種可能性都有一個機率p(xi)p(xi) 
這樣就能夠計算出某一種可能性的信息量。舉一個例子,假設你拿出了你的電腦,按下開關,會有三種可能性,下表列出了每一種可能的機率及其對應的信息量
學習

 

 

 

3 相對熵(KL散度)
相對熵又稱KL散度,若是咱們對於同一個隨機變量 x 有兩個單獨的機率分佈 P(x) 和 Q(x),咱們可使用 KL 散度(Kullback-Leibler (KL) divergence)來衡量這兩個分佈的差別spa

維基百科對相對熵的定義.net

In the context of machine learning, DKL(P‖Q) is often called the information gain achieved if P is used instead of Q.orm

即若是用P來描述目標問題,而不是用Q來描述目標問題,獲得的信息增量。xml

在機器學習中,P每每用來表示樣本的真實分佈,好比[1,0,0]表示當前樣本屬於第一類。Q用來表示模型所預測的分佈,好比[0.7,0.2,0.1]
直觀的理解就是若是用P來描述樣本,那麼就很是完美。而用Q來描述樣本,雖然能夠大體描述,可是不是那麼的完美,信息量不足,須要額外的一些「信息增量」才能達到和P同樣完美的描述。若是咱們的Q經過反覆訓練,也能完美的描述樣本,那麼就再也不須要額外的「信息增量」,Q等價於P。blog

KL散度的計算公式:

參考:

https://www.zhihu.com/question/65288314/answer/244557337 https://en.wikipedia.org/wiki/Kullback%E2%80%93Leibler_divergence https://jamesmccaffrey.wordpress.com/2013/11/05/why-you-should-use-cross-entropy-error-instead-of-classification-error-or-mean-squared-error-for-neural-network-classifier-training/--------------------- 做者:史丹利複合田 來源:CSDN 原文:https://blog.csdn.net/tsyccnh/article/details/79163834 版權聲明:本文爲博主原創文章,轉載請附上博文連接!

相關文章
相關標籤/搜索