最終更新:2017年6月12日

この記事では「情報量をどのように定義するか」という問題への回答としての、情報エントロピー、そして、相対エントロピー(別名:カルバック・ライブラーの情報量)や相互情報量の導入とその解釈の仕方を説明します。

統計学や機械学習を学ぶ際に、どうしても必要となる考え方ですので、ある程度まとまった知識、解釈の仕方を持っておくと、少し難しい書籍を読んだ時にも対応ができるようになるかと思います。



スポンサードリンク

目次

  1. 情報理論とは
  2. 情報量を定義する
  3. 情報エントロピーと平均情報量
  4. 相対エントロピー
  5. 相互情報量

 

1.情報理論とは

情報理論とは、文字通り「情報とは何かを定義し、より良い扱い方を考える学問」といえます。
その中でも大きく3つのジャンルに分けることができます。

1つ目は、そもそも情報量をどのように定義するか、という問題を解決するジャンル。
2つ目は、情報を、いかに効率よく送受信させるかを考えるジャンル。
3つ目は、送信された情報に雑音が入った時に、どのようにしてノイズを減らすかを考えるジャンルです。

2つ目は「符号理論」などと呼ばれることもあります。
3つ目は「誤り検出・訂正符号」という問題で多くの成果を残しています。

もちろん、この3つに分類ができないものもあるでしょうが、おおよその見取り図として「情報量を定義して、ノイズを減らしつつ、うまいこと送受信する」という大きな目的があるのだと思うとわかりよいかと思います。

この記事では、まずは「そもそも、情報をどのように定義するか」という1つ目の問題に関して焦点を当てて解説していきます。

 

2.情報量を定義する

これから情報量を定義していくわけですが、その前に、とても重要な前提条件を共有しておかなければなりません。
それは「定義された情報量は、今後いろいろの計算に”扱いやすい”形式になっていなくてはならない」ということです。
もちろん「扱いやすいだけでなく、私たちの直感とそれほど相違がないものにしたい」という願いもあります。

この2つを同時に満たした情報量の定義をしなくてはなりません。

まずは直感的な定義を導入しましょう。

情報量の性質1:珍しいことは情報量が多い

あなたは賭けをしているとしましょう。ルーレットです。なお、出る目に偏りはない、公平なルーレットだとします。
このルーレットには1~40までの番号が振られています。
そして、あなたは「ルーレットが出た目」を当てればお金がもらえます。

以下の2つの「情報」のうち、どちらのほうが「情報量が多い」とみなせるでしょうか。
言い換えると「どちらか片方だけの情報が(ともに無償で)得られるとしたら、どちらの情報がほしいですか?」という問いにしてもかまいません。

A:1~20のうちのどれかの目が出た
B:1~10のうちのどれかの目が出た

Bの情報を手に入れた後に賭けをしたほうが、断然お得です。
情報Aを手に入れたとしても「まだ20個ある候補のうちどれが正しいのかわからない」ことになります。
一方の情報Bですと「あと10個の候補のなかから選べばいい」ことになるので、賭けが当たりやすくなります。

ここで、情報理論では確率を使います。

Aが発生する確率は2分の1です。
Bが発生する確率は4分の1です。
そして、Bのほうが情報量が多い。

これを一言でいうと「発生する確率が低いこと(珍しいこと)が分かった時のほうが、情報量が多い」ということになります。

これが情報量の直感的な定義です。

情報量の性質2:情報は足しあわされていく

先ほどのルーレットの例を続けましょう。

情報Bを手に入れたあなたに、さらにワンチャンス。追加で以下の情報が伝えられたとします。

情報C:出た目は偶数である

情報量が増えて、うれしいことですね。もう、「2,4,6,8,10」のどれかから選ぶだけでよいのですから。1~40の目の中から1つを選ぶというのとは大違いです。

では、ここで「なぜ情報量が増えたとみなせるのか」を考えましょう。
先ほどの情報量の直感的定義を使えば「『BとCが同時に起こる確率』が、『Bが単独で起こる確率』よりも小さいから」ということになります。

どれくらい確率が小さくなったのかを計算します。
偶数になる確率は2分の1です。またB(1~10の目が出る)となる確率は4分の1だったことに注意してください。
BとCが同時に起こる確率は以下のように計算できます。

1/4 × 1/2 = 1/8

確率が8分の1にまで減りました。
確率が小さくなった。だから「あなたが持っている情報量が増えた」ということになります。

ここで確率を「掛け算」することによって、情報量が増えたことを計算していました。
しかし、「掛け算」というのは足し算よりもより取り扱いが難しい計算です。
そこで「掛け算を足し算として表したい」という「数学的なニーズ」が出てきます。

情報量の定義

以下の2つの要請を満たす「情報量」を定義しましょう。
1:発生する確率が低いこと(珍しいこと)が分かった時のほうが、情報量が多い
2:情報量は足し算で増えていく。

この条件を満たす情報量は以下のように定義できます。あることが分かった際の「そのことの情報量」を自己情報量と呼びます。

$$自己情報量 : i(x)=-\log_{ 2 } P(x)$$

ここでP(x)は、「あることが起こる確率」を表します。例えば1~10の目がでる確率ならば1/4となりますね。
頭にマイナスがついているので「確率が小さくなるほど、情報量は大きくなる」ことが分かります。

また対数がついています。
対数の中は、掛け算が足し算となります。

対数の復習をします。
2の3乗は、2×2×2=8ですね。なので、対数を使うと以下のように書けます。

$$\log_{ 2 } 8 = 3$$

ここで、logの右下についている数値(この場合は2)のことを「底」と呼びます。その横の数値(この場合は8)を真数と呼びます。
対数とは「2の〇乗=8」となる〇を表す記号です。用語を使うと「底の〇乗=真数」となる〇を表すことになります。

ここで、真数を掛け算してみましょう。

$$\log_{ 2 } (8 \times 2) = \log_{ 2 } (16) = 4 $$

これは以下のようにも書けます。

$$\log_{ 2 } (8 \times 2) = \log_{ 2 } (8) + \log_{ 2 } (2) = 3 + 1 = 4 $$

というわけで、真数の掛け算は、対数同士の足し算になるというわけです。
先のルーレットの例において、Bが起こる確率をP(B)、Cが起こる確率をP(C)、各々の自己情報量をi(B), i(C)とすると、情報量は以下のように変化したことになります。

$$\begin{array}{1}
i(B)=-\log_{ 2 } P(B) \\
i(C)=-\log_{ 2 } P(C) \\
i(B) + i(C) =-\log_{ 2 } \{P(B) \times P(C) \} = -\log_{ 2 } P(B) - \log_{ 2 } P(C)
\end{array}$$

なお、対数の底は2を使うことが多いです。これはコンピュータが0か1かの2択で動いているからです。対数の底を2とした情報量の単位をビット(bit)と呼びます。
もちろん、対数の底を変えても情報量の性質は大きくは変わりません。底を自然数(e)にした時の情報量の単位はナットと呼ばれます。

対数は単調増加する関数ですので、これを使うと「確率が減れば情報量は増える」という性質は残したまま「掛け算を足し算にする」ことができます。
数学的にも取り扱いがとても簡単になるので、対数を使うのです。

 

3.情報エントロピーと平均情報量

ルーレットの例をまた使います。

情報Bと情報Cを手に入れて、出る目が{2,4,6,8,10}のどれかになるところまではわかりました。
その時、怪しげな男に以下の相談を持ち掛けられたとします。

「出た目をこっそり教えてあげよう。その代り、金をくれ」

悪い取引ではないですね。出た目が分かれば確実に賭けに当たるわけですから。
問題はいくら払うかです。
だって、もう「あと5つにまで絞れている状態」なのですから、追加の情報が得られてもあまりうれしくありません。

ここで、話を変えましょう。
もし、情報Bと情報Cを手に入れていなかったとしたら、1~40までの目のうちのどれが出るかさっぱりわからないという状態だったわけです。
このときに「出た目をこっそり教えてあげよう。その代り、金をくれ」といわれたら、ちょっと大きな金額でも出してあげようかという気持ちになりますね。

ここで、情報理論の本質ともいえる、とても重要な事実に気が付きます。

それは「男が提供する内容には違いがないのにかかわらず、その事実のもつ重要さが変わってくる」ということです。
男が持ち掛けた相談は「出た目を教えてあげる」ということでした。内容は全く変わりません。
それなのに、なぜその事実の持つ重みが変わるのか。

それは「あなたが今、どれだけの情報を持っているのか」が違っているからです。
言い換えると「あなたが何も知らない状態ならば、追加の情報はとてもうれしい」一方で「あなたが多くを知っている(知らないことがほとんどない)状態で、追加の事実が明らかになっても、それは情報量が少ない」ということになるのです。

この原理を使って、男から得られる「出た目を教えてあげる」という言葉の重みを測りましょう。
(なお、怪しげな男は、見た目とは裏腹に、必ず正しい結果を伝えてくれるとします)

まず、男がどのような結果を出してくるかはわかりません。
ルーレットの目は複数あります。男が「2の目が出た」というかもしれませんし「8の目が出た」と教えてくれるかもしれません。
なので男から得られる情報量は「男の主張する内容に対する、平均的な情報量」とみなす必要があります。

「男の主張する内容に対する、平均的な情報量」は、「あなたが出た目に対してどれほど『知らないことがあるか』」によって決まります。

まずは、情報B、Cをすでに持っていて、出た目が{2,4,6,8,10}のどれかだと知っている場合の平均情報量を求めます。
平均値は、期待値として計算します。
期待値は「確率×その時の値の合計」で計算できます。
出る目はすべて等分に「5分の1」の確率で現れることに注意してください。

$$
\begin{eqnarray}
平均情報量 : H(X) &=& \displaystyle \sum_{ i = 1 }^{ 5 } - P(x_i) \times \log_{ 2 } P(x_i) \\
&=& -\frac{ 1 }{ 5 } \times \{ \log_{ 2 } \frac{ 1 }{ 5 } + \log_{ 2 } \frac{ 1 }{ 5 } + \log_{ 2 } \frac{ 1 }{ 5 } + \log_{ 2 } \frac{ 1 }{ 5 } + \log_{ 2 } \frac{ 1 }{ 5 } \} \\
&≒&2.32
\end{eqnarray}
$$

一方、40個の目のうち、どれが出るかさっぱりわからない、という状態では、以下のように計算できます。
なお、各々の目が出る確率は40分の1であり、以下の式の「...」にはlog2(1/40)が40回足されているのだという風にご理解ください。

$$
\begin{eqnarray}
平均情報量 : H(Y) &=& \displaystyle \sum_{ i = 1 }^{ 40 } - P(y_i) \times \log_{ 2 } P(y_i) \\
&=& -\frac{ 1 }{ 40 } \times \{ \log_{ 2 } \frac{ 1 }{ 40 } + \log_{ 2 } \frac{ 1 }{ 40 } + ... + \log_{ 2 } \frac{ 1 }{ 40 } + \log_{ 2 } \frac{ 1 }{ 40 } \} \\
&≒&5.32
\end{eqnarray}
$$

やはり、こちらの方が平均情報量が多いことが分かりました。
知っていることが少ない(わからないことが多い)人ほど、得られる情報量の平均値は大きくなることが分かります。

この「わからなさ」あるいは「不確実性」のことを、専門用語で「情報エントロピー」と呼びます。
そして、「わからなさ」は「新たに何か分かった時の平均情報量」と等しくなります。

よって、
情報エントロピー = 平均情報量
として定義されます。

 

別の例をあげましょう。
ルーレットの出目がまったくわからない状況で、以下のように持ち掛けられます。
「ルーレットの出目が、2か、2でないか、を教えてあげよう。その代り、金をくれ」

このとき、話を持ち掛けてきた男に、大きなお金を渡そうと思うことはないと思います。
少なくとも「ルーレットの出目を直接教えてくれる」場合と比べれば、明らかにその言葉の重みは低いとみなすところです。
なぜか。それは「ルーレットの出目が、2か、2でないかは、最初からすでにある程度分かっているから」です。

40通りの目の中で、2が出る確率は40分の1です。
一方、2以外の目が出る確率は40分の39となります。
だから「2でないだろうとあらかじめ予想ができる」ことになります。
予想がつくということは「ある程度分かっている→不確実性(情報エントロピー)が少ない→平均情報量が少ない」となるわけです。

このときの情報エントロピー(平均情報量)は以下のように計算できます。

$$
\begin{eqnarray}
平均情報量 : H(M) &=& \displaystyle \sum_{ i = 1 }^{ 2 } - P(m_i) \times \log_{ 2 } P(m_i) \\
&=& -\frac{ 1 }{ 40 } \log_{ 2 } \frac{ 1 }{ 40 } - \frac{ 39 }{ 40 } \log_{ 2 } \frac{ 39 }{ 40 } \\
&≒&0.17
\end{eqnarray}
$$

やはり、小さな値になっていますね。

二択の問題であったとしても、以下のような話のほうが、平均情報量は大きくなります。
「偶数か、奇数かを教えてあげよう」
偶数になる確率は2分の1。奇数になる確率もやはり2分の1です。
すなわち「偶数が出るか奇数が出るか、予想がつかない」わけです。
予想がつかない→不確実性(情報エントロピー)が大きい→平均情報量も大きい、となります。

$$
\begin{eqnarray}
平均情報量 : H(N) &=& \displaystyle \sum_{ i = 1 }^{ 2 } - P(n_i) \times \log_{ 2 } P(n_i) \\
&=& -\frac{ 1 }{ 2 } \log_{ 2 } \frac{ 1 }{ 2 } - \frac{ 1 }{ 2 } \log_{ 2 } \frac{ 1 }{ 2 } \\
&=&1
\end{eqnarray}
$$

さっきの0.17よりかは大きな値になっています。
ちなみに、二択の問題であれば、2分の1ずつに分かれる場合が、最も情報量が大きくなります。これが最も予測しにくいからですね。



スポンサードリンク

 

4.相対エントロピー

相対エントロピーは別名カルバック・ライブラー(Kullback-Leibler)の情報量ともよばれる指標です。
これは確率分布の差異を表す指標といえます。分布間擬距離とも呼ばれます。
「擬」という言葉がある通り、正確な距離とは言えないところはありますが、確率分布ごとの違いを見るのによく使われます。

今までのルーレットの例をまた使いましょう。
ルーレットで偶数が出るか奇数が出るかを当てたいとします。
これが当たれば、お金ゲットです。

ルーレットが、偏りがなければ、以下のような確率分布になると想定されます。
この確率分布を便宜上Pとあらわします。
$$\{P(偶数), P(奇数)\} = \{ P_1, P_2 \} = \{\frac{ 1 }{ 2 }, \frac{ 1 }{ 2 }\}$$

ここで、「実は、このルーレットには偏りがあり、偶数のほうが出やすいのだ」ということを知ったとしましょう。
新しい確率分布をQと表します。
$$\{P(偶数), P(奇数)\} = \{ Q_1, Q_2 \} = \{\frac{ 3 }{ 4 }, \frac{ 1 }{ 4 }\}$$

もともと「こうだろう」と思っていた確率分布と、偏りがあるとわかった後の確率分布の違いはいかほどのものでしょうか。

この距離を測るために、各々の確率分布の情報量の差分の期待値をとります。
これが相対エントロピーです。なお、対数の中では、掛け算が足し算になるように、引き算は割り算になることに注意してください。

$$
\begin{eqnarray}
相対エントロピー &=& \displaystyle \sum_{ i = 1 }^{ 2 } Q_i \times \{ - \log_{ 2 } P_i - ( - \log_{ 2 } Q_i ) \}\\
&=& \displaystyle \sum_{ i = 1 }^{ 2 } Q_i \log_{ 2 } \frac{ Q_i }{ P_i } \\
\end{eqnarray}
$$

「あらかじめわかっていた確率分布」と同じ確率分布を教えてもらったところで「そんなこともう知っているよ」という感じになりますね。
なので、この場合は情報量は0となります。
確率分布が異なっていれば、情報量があるとみなすのが、カルバック・ライブラーの情報量です。

 

5.相互情報量

相互情報量は不確実性(情報エントロピー)の減少量とみなすことができます。
先のルーレットの例において、情報B(ルーレットの出目は1~10のどれかだ)だけが得られているときに、さらに情報C(ルーレットの出目は偶数だ)が追加されると、情報量が増えました。
言い換えると、不確実性(情報エントロピー)が減ったことになります。
どれくらい減ったのでしょうか。
以下のように表記することとします。

$$
\begin{eqnarray}
I(B; C) &=& もともとのBの不確実性 - Cが分かった後のBの不確実性 \\
&=& H(B) - H(B|C) \\
\end{eqnarray}
$$

縦棒は「条件」を表します。
H(B)は「B(出目が1~10である)」時の情報エントロピー。
H(B|C)は「C(奇数か偶数かが分かっている)という条件での、B(出目が1~10である)」時の情報エントロピーを表します。
縦棒がついた時を「条件付きエントロピー」と呼びます。

よって、この場合の相互情報量は「偶数か奇数かがわかることによって、不確実性がどれほど減ったのか」を表す指標だとみなすことができます。

 

ここから、少し数式が増えますが、条件付きエントロピーと相互情報量の値を計算してみます。
なお、先ほどの例では「C:偶数だということが分かった」としてありますが、より一般的に「C:偶数か奇数か分かった」時の条件付きエントロピーとみなして計算を進めます。
またBとは「出目が1~10のどれかである」ことを表していることも忘れないようにしてください。
なお、今回は、一切偏りのないルーレットであることを仮定して計算します。

まずは条件付きエントロピーを分解しましょう。
$$
\begin{eqnarray}
H(B|C) &=& \displaystyle \sum_{ i = 1 }^{ 2 } P(c_i) \times H(B|c_i)\\
&=& P(偶数) \times H(B|偶数) + P(奇数) \times H(B|奇数)\\
\end{eqnarray}
$$
日本語で書くと
「偶数であるという条件におけるBの情報エントロピー」と「奇数であるという条件におけるBの情報エントロピー」の期待値をとっていることになります。

次は、偶数だとわかっているときの情報エントロピー H(B|偶数) を求めましょう。
出目は{2,4,6,8,10}のどれかになるはずです。

$$
\begin{eqnarray}
H(B|偶数) &=& \displaystyle \sum_{ i = 1 }^{ 5 } - P(x_i) \times \log_{ 2 } P(x_i) \\
&=& -\frac{ 1 }{ 5 } \times \{ \log_{ 2 } \frac{ 1 }{ 5 } + \log_{ 2 } \frac{ 1 }{ 5 } + \log_{ 2 } \frac{ 1 }{ 5 } + \log_{ 2 } \frac{ 1 }{ 5 } + \log_{ 2 } \frac{ 1 }{ 5 } \} \\
&≒&2.32
\end{eqnarray}
$$

2.32となりました。
奇数だとわかっているときも同様に出目が{1,3,5,7,9}のどれかになるため、偶数と同じように、2.32と求まります。

最後に、偶数奇数が分かっていない時のBの情報エントロピーを求めます。「...」にはlog2(1/10)が10個入ります。
$$
\begin{eqnarray}
H(B) &=& \displaystyle \sum_{ i = 1 }^{ 10 } - P(x_i) \times \log_{ 2 } P(x_i) \\
&=& -\frac{ 1 }{ 10 } \times \{ \log_{ 2 } \frac{ 1 }{ 10 } + \log_{ 2 } \frac{ 1 }{ 10 } + ... + \log_{ 2 } \frac{ 1 }{ 10 } + \log_{ 2 } \frac{ 1 }{ 10 } \} \\
&≒&3.32
\end{eqnarray}
$$

というわけで、相互情報量は以下のように計算できます。

$$
\begin{eqnarray}
I(B; C) &=& もともとのBの不確実性 - Cが分かった後のBの不確実性 \\
&=& H(B) - H(B|C) \\
&=& H(B) - \{ P(偶数) \times H(B|偶数) + P(奇数) \times H(B|奇数) \} \\
&=& 3.32 - ( \frac{ 1 }{ 2 } \times 2.32 + \frac{ 1 }{ 2 } \times 2.32 )\\
&=& 3.32 - 2.32 \\
&=& 1 \\
\end{eqnarray}
$$

偶数か奇数かがわかることによって、情報エントロピーは1bit少なくなりました。
よって「偶数か奇数かがわかること」は「平均的には1bitの情報量をもたらした」とみなすことができるというわけです。

 

参考文献

情報理論のエッセンス
 
情報理論を初めて学ぼうとされる方にお勧めの本です。
そっけない表紙の本ですが、オーム社さんから出版される前から昭晃堂さんから出版されていて、順調に版を重ねているロングセラーです。
タイトルに偽りなしで「エッセンス」が抽出されています。薄い本なのに関わらず、数式は多くなく、情報理論において基本となる重要ポイント、そして「情報理論の使い方」に焦点を当てている本です。
工学部の先生が書かれているようでして、情報理論を専門外としている人でも納得できるように書かれてあるのがとてもありがたいです。
 

シャノンの情報理論入門

 
こちらはBLUE BACKSの新書です。
情報理論って、何やってる学問なのかな、というのをさらっと読みたい方にお勧めします。
 

情報理論 (ちくま学芸文庫)

 
文庫本なのですが、かなり内容が濃いです。情報理論の全体像をしっかり見てみたいという方はこちらをどうぞ。Kindle版もあります
 

基礎情報学

 
これは、今まで紹介した本とはかなり毛色が違い「情報理論の解釈」が多く載っている本です。例えば相対エントロピーだけで1章が分けられており、著者の方の一部独自(?)の解釈も展開されているように思います。
入門書というかは微妙ですが、AICに関する記述などもあり、興味深い本ではあります。
 



スポンサードリンク

関連する記事