2017年3月24日金曜日

〝場合の数〟で計算する〈情報エントロピー〉

イカサマなしのサイコロの場合だと、「〝わからなさの程度〟を示す」ともいわれる
〈情報エントロピー〉は、前回の計算で、約 2.6 ビットでした。
このとき 6 種の事象としての数字 ―― 出る目の確率は、均等に 6 分の 1 ずつです。
ではこれが、出る目の確率が異なる場合だと、どうなるのでしょう。

 確率が異なる場合といえば、〝場合の数〟が現実的に算出可能なので、それで計算してみることにしました。
―― というわけで、このたび「確率」の本を参考にしようと繙いておりましたら、〝場合の数〟というのは、数学の用語で、「そういう〈場合〉の数」というふうに全体的なさまざまの〈場合〉の数という用いられ方がされると再認できましたので、その点に関し、これまでの〝その場しのぎの表現〟を、つつしんで訂正させていただきます。
―― なので。「正しい表現」は、やはり専門家に確認してくだされませ。
(ひとはうろたえると、嘘を、嘘や誤魔化しで訂正しかねない、と追加で銘じておきませう。)

さて。これまで使っていた〈場合の数〉というのは、
教科書的には〈組み合わせ〉の数といわれるようです。
そうしてまた、〈ビット数〉での 2 進数の組み合わせの計算などは、
〈重複順列〉もしくは「積の法則」というものが、該当するようです。
これは、「ひとケタずつ数を選んでいく場合」に、使えるようです。
「数を選んでいく〈場合〉」だと、「数字の個数のケタ数乗」で、
―― 例として、2 進数で、数字が 0, 1 の 2 個だと、
ケタ数が n として、「 2 の n 乗」と、なります。

また、この〈重複順列〉は、左右の箱に球を分けた場合の数にも該当します。
箱の数は、原則的には何箱でもいいのですが、
2 進数で〈情報エントロピー〉を考える都合上、今回は、
左と右のふたつとします。これを 0, 1 の 2 進数の数字と、考えます。
―― 左を 0 としたら、右は 1 として、数字を入れます。

 ケタ数が、球の数となります。球にも、ケタ数に該当する数字を書いておきましょう。
 球数(ケタ数)を、比較のためにサイコロの目の数に合わせれば 6 個となる。―― のですが、事象の数は、球数プラス 1 となるので、5 個と設定し、これで 5 ケタの数字を組み立てます。
 この球をランダムに箱に投入すると、それぞれのケタが、入った箱の数字で 0 か 1 と決まります。
 1 ケタ目の球から、5 ケタまで、どちらの箱に入っていたかを 0 と 1 で記録していけば、
―― その〝場合の数〟は、2 の 5 乗と、なります。

これは〈重複順列〉の計算と同じです。箱の数が 2 で、球の数が 5 です。
球の数を n とすれば、2 の n 乗となります。
箱の数を変えるなら、2 の代わりに、箱の数を使いましょう。
これは次に出てくる〈組み合わせ〉の合計数と、一致します。

◆ 5 個の球を、左右の箱に入れる〈組み合わせ〉の確率を計算する


まず〈組み合わせ〉の種類とその確率を「左:右」で並べてみる

5 : 0 ⇒  1 通り  1 / 32
4 : 1 ⇒  5 通り  5 / 32
3 : 2 ⇒ 10 通り  10 / 32
2 : 3 ⇒ 10 通り  10 / 32
1 : 4 ⇒  5 通り  5 / 32
0 : 5 ⇒  1 通り  1 / 32

 合計  32 通り 【( 2 の 5 乗) 通り】

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

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

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

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

H = - ∑ pi lb pi

★〔うえに示された式をもとに計算する

2 × { (1 / 32) * lb 32 + (5 / 32) * lb (32 / 5) + (10 / 32) * lb (32 / 10) }
 ≒ 2 × ( 0.03125 * 5 + 0.15625 * 2.678071905112638 + 0.3125 * 1.6780719051126378 )
 ≒ 2 × ( 0.15625 +  0.4184487351738497  + 0.5243974703476993 )
 ≒ 2 × 1.099096205521549
 ≒ 2.198192411

☆ 今回の計算では、約 2.198 ビットであった。

H ≒ 2.198

☆ 前回は、約 2.585 ビットが、サイコロの〈情報エントロピー〉と計算された。

H  6 * (1 / 6) * 2.584962500721156 ≒ 2.585

この結果は、
均等な確率のほうが〈情報エントロピー〉は大きくなるといわれていることと一致する

◆ この計算は、以下にリンクしてある資料ページの最後にある自前の計算式と同等内容となっています。
◇ JavaScript を使った【計算例】を、そのページ末尾にまたも、添付しておきました。


1948 ; 情報科学のエントロピー (情報エントロピー Ⅱ)
http://theendoftakechan.web.fc2.com/sStage/entropy/Shannon.html

0 件のコメント:

コメントを投稿