參考 信息熵是什麼?html
信息能夠量化?函數
信息熵,信息熵,怎麼看怎麼以爲這個 「熵」 字不順眼,那就先不看。咱們起碼知道這個概念跟信息有關係。而它又是個數學模型裏面的概念,通常而言是能夠量化的。因此,第一個問題來了:信息是否是能夠量化?post
起碼直覺上而言是能夠的,否則怎麼可能咱們以爲有些人說的廢話特別多,「沒什麼信息量」,有些人一語中的,一句話就傳達了很大的信息量。編碼
爲何有的信息量大有的信息量小?url
有些事情原本不是很肯定,例如明天股票是漲仍是跌。若是你告訴我明天 NBA 決賽開始了,這二者彷佛沒啥關係啊,因此你的信息對明天股票是漲是跌帶來的信息量不多。可是假如 NBA 決賽一開始,你們都不關注股票了沒人坐莊股票有 99% 的機率會跌,那你這句話信息量就很大,由於原本不肯定的事情變得十分肯定。spa
而有些事情原本就很肯定了,例如太陽從東邊升起,你再告訴我一百遍太陽從東邊升起,你的話仍是絲毫沒有信息量的,由於這事情不能更肯定了。xml
因此說信息量的大小跟事情不肯定性的變化有關。htm
那麼,不肯定性的變化跟什麼有關呢?
一,跟事情的可能結果的數量有關;二,跟機率有關。
先說一。
例如咱們討論太陽從哪升起。原本就只有一個結果,咱們早就知道,那麼不管誰傳遞任何信息都是沒有信息量的。
當可能結果數量比較大時,咱們獲得的新信息纔有潛力擁有大信息量。blog
二,單看可能結果數量不夠,還要看初始的機率分佈。例如一開始我就知道小明在電影院的有 15*15 個座位的 A 廳看電影。小明能夠坐的位置有 225 個,可能結果數量算多了。但是假如咱們一開始就知道小明坐在第一排的最左邊的多是 99%,坐其它位置的可能性微乎其微,那麼在大多數狀況下,你再告訴我小明的什麼信息也沒有多大用,由於咱們幾乎肯定小明坐第一排的最左邊了。事件
那麼,怎麼衡量不肯定性的變化的大小呢?怎麼定義呢?
這個問題很差回答,可是假設咱們已經知道這個量已經存在了,不妨就叫作信息量,那麼你以爲信息量起碼該知足些什麼特色呢?
一,起碼不是個負數吧,否則說句話還偷走信息呢~
二,起碼信息量和信息量之間能夠相加吧!假如你告訴個人第一句話的信息量是 3,在第一句話的基礎上又告訴我一句話,額外信息量是 4,那麼兩句話信息量加起來應該等於 7 吧!難道還能是 5 是 9?
三,剛剛已經提過,信息量跟機率有關係,但咱們應該會以爲,信息量是連續依賴於機率的吧!就是說,某一個機率變化了 0.0000001,那麼這個信息量不該該變化很大。
四,剛剛也提過,信息量大小跟可能結果數量有關。假如每個可能的結果出現的機率同樣,那麼對於可能結果數量多的那個事件,新信息有更大的潛力具備更大的信息量,由於初始狀態下不肯定性更大。
那有什麼函數能知足上面四個條件呢?負的對數函數,也就是 - log(x)!底數取大於 1 的數保證這個函數是非負的就行。前面再隨便乘個正常數也行。
a. 爲何不是正的?由於假如是正的,因爲 x 是小於等於 1 的數,log(x)就小於等於 0 了。第一個特色知足。
b. 我們再來驗證一下其餘特色。三是最容易的。假如 x 是一個機率,那麼 log(x)是連續依賴於 x 的。done
c。四呢?假若有 n 個可能結果,那麼出現任意一個的機率是 1/n,而 - log(1/n) 是 n 的增函數,沒問題。
d。最後驗證二。因爲 - log(xy) = -log(x) -log(y),因此也是對的。學數學的同窗注意,這裏的 y 能夠是給定 x 的條件機率,固然也能夠獨立於 x。
By the way,這個函數是惟一的(除了還能夠多乘上任意一個常數),有時間能夠本身證實一下,或者查書。
ok,因此咱們知道一個事件的信息量就是這個事件發生的機率的負對數。
最後終於能回到信息熵。信息熵是跟全部可能性有關係的。每一個可能事件的發生都有個機率。信息熵就是平均而言發生一個事件咱們獲得的信息量大小。因此數學上,信息熵實際上是信息量的指望。
接下來就能夠了解一下 通俗的解釋交叉熵與相對熵
熵的本質是香濃信息量log(1/p) 的指望
既然熵的本質是香濃信息量log(1/p) 的指望,那麼便有
一個時間結果的出現機率越低,對其編碼的 bit 的長度就越長。熵的本質的另外一個解釋是編碼方案完美時,最短平均編碼長度的是多少
在機率論或信息論中,KL 散度 (Kullback–Leibler divergence),又稱相對熵(relative entropy),是描述兩個機率分佈 P 和 Q 差別的一種方法。它是非對稱的,這意味着 D(P||Q) ≠ D(Q||P)。特別的,在信息論中,D(P||Q) 表示當用機率分佈 Q 來擬合真實分佈 P 時,產生的信息損耗,其中 P 表示真實分佈,Q 表示 P 的擬合分佈。簡單的說,KL 散度或者相對熵它是用來度量兩個分佈P,Q 之間的距離的,也就是說,距離越大,兩個分佈差距最大。因而。在咱們的模型訓練中, 咱們要作的就是不斷的調整參數,使得預測獲得的分佈與真實分佈儘量的一致。那麼,這與交叉熵有什麼關係呢?
相對熵的數學定義以下
而H(pi) 是一個真實分佈的指望,所以與訓練無關,是一個常數項。因而,最小化相對熵便轉爲最小化
這個就是交叉熵。
一句話說,就是,最小化偏差能夠經過最小化相對熵(KL 散度)來實現,而最小化相對熵,則能夠經過最小化交叉熵來實現,因此,交叉熵損失函數就這麼來了。。。。。。。。。