Skip to content

Cross Entropy簡介

imfomation

定義

直覺

發生機率越高的事件,資訊含量越低

比如:
豬有四隻腳 VS 有豬在飛

前者不必說,大家都知道(幾乎總是發生,資訊含量小)
後者發生大家都會想看(發生機率小,資訊含量大)

而此數學式則能表達這個直覺,當X事件發生的機率P(X)
很大,取負號後會變很小

由來

imformation最早被應用於資訊領域的編碼問題
而編碼會使用bits為單位,因此會以log2進行計算

而machine learning中最常使用自然對數ln(比如與常態分布掛勾)
可將log2替換為ln (其他底數自然也可以)

Some fact

  1. 由於0<= P(X) <= 1
    這保證了logP(X)是負數,且P(X)越小,logP(X)絕對值越大
  2. P(x) = 1 , P(x)=0 也符合直覺
  3. 獨立事件中P(x) = P1(x) * P2(x),而他們的資訊量剛好會變成相加,這也符合直覺

Shannon entropy

定義

定義為imformation的期待值

代表意義為最少需要多少bit來記錄這段資訊

舉例而言:
假如考過以1紀錄,反之為0
小明考試總是考過,需要多少bit紀錄這個訊息?
代入式子
H(X) = E[I(X)] = 1*-log2(1) = 0
告訴我們不需要紀錄他,畢竟他一定過

小華50%考過,50%考不過,需要多少bit紀錄這個訊息?
代入式子
H(X) = E[I(X)] = 0.5*-log2(0.5)+0.5*-log2(0.5) = 1
告訴我們至少需要準備1bit紀錄這段訊息,因為他是0是1無法預測

這套理論也應用於編碼中用於衡量一個方法的好與壞

Some Fact

Entropy也被稱為亂度,事件發生越平均(越難以預測),比如投公平硬幣,entropy最大
同時也可以以數學證明,Uniform distribution時,entropy最大

Cross Entropy

將p(X)視為真實分布(Ground True , 答案y)
q(X)視為模型分布(predict y_hat)
則binary 版本就是二分類中我們熟悉的版本

直覺

H(P,Q)可以視為以P的資料分布,用Q分布方式編碼
所以可以推出

  1. H(P,Q) 大多不等於 H(Q,P)
  2. H(P,P) = H(P) 一定是最小值

為甚麼要使用

Cross entropy可以視作p(x)與q(x)的差距

推論:
H(p,p) = H(p)
用同樣編碼、資料

H(p,q) >= H(p,p)
因為H(p)是該分布下最小的編碼成本
H(p,q)不可能比H(p)小

結論: 當Cross Entropy越小,p與q的分布越接近

延伸閱讀