情報量
Contents
情報量とは
情報量 (英:information content) とは、ある事象が起きた際に、それがどれだけ起こりにくいかを表す尺度のこと。自己情報量 (英:self-information) とも呼ばれる。確率空間 $(\Omega,\mathcal F,P)$ において、ある事象 $E\in\mathcal F$ が発生する確率を $P(E)$ とすると、$E$ が発生した際に得られる情報量 $I_P(E)$ は次式で表される。
\[ I_P(E) := -\log P(E) \]
情報量の加法性
$E_1$ と $E_2$ が独立な事象の場合、「$E_1$ も $E_2$ も起こる」事象 $E$ の情報量 $I_P(E)$ は、$E_1$ の情報量 $I_P(E_1)$と $E_2$ の情報量 $I_P(E_2)$ の和となる。
\[ I_P(E) = I_P(E_1) + I_P(E_2) \]
情報量の加法性の証明:
\[ \begin{aligned} I_P(E) &= -\log{(P(E_1)P(E_2))} \cr &= -\log{P(E_1)} -\log{P(E_2)} \cr &= I_P(E_1) + I_P(E_2) \cr \cr \therefore I_P(E) &= I_P(E_1) + I_P(E_2) \end{aligned} \]
情報エントロピー
確率空間 $(\Omega,\mathcal F,P)$ が与えられたとき、各事象 $E\in\mathcal F$ の情報量 $I_P(E)$ の期待値 $H(P,P)$ を $P$ の情報エントロピー (英:information entropy) 、もしくはシャノンエントロピー (英:Shannon entropy) と呼ぶ。
\[ \begin{aligned} H(P,P) &= \sum_{E\in\Omega}{P(E)I_P(E)} \cr &= -\sum_{E\in\Omega}P(E)\log P(E) \end{aligned} \]
# Python3
import numpy as np
def information_entropy(E, P, base=2):
return -sum(P(E)*(np.log(P(E))/np.log(base)))