**:
源自知乎的乙個答案
資訊理論中,熵代表著根據資訊的概率分布對資訊編碼所需要的最短平均編碼長度。
舉個簡單的例子來理解一下這件事情:假設有個考試作弊團夥,需要連續不斷地向外傳遞4選1單選題的答案。直接傳遞abcd的ascii碼的話,每個答案需要8個bit的二進位制編碼,從傳輸的角度,這顯然有些浪費。資訊理論最初要解決的,就是資料壓縮和傳輸的問題,所以這個作弊團夥希望能用更少bit的編碼來傳輸答案。很簡單,答案只有4種可能性,所以二進位制編碼需要的長度就是取2為底的對數:
log2(4)log2(4)
2個bit就足夠進行四個答案的編碼了(00,01,10,11)。
在上面這個例子中,其實隱含了一種假設,就是四個答案出現概率是相等的,均為p=1/4,所以編碼需要長度的計算可以理解為如下的形式:
h(x)=e[−log2(p(x))]=−∑x∈a,b,c,dp(x)log2(p(x))h(x)=e[−log2(p(x))]=−∑x∈a,b,c,dp(x)log2(p(x))
此時已經有些像熵的定義了。回顧一下熵的定義,正是求−log2(p)−log2(p)的期望值,所以我們把這個思路也套用一下:
log2(4)=log2(11/4)=−log2(1/4)=−log2(p)log2(4)=log2(11/4)=−log2(1/4)=−log2(p)
這正是熵,因為abcd出現的概率均為p=1/4,所以上面式子算出來結果剛好是2。從這個角度,熵就是對每個可能性編碼需要長度的期望值。
答案出現概率相等的例子可能並不貼近實際,在中國考試界,坊間傳聞:「不知道選什麼的時候就蒙c」,這個資訊是可以幫助作弊團隊改善編碼長度的。假設a出現的概率不變仍為1/4,c出現的概率變成了1/2,b和d則分別是1/8:p(a)=1/4,p(b)=1/8,p(c)=1/2,p(d)=1/8。在這種情況下,考慮到傳遞答案的過程中,c出現的次數(概率)最高,所以可以為c用短一些的編碼,而出現次數較少的b和d則可以考慮用長一些的編碼。這樣的話,平均下來,對於一定的資訊總量,需要的編碼總長度就會少一些。根據熵的定義的思路,對於出現概率為p的事件,考慮用長度為−log2(p)−log2(p)的二進位制進行編碼。所以考慮如下面的編碼:
a: 10
b: 110
c: 0
d: 111
對照熵的公式來計算一下編碼長度的期望值,也就是平均編碼長度:
h(x)=−∑x∈p(x)log2(p(x))=14×2+18×3+12×1+18×3=1.75h(x)=−∑x∈p(x)log2(p(x))=14×2+18×3+12×1+18×3=1.75
再詳細點,假設作弊團夥要傳遞200個答案出去。為了方便說明,這200個答案中abcd出現的次數恰好都嚴格和其出現概率成比例,也就是a:50次,b:25次,c:100次,d:25次。所以傳遞200個答案一共需要的bit數是:
50×2+25×3+100×1+25×3=35050×2+25×3+100×1+25×3=350
那麼平均下來每個答案耗費了350/200=1.75個bit編碼長度。
在實際情況中,並不是每個資訊都可以單純按照上面的兩個例子進行二進位制編碼。比如乙個事件出現概率為0.3,那麼我們也不知道該如何用乙個-log2(0.3)=1.74個bit的二進位制編碼表示。但是平均編碼長度的概念是可以拓展的,代表了對隨機變數的平均不確定度的度量。比如abcd四個答案出現概率相等時,是一種最無序最不確定的狀態,誰也蒙不准下乙個答案是什麼;但是如果c出現概率高了,那麼答案出現就不是那麼沒規律,我們蒙c時的信心就高了一些。
資訊熵,交叉熵和相對熵
怎樣去量化資訊?一些大牛對某些問題的見解,我們會說乾貨滿滿,就代表這個見解具有很大的資訊。對於一些不太確定的事,比如一場足球比賽的結果,會有勝平負三種情況,有不確定的情況,但如果某人有直接的內幕訊息,說這場主隊穩輸,因為 這樣的乙個資訊就具有很大的資訊量了,因為不確定的事情變得十分確定。如果有人告訴...
softmax和交叉熵
softmax用於多分類過程中,往往加在神經網路的他將多個神經元的輸出,對映到 0,1 區間內,看成概率來解,這些值的累和為1,在選取輸出節點的時候選取概率最大的節點作為我們的 目標,從而進行多分類。softmax 相關求導 當對分類的loss進行改進時,我們通過梯度下降,每次優化乙個step大小的...
交叉熵損失函式 交叉熵損失函式和均方差損失函式引出
交叉熵 均方差損失函式,加正則項的損失函式,線性回歸 嶺回歸 lasso回歸等回歸問題,邏輯回歸,感知機等分類問題 經驗風險 結構風險,極大似然估計 拉普拉斯平滑估計 最大後驗概率估計 貝葉斯估計,貝葉斯公式,頻率學派 貝葉斯學派,概率 統計 記錄被這些各種概念困擾的我,今天終於理出了一些頭緒。概率...