就 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 大規模改變,可能表示有些異常發生。
沒有留言:
張貼留言