機器學習——交叉熵
????首先先來說一下信息量f(x)這個概念的理解,一個不確定的概率事件X1,經(jīng)過信息處理后,得到了一個確定的事件X2,相當于是一個不確定的事件發(fā)生了,變成了一個確定的事件,在這個過程中不確定事件X1的概率P越小,整個過程的信息量就越大,滿足負相關(guān)的關(guān)系。如果X2由相互獨立的隨機事件X3 和 X4共同發(fā)生所確定,同時發(fā)生滿足概率相乘,但信息量是相加的關(guān)系 f(X2)= f(X3 * X4) =f(X3)+ f (X4) 符合對數(shù)函數(shù)的定義。

????這個也就很好的得到了信息量的定義等式,f(X)是一個時間發(fā)生所能帶來的信息量,x表示不確定性事件X的發(fā)生概率,以2為底的對數(shù)是為了對應(yīng)比特位,多少個比特能表示這個事件發(fā)生的信息量。

????信息熵是針對一個系統(tǒng)而言的,一個系統(tǒng)中包含m個事件,每個事件發(fā)生的概率pi乘以該事件對應(yīng)的信息量,所有事件疊加之后就是整個系統(tǒng)對應(yīng)的信息熵,熵越大,系統(tǒng)中的不確定性越高,系統(tǒng)的混亂性也就越大。如果系統(tǒng)中每個事件發(fā)生的概率都相等的時候,此時最難預測發(fā)生的結(jié)果,整體混亂程度最大,信息熵最大。
????

????以系統(tǒng)P為標準,對于同一個事件i在Q中的信息量(i事件在Q系統(tǒng)中的概率)減去在P中對應(yīng)的信息量(i事件在系統(tǒng)P中的概率),乘以在系統(tǒng)P中發(fā)生的概率pi,這個就是KL散度,衡量比較兩個模型的差異大小,根據(jù)吉布斯不等式可知,信息熵(KL散度)恒大于0,在兩個系統(tǒng)完全相同時取得等號。
????對于KL散度中后半部分是系統(tǒng)P的信息熵,在標準系統(tǒng)P確定之后就是一個確定的值,散度的大小由前半部分來確定,前半部分也被稱為交叉熵。

????以二分類問題來討論交叉熵在實際損失值中的運用,以下例子中使用貓貓分類問題進行討論,輸出結(jié)果yi是一個概率,1-yi就是不是貓的概率,是由模型給出判斷其有多大的概率是貓,xi就是真實情況圖像是否為貓,概率值為0/1.


????在二分類問題中 , i等于0/1,只有兩種情況,疊加的符號就省略了,計算得到的損失值即可帶入到反向傳播的過程中進行運算。
????進一步來解釋以下xi和yi的概率代表的實際含義。
????xi是人腦認為是貓的概率,是在基準P系統(tǒng)中的發(fā)生概率,也就是預計應(yīng)該發(fā)生的概率。
????yi是模型認為是貓的概率,對應(yīng)的是Q系統(tǒng),相當于是在真實環(huán)境下采樣得到的概率值。
????這個交叉熵的式子,也就是由模型預測事件的發(fā)生所帶來的交叉熵。