結合エントロピーと条件付きエントロピー

前回の記事に続いて平均情報量(エントロピー)の話です。

参考: 平均情報量(エントロピー)の定義について

今回の記事ではその2次元版とも言える2種類のエントロピーを紹介します。この2つについてはどうも情報量よりエントロピーと呼ぶことが多いようなのでそのように書きます。また、数式中に和の記号がたくさん登場し、添え字書いていくと大変だし、かえって混乱もまねくので、$\sum_{k=1}^n f(a_k)$ を $\sum_{A}f(a)$のようにシンプルに書きます。

そのため、$A = \{a_k\}$のエントロピーは次のように書きます。

$$H(A) = \sum_{A}P(a)\log{P(a)}.$$

参考にした本は前回の記事同様、平田先生の「情報理論のエッセンス」です。

結合エントロピー

まず紹介するのはエントロピーの2次元版ともいえる、結合エントロピーです。これは二つの事象の集合 $A={a_k}$ と $B={b_l}$に対して定義されます。$a_k$と$b_l$が発生する確率を$P(a_k, b_l)$ とすると、結合エントロピーは次のように定義されます。

$$H(A, B) = – \sum_{A}\sum_{B}P(a, b)\log{P(a, b)}.$$

ここで、$\sum_{A}\sum_{B}P(a, b)=1$であることに注意してください。

これはもう、$A$と$B$の組みあわせとして発生しうる事象を全て列挙してそれに対してエントロピーを計算したようなもので、とてもわかりやすい定義だと思います。

$A$と$B$の結果を知った時に得られると期待できる情報量、とも言えます。

条件付きエントロピー

次に紹介するのは条件付きエントロピーです。これは先ほどの結合エントロピーと少し状況が異なり、あらかじめ$B$に関する情報を知った上で後から$A$についての結果を得たらどれだけの情報量を得られるかを表すものです。

こちらは結合エントロピーと違って、定義をバシッと書いてもわかりにくいので例を取り上げて順番に説明します。

本の例では、$A$がサイコロの目で$\{1, 2, 3, 4, 5, 6\}$、$B$が偶数/奇数というものを取り上げていましたのでここでもそれにならいます。$b_1$が偶数で$b_2$が奇数です。

まず$A$のエントロピーは$H(A)=-\sum_{k=1}^{6}\frac{1}{6}\log{\frac{1}{6}}=\log{6}\fallingdotseq 2.58$ です。

ここで、サイコロをの目を見る前になぜか偶数か奇数かだけわかり、$b_1$ = 偶数だったとしましょう。その後に目を確認するとすると、$2, 4, 6$が出ている確率は$1/3$で、$1, 3, 5$が出ている確率は$0$ということになります。

つまりサイコロの目を見ることで得られる情報量は、

$H(A|b_1) = -\sum_{A}P(a|b_1)\log{P(a|b_1)} = -\sum_{a\in\{2, 4,6\}}\frac{1}{3}\log{\frac{1}{3}} = \log{3} \fallingdotseq 1.58$

となります。情報量が1だけ減っていますね。この1は、$\log{2}$相当の値で、事前に偶数か奇数かという情報を得たことで起こりうる確実性が$1/2$になったことを示しています。

同様に計算すると、事前に奇数だっと知らされた後に出た目を確認することによって得られる情報量$H(A|b_2)$も$\log{3}$だとわかります。

そして、いよいよ本題なのですが、ここで算出した$H(A|b_1)$, $H(A|b_2)$に、$B$の結果が$b_1$であるか$b_2$であるか、要するに偶数であるか奇数であるかの確率をかけて期待値を取ると、偶数か奇数かの事前情報がある場合の$A$のエントロピーの期待値$H(A|B)$を次のように求められます。

$$\begin{align}
H(A|B) &= H(A|b_1)P(b_1) + H(A|b_2)P(b_2)\\
&= \frac{1}{2}\log{3} + \frac{1}{2}\log{3} = \log{3} \fallingdotseq 1.58
\end{align}$$

この$H(A|B)$が条件付きエントロピーです。もっと一般の事例について定義し、$P$の式として表記できるよう変形しておくと、次のようになります。

$$\begin{align}
H(A|B) &= \sum_{B} H(A|b)P(b)\\
&= -\sum_{A}\sum_{B} P(a|b)P(b)\log{P(a|b)}\\
&= -\sum_{A}\sum_{B} P(a, b)\log{P(a|b)}.\\
\end{align}$$

結合エントロピーとぱっと見似ていますがよく見ると違いますね。$\log$の中身が結合確率ではなく条件付き確率になっています。

また、重要な性質として、次の大小関係が成り立ちます。

$$H(A|B) \le H(A).$$

各種エントロピー間の関係式

前回の記事も含めて3種類のエントロピーを定義したので、それぞれの間にある関係式を見ていきます。まず紹介するのは $H(A, B) = H(B) + H(A|B)$です。情報理論のエッセンスだと、ベン図みたいなのを描いてイメージで説明されていますが、計算すると次ようになります。

まず定義から次のようになります。

$$H(A, B) = – \sum_{A}\sum_{B}P(a, b)\log{P(a, b)}.$$

ここで、$P(a, b) = P(a | b) P(b)$であることと、$\log$内の積は和に分けれるので、次のようになります。

$$H(A, B) = – \sum_{A}\sum_{B}P(a, b)\log{P(a|b)} – \sum_{A}\sum_{B}P(a, b)\log{P(b)}$$

前半は$H(A|B)$の定義が出てきましたね。後半は、$\sum_{A}P(a, b) = P(b)$であることに注意すると、次のようになります。

$$H(A, B)= H(A| B) – \sum_{B}P(b)\log{P(b)} = H(A|B) + H(B)$$

$a, b$ 入れ替えて、$P(a, b) = P(b | a) P(a)$を使うと、全く同じようにして、$H(A, B) = H(A) + H(B|A)$ も示せます。

以上で、

$$H(A, B) = H(A) + H(B|A) = H(B) + H(A|B)$$

が示せました。これの中辺と右辺に着目して移行すると次も言えます。

$$H(A) – H(A|B) = H(B) – H(B|A).$$

また、左辺と右辺に着目し、$H(A, B)$と$H(A|B)$をそれぞれ移行して両辺に$H(A)$を足すとつ次の式が出てきます。

$$H(A) – H(A|B) = H(A) + H(B) – H(A, B).$$

左辺と中辺に着目して、$H(B|A)$を移行して両辺から$H(A|B)$を引くと、次の式が出てきます。
$$H(A) – H(A|B) = H(A, B) – H(A|B) – H(B|A).$$

以上をまとめると、次の4つの値は違いに等しいと言えます。
$H(A) – H(A|B)$
$H(B) – H(B|A)$
$H(A) + H(B) – H(A, B)$
$H(A, B) – H(A|B) – H(B|A)$

これを相互情報量と呼ぶのですが、長くなってきたので次の記事で詳しく説明します。

まとめ

今回の記事では結合エントロピーと条件付きエントロピーを紹介しました。

結合エントロピーの方は多次元へのシンプルな拡張というイメージでしたが、条件付きエントロピーはすでに何かしらの情報を得てる状況で新たに何かを知ったらどれほどの情報を得られるかを示すものでありなかなか重要な概念です。

また、結合エントロピーの方も重要ではないというわけではありません。実際にプログラム等で値を計算をするときは、条件付きエントロピーを直接算出する関数が主要ライブラリで提供されいていないという事情により、頻繁に算出することになります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です