0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

情報量とビット、エントロピー

Posted at

情報量とエントロピー

情報量

  • 或る確率について「希少さ」を表す量
  • logの性質から、確率を表現するのに必要なビット数(logの底が2のとき)に対応している(使用する情報の量)
I(X) = -P(x) \log P(x)

エントロピー

  • 情報量の期待値
  • 分布P(X)からの試行の不確定さを表す
  • 確率変数全体を考慮
H(P) = \sum_i P(x_i) \frac{1}{\log P(x_i)} = -\sum_i P(x_i) \log P(x_i)

情報量

定義式から。
事象xが起こる確率、P(x)を用いて定義される。

I(x) = \log \frac{1}{P(x)} = -\log P(x) 

確率のログの逆数。

  • 「 事象の希少さ」を表現したい → 確率の逆数とする
  • 複数の結果の合成を和にしたい → logを導入
  • 結果:確率の逆数のlog
  • 実用的意味の例:$log_2$の場合、小数点数(確率に相当)を表現するのに必要なビット数に相当

理解1.「希少さ」と「和」

「情報量」という概念を定義する。
表現したいものは、「観測結果の希少さ」。
確定的事象を観測しても「情報を得た」とは感じないという直感に沿う。
(出目が1しかないサイコロを振って1が出ても、観測結果に意味は見出せない)

確率の逆数にすると「希少さ」を量的に表現できそう。

しかし、複数の事象を観測したときには情報の量は蓄積されていくべき。
確率の逆数だと掛け算になってしまうが「和」の表現が好ましい。
logを取ると 積 → 和 になる

よって、$I(x) = \log \frac{1}{P(x)} = -\log P(x) $ とすると相応しい量を表現できる。

理解2.表現に必要なビット数

ここではlogの底を2にして、「ビット表現」を対象に考える。
「情報量」を、「確率(=小数点数)を表現するのに必要なビット数」という視点でみる。情報の量。
確率をただの小数点数とみなすと以下の通り。

  • 1/2:0 or 1 の1ビットで表現できる
  • 1/4:00,01,10,11 の2ビットで表現できる
  • 1/8:(略)3ビットで表現できる

これをグラフにプロットすると、$-\log_2 P(x)$の曲線上に乗る。

image.png

情報量は、小数点数(=確率に対応)を2進数で表現するときに必要なビット数、と捉えることができる(logの底を2としている)。

実は、値域[0<x<1]のときの、「logの定義」の話。
情報量は値域が限定されたときの、log逆数の性質を「希少さ」と解釈しているだけ。

情報量のまとめ

  • 「 事象の希少さ」を表現したい → 確率の逆数でOK
  • 複数の結果の合成を和にしたい → logにすればOK
  • 結果:確率の逆数のlogとする
  • 実用的意味の例:$log_2$の場合、小数点数(確率に相当)を表現するのに必要なビット数に相当
I(x) = log\frac{1}{P(x)} = -logP(x)

エントロピー

定義式は情報量の期待値なので、「平均情報量」という日本語名の方が本質理解に役立つ。

定義式:

H(P) = \sum_i P(x_i) \frac{1}{\log P(x_i)} = -\sum_i P(x_i) \log P(x_i)

ポイント:

  • 試行から得られる、情報量の期待値 (次試行を行った場合に得られるであろう情報量の見込み平均)
  • 試行する際の「予測の難しさ」(事象の不確かさ)に相当する
  • 「期待値」ということは1つの値ではなく取り得る$X=\{x_1,x_2,\dots,x_n\}$全体について考慮する

理解1.情報量の期待値

定義式より、

 エントロピー = 情報量の期待値 = 「希少さ」の「平均値」

期待値(平均値)ということで、$E[I(X)]$ の計算をする。
$X=\{x_1,x_2,\dots,x_n\}$ の$x_i$ 全てを考慮する。

希少さI(x)について、分布全体P(X)を考慮する、ということになる。
これは「平均的な希少さ」、「希少さの期待値」 = 「確率分布P(X)からのサンプリングの予測のしづらさ」 になる。

或る分布に対し次の試行を行うとき、その結果の不確定さの期待値。

理解2.必要なビット数の期待値

再びビットで考える。logの底を2とする。

具体的問題から計算して、性質を理解する。
エントロピーでは、取り得るすべての確率変数と、その確率を考慮する、という事を念頭に問題設定する。

エントロピーの計算では最小必要ビット数の期待値を得る。
これを実現するには、情報の圧縮をする。

例題:以下の文字列(16文字)をエンコードするのに必要な最小ビット数は?

  • AAAA ABBB CDDD DDDD
    (→ 確率変数は全部で4種類あり、各確率変数の確率は今観測した値から求める)

解:

  • 1.エントロピー計算:定義式通りに計算
     但し、確率$P(x_i)$を「$x_i$出現数 / 文字数(16文字)」とする。
$x_i$ A B C D
$P(x_i)$ 4/16 3/16 1/16 7/16
$-log_2(P(x_i))$ 2 2.415 4 1.193
\begin{align}
H(P) &= \sum_i -P(x_i)log_2(P(x_i))  \\ 
&= -(4/16)log_2(4/16) - (3/16)log_2(3/16) - (1/16)log_2(1/16) - (7/16)log_2(7/16) \\ 
&= 4/16 \times 2 + 3/16 \times 2.415 + 1/16 \times 4 + 7/16 \times 1.193 \\
&\approx  1.725
\end{align}
  • 2.実際に使用するビット数:
    • 圧縮なし:4文字なので 2ビット

      • 文字 A B C D
        ビット 00 01 10 11
    • 圧縮する:ハフマン符号化

      • 文字 A B C D
        ビット 01 001 000 1
      • エンコードする
      • AAAA ABBB CDDD DDDD = 01 01 01 01 01 001 001 001 000 1 1 1 1 1 1 1
      • ビット数:29ビット/16文字 → 平均 $\approx$ 1.813 bit

 全体の平均である、という事を考慮して圧縮する。
 エントロピーが「平均」情報量であることが強調される操作となる。

エントロピーまとめ

  • 情報量の期待値
  • 分布全体の確率変数を考慮する
  • 分布に対して試行するときに得られる結果の不確かさ
H(P) = \sum_i P(x_i) \frac{1}{\log P(x_i)} = -\sum_i P(x_i) \log P(x_i)

まとめ

情報量

  • 或る確率について「希少さ」を表す量
  • logの性質から、確率を表現するのに必要なビット数(logの底が2のとき)に対応している(使用する情報の量)
I(X) = -P(x) \log P(x)

エントロピー

  • 情報量の期待値
  • 分布P(X)からの試行の不確定さを表す
  • 確率変数全体を考慮
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?