2015年1月12日 星期一

小常識:熵



Entropy 這個字來說,中文叫做熵,我第一次看到的時候,是在有叫叫孔雀王漫畫上。那個漫畫中,孔雀王轉生的孔雀,要對抗天蛇王轉生的姊姊,而破壞世界,他引了熵的說法,就是說有科學將提出了熵的理論認為宇宙會回歸死寂。

    基本上,漫畫有點鬼扯,但熵是在熱力學裡面用來表示亂度的方式,而一般熱會從高溫流到低溫,這會使熵升高,但如果最後每個點都是一樣的,那麼熵到了最高值,則表示個點間的熱就不會流動了,那就變成死寂。就那點來說,我也沒辦法證實,但計算機科學領域借用了這樣的概念而用在許多地方。

    其中一個是 Text Mining 在做文件分類時,TFI-DF 的概念有一說是來自那樣的公式,那麼我就簡單的來寫一下,倘若總共有 m 個數,每一個數會有一個數值,倘若說這 m 個數的數值用 {x_i} 集合來表示,其中 x_i 表示某一個數值,那麼:

    Entropy = -SUM_{每個 xi}(p(x_i)log(p(x_i))),而 p(x_i) = m_i/m。且 m_i x_i 的個數。

    Entropy 何時最小呢?就是在只有一個數值的時候,此時為 -1*log(1) = 0。而何時最大呢,就是當所有的數值都不一樣的時候,則結果為

-{(m/1) *log(1/m)}*m= log(m)

    一般會把它標準化,再除個 log(m) 就形成最大值為 1 的情況。不過上面是假設 m 等於最多可能的數值,如果可能的數值比 m 要小,則計算上就會比較複雜。

    總之,Entropy 可以呈現一個數值的散佈狀況,越集中 Entropy 越低,越分散越高。而這可以用來表現出使用習性:如果 Entropy 大規模改變,可能表示有些異常發生。

沒有留言:

張貼留言