2017年3月22日水曜日

サイコロのエントロピー

―― 前回のおしまいに、
 確率を〝逆数〟にしたあげく、その対数式にマイナス符号をつけるという手法は、〈情報エントロピー〉の基本手順となっています。
と書いたのですが、この表現には少々語弊(ごへい)があり、

「確率を〝逆数〟にしたうえで、対数式にマイナス符号をつける」
のじゃなくて、
確率を〝逆数〟で書くかわりに、対数式にマイナス符号をつける

という手法が、〈情報エントロピー〉算出の基本定理で用いられています。
シャノンの『通信の数学的理論』(岩波文庫版 90 ページ参照)の「定理 2 」です。
分数を使うよりも、短い横線(-)を計算式の冒頭に置いたほうが簡便ではあります。

ということは、するってと、確率が小さくなればなるほど、答えは大きくなるのです。
その基本的な計算の手順が、どうしてそうなるのか、計算式の変遷する形態を段階的に見ます。

そして、最後にそれをサイコロのエントロピーで考えてみて、
均等な 1 / 6 の確率が 6 個のときのエントロピーとは
単純な計算で、一応は算出できることが、今回の結論となります。

――以下、マイナス符号の位置を計算式の先頭に移動させる手順の羅列となっています。

〈情報エントロピー〉の計算

◉ まず「情報量」の計算式

   H ( X ) = - pi log pi

にいたる過程とその意味
● これは、確率の逆数の対数に〝確率を掛けたものを意味する

◎ 逆数の対数関数は、負の符号をつけて表現されたので

  X = log pi のとき(対数の底は問わない)
  - X = log (1 / pi) となり、また
  - X = - (log pi) なので
∴ log (1 / pi) = - (log pi)

さらに pi × log (1 / pi) = pi * log (1 / pi) という表記は、さらに
 pi × log (1 / pi) = pi log (1 / pi) と、簡便に表記されるので

● log (1 / pi) = - (log pi) より

pi log (1 / pi) = pi × { - (log pi) }
 = pi × { - 1 × (log pi) }
 = - 1 × pi × (log pi)
 = - { pi × (log pi) }
 = - pi (log pi)
 = - pi log pi

∴ pi log (1 / p) = - pi log pi

◉ 次に、互に排反の n 個の事象の確率をすべて足せば 1 となる確率の集合を考える。
――「確率」を全部足せば通常は 1 になる
(「排反」というのは「同時には起きない」ことをいう)

[p 1] + [p 2] + … + [p n] = 1

H を、確率の集合 ([p 1], [p 2], …, [p n]) のエントロピーであるというとき
 ∑ (シグマ)を、1 から n までの総和(全部足すこと)の表記記号として用いて

● pi log (1 / pi) = - pi log pi より

H = [p 1] log (1 / [p 1]) + [p 2] log (1 / [p 2]) + … + [p n] log (1 / [p n])
 = ∑ { pi log (1 / pi) }
 = ∑ { - 1 × (pi log pi) }
 = - 1 × ∑ (pi log pi)
 = - ∑ pi log pi

◎ 情報エントロピーというのは、情報量の世界の期待値にあたる
シャノンの定義した「情報量」は、〈ビット〉を単位とする、二択の回数で表現される。

自己情報量と定義されている量を、シャノンは、
ある事柄 X が起こる確率を P(X) としたとき、
これが与える情報量 H(X) として、

   H ( X ) = lb {1 / P ( X )} = - lb {P ( X )}

とあらわした。単位は〈ビット〉だから、対数の底は、2 となる。
lb は大文字で書けば LB で、2 を底とする対数記号)

この自己情報量に、さらにその出現確率をかけてから、全部足す。
――総和、つまりその集合に含まれるすべての[(出現)確率×自己情報量]を合計して、
期待値とする。これが〈情報エントロピー〉と呼ばれる量である。

   H = - ∑ pi lb pi

● すなわちこれが〈情報エントロピー H の計算式である

―― ここでようやくついにとうとう。
サイコロで考えてみるなら
1 / 6 の確率が 6 個、で計算すればよい

◎ 確率×自己情報量
   H (サイコロの目) = - (1 / 6) lb (1 / 6)
   = (1 / 6) lb 6

● この前作った、JavaScript を使った計算ページで、

lb 6 ≒ 2.584962500721156
これに、(1 / 6) を掛けたらいい。
つまりは 6 で割る。

さらにそれを、全部で 6 個足すなら結局、6 で割ったものに、6 を掛けることになる。
(2.584962500721156 ÷ 6) × 6 = 2.584962500721156

6 * (2.584962500721156 / 6) ≒ 2.585

約 2.585 ビットが、サイコロの〈情報エントロピー〉と計算された。
つまり、3 ビット以内ということは、2 × 2 × 2 = 8 種までの多様性で表現可能。

 そういうことか。均等に 1 / 6 ずつの確率だから、そうなるわなぁ。

0 件のコメント:

コメントを投稿