最近の話題

今回使うExcelファイルをダウンロードしよう。
今回使うExcelファイルのダウンロード

情報理論

ハードディスクに800GB記録できるといったときの800GBは、データ量と呼ばれる。
データ量は、データの内容は関係ない。

そうではなく、データの内容を考慮したものが情報量である。

衝撃スクープ!

世の中には「衝撃スクープ!」と呼ばれる情報がある。
何を持って「衝撃」というかは個人的な関心にもよるだろうが、そういう人間の主観を取り除くと、一般に「衝撃スクープ!」というのは「ありえないことが起きた!」 「非常にめずらしいことが起きた」というような事件の報道に対して「衝撃スクープ!」ということが多い。
つまり、「確率が非常に小さいようなことが起きる」ということに対して「衝撃度が大きい」と考えることにしよう。
このように、確率を使うことで、データの内容を数値化できる。

自己情報量

確率Pから衝撃度Sを計算してみたいが、その計算式はどういうものがいいだろうか?



としたときの関数fを決めよう。
その場合、以下のような用件はほしいところである。

1)確率1の出来事が起きた場合、まったく当たり前のことが起きたので、衝撃度は0である。
すなわち

 

例:「池に落ちたら濡れた」とか、「塩をなめたらしょっぱかった」とか、こんな情報は衝撃度=0である。

2)確率が非常に小さな出来事が起きた場合、衝撃度は大きくなる。
最大値は適当な有限値でもかまわないが、ここは

としよう。
例:「小学生と藤井聡太が本気で将棋をして小学生が勝った!」とか「古代恐竜が生きたまま発見!」とか、こういう情報は衝撃度が非常に大きい。

3)確率P1の出来事と確率P2の出来事が同時に起きる確率はP1×P2であるが、このとき衝撃度は確率P1の出来事の衝撃度と、確率P2の出来事の衝撃度の和となるとしよう。
(和でなければ絶対にだめということもないのだが、まぁ一種の考え方である。)
すなわち 



例:あるゴルフコースで、最初のホールでホールインワンが出る確率がP1であり、二番目のホールでホールインワンが出る確率がP2であるとする。
2連続でホールインワンが出る確率はP1P2であり、衝撃度は、「最初のホールでホールインワンが出る」という衝撃度+「二番目のホールでホールインワンが出る」という衝撃度 で表される。

こんなふうになっている関数fを探そう。

このような条件を満たす関数として



がある。
(マイナスがないと、p→0 であるとき、f(p)→-∞になってしまう。)
そこで、確率Pの出来事が起きた場合の衝撃度Sを


と表すことにする。

実は、「衝撃度」というのはここのページだけの用法であり、-log P は正しくは自己情報量という。

底の問題
衝撃度(自己情報量)を計算するときのlogの底は何がいいのだろうか?

一般的には -log10P でも -logeP でもいいのだが、よく使われる底は2である。


である。
底を2にしたときの情報量の単位をbit(ビット)という。
底をeにしたときの情報量の単位をnat(ナット)という。
底を10にしたときの情報量の単位をdecit(デシット)あるいはdit(ディット)あるいはHartley(ハートレー)という。

情報エントロピー

確率が小さい出来事が起きると衝撃度は大きい。
しかし、確率が小さいので、衝撃度の大きな出来事はあまりおこらない。
そこで、衝撃度(自己情報量)の期待値というものを考えてみる。
すなわち

というものを考える。
ここで、Piはi番目の事象(出来事)が起きる確率である。
全部でN通りの事象があれば、確率の合計が1になるので

である。

このHが情報エントロピーと呼ばれるものであるが、これはどんな性質も持つだろうか?

競馬を考えよう。
簡単のため、4頭のレースを考える。 競馬と言うのは過去の実績から、ある程度出走馬の情報があり、勝つ確率がわかっている。
ただ、最初はそういう過去の実績などがわからないとする。
この場合、それぞれの馬が勝つ確率は等しいと考えるしかないだろう。

Excelで情報エントロピーを計算してみよう。
競馬のタブを開く。

底が2のlog関数は、=log(セルの場所.2)と打つ。

そして、それを合計して情報エントロピーを求めよう。

情報エントロピーは2である。

さて、ここで過去の実績の情報が届いたとする。
その結果、ハイサイコーは圧倒的に強いことがわかった。
その結果、勝つ確率が変動する。

この状態で情報エントロピーを求めよう

ハイサイコーは圧倒的に強いことがわかったあとの情報エントロピーは0.241941 となった。

この2→は0.241941 の差の1.758059 が、「ハイサイコーは圧倒的に強い」という情報の数値化ということになる。
このように、情報エントロピーを使うと、情報を数値化することができる。

情報エントロピーの別の見方

上の例で、最初の情報が何もない状態のとき、情報エントロピーは2であった。
このとき、どの馬が勝つかの予測は難しい。

しかし、「ハイサイコーは圧倒的に強い」という情報を得た後は、どの馬が勝つかの予想がしやすい。
このときの情報エントロピーは0.241941であった。

このように、情報エントロピーは予想のしやすさの目安になる。
情報エントロピーは小さい程、予想がしやすい。

競馬予想アプリを開発するとき、全てのレースの勝馬が予想できるのが理想であるが、
「このレースは、予想が難しいので、馬券を買うのをやめましょう」とアドバイスする予想アプリがあってもよい。
そういうとき情報エントロピーの値が判断基準となる。

これ以外にも情報エントロピーや、それに関連したものを扱う情報理論は様々な応用があるが、残念だが詳細に説明している時間がない。
この後の話ともあまり関連がないので、このあたりで次の話題に進もう。

:ビッグデータの活用