相互情報量の定義とその重要性をわかりやすく解説 | KLダイバージェンス
こんにちは、青の統計学です!
今回は、相互情報量 について解説します。
G検定にも範囲に入っていてびっくりしました。結構概念を理解するのに前提知識が必要なので、じっくり見ていきましょう。
数学的背景も踏まえて、理解が深まる構成にしているのでぜひ最後までご覧ください。
青の統計学では、noteで統計検定やG検定に関するチートシートを掲載しております。
こちらをクリックして、ぜひご覧ください。
相互情報量
相互情報量は、情報理論における概念です。
機械学習や情報理論の分野で幅広く利用されていますね。
ざっくりいうと、2つの確率変数の間の相互依存関係を定量化するための指標であり、エントロピーと密接に関係しています。
まず、エントロピーの定義から始めましょう。
確率変数$X$のエントロピーは、その不確実性を測る指標であり、次のように定義されます。
$$
H(X) = -\sum_{x \in \mathcal{X}} p(x) \log p(x)
$$
ここで、$\mathcal{X}$は$X$の値の集合、$p(x)$は$X=x$の確率質量関数または確率密度関数です。
エントロピーは、確率分布の平均情報量を表しています。
次に、2つの確率変数$X$と$Y$の同時エントロピーを定義します。
$$
H(X, Y) = -\sum_{x \in \mathcal{X}} \sum_{y \in \mathcal{Y}} p(x, y) \log p(x, y)
$$
ここで、$p(x, y)$は$X=x$かつ$Y=y$の同時確率質量関数または同時確率密度関数です。
同時エントロピーは、$(X, Y)$の組の不確実性を測ります。
上の情報を使って、相互情報量は次のように定義されます。
$$
I(X; Y) = H(X) + H(Y) – H(X, Y)
$$
相互情報量は、$(X, Y)$の組に含まれる情報量から、$X$と$Y$がそれぞれ持つ情報量の和を引いたものです。
直感的には、$X$と$Y$が独立であれば、相互情報量は0になります。
一方、$X$と$Y$が完全に相関している場合、相互情報量は最大値をとります!
これ、実は別の表し方ができます。
確率変数の同時確率分布や条件付き確率の考えを使えば、相互情報量をこんな感じで表すことができます。
$$I(X; Y) = \sum_{x \in \mathcal{X}} \sum_{y \in \mathcal{Y}} p(x, y) \log \frac{p(x, y)}{p(x)p(y)}$$
本質的な意味としてはエントロピーの件と同じで、$X$と$Y$の同時確率分布$p(x, y)$と、それぞれの確率分布$p(x)$と$p(y)$の間の違いを測っています。
$X$と$Y$が独立であれば、$p(x, y) = p(x)p(y)$となり、相互情報量は0になります。
逆に、$X$と$Y$が完全に相関していれば、相互情報量は最大値をとります。
相互情報量の性質
さて、定義が大体わかったところで、性質を見ていきましょう。
次のような性質があります。
$$\begin{align*}
I(X; Y) &= H(X) – H(X | Y) \\
&= H(Y) – H(Y | X) \\
&= \sum_{x \in \mathcal{X}} \sum_{y \in \mathcal{Y}} p(x, y) \log \frac{p(x, y)}{p(x)p(y)}
\end{align*}$$
$H(X | Y)$は$Y$が既知の時の$X$の条件付きエントロピーです。
いきなり、条件付きエントロピーといっても謎だと思います。
条件付きエントロピーは、ある事象が既知の場合の別の事象の不確実性を表します。
上の等式は、相互情報量が$X$と$Y$の間の情報の重複度合いを表していることを示しています。
もうちょっと具体的にいうと、$X$について$Y$が既知の場合の条件付きエントロピーは、$Y$が既知の場合の$X$の不確実性の減少分が、相互情報量に等しいのです。
このように、相互情報量は確率変数間の統計的な依存関係を測る指標として使えます。
使い道として挙げておくと、変数選択や次元削減ですね。
機械学習モデルを構築する際、多数の説明変数から重要な変数を選択したり、変数の次元を削減したりする必要があります。
この場合、目的変数$Y$と各説明変数$X_i$の相互情報量$I(X_i; Y)$を計算し、相互情報量が大きい変数を選択することで、変数選択や次元削減を行えます。
エントロピーとKLダイバージェンスについて
ここでは、そもそものエントロピーについて掘り下げていきます。
「情報量が多い!」みたいな言葉がありますが、あれとは少し情報量の意味が異なります。
こちらは、未確定の状態からこれから得られる情報の量に関しての議論です。
先ほども触れましたが、情報理論におけるエントロピーは、確率変数Xの不確実性を測る尺度で、以下のように定義されます
$${H(X) = -\sum_{x \in X} p(x) \log_2 p(x)}$$
単位がビットのときに底が2になります。
これ、期待値の定義をよく理解していたらピンとくると重いのですが、情報量の期待値と解釈できます。
不確実性が高い(確率が小さい)ほど、その事象について知ることで得られる情報量が多くなります。(逆数をとるので)
エントロピーの性質をさらっておきましょう。
- 非負性:${H(X) ≥ 0}$
- 確実な事象のエントロピーは0:${p(x) = 1 }$$のとき、${H(X) = 0}$
- 離散一様分布で最大:すべての事象が等確率の時、エントロピーは最大になります
ここでよく出るトピックとして、KLダイバージェンス(相対エントロピーとも言います)があります。
$${D_{KL}(P||Q) = \sum_{x} P(x) \log_2 \frac{P(x)}{Q(x)}}$$
上は、二つの確率分布P,Qの間のKL divergenceを表しています。
分布間の距離を測る尺度として使用されます。
対数の除算は引き算に変形できることを踏まえると、こいつは交差エントロピー${H(P,Q)}$$と分布${P}$のエントロピー${H(P)}$の差として表現できます。
$${D_{KL}(P||Q) = H(P,Q) – H(P)}$$
- ${H(P)}$は分布Pのエントロピー: ${H(P) = -\sum_{x} P(x) \log P(x)}$
- ${H(P,Q)}$は交差エントロピー: ${H(P,Q) = -\sum_{x} P(x) \log Q(x)}$
直感的にいうと、KL divergenceは分布QからPへの情報利得と解釈できます。つまり、QをPの近似として使用した場合に失われる情報量を表します。
実際の機械学習での使われ方などは、こちらをご覧ください。
まとめ
– 相互情報量$I(X; Y)$は、2つの確率変数$X$と$Y$の相互依存関係を定量化する指標。
– 相互情報量は以下の式で定義される。
$$I(X; Y) = H(X) + H(Y) – H(X, Y)$$
ここで、$H(X)$と$H(Y)$はそれぞれ$X$と$Y$のエントロピー、$H(X, Y)$は$X$と$Y$の同時エントロピーである。
– 別の定義式は以下の通り。
$$I(X; Y) = \sum_{x \in \mathcal{X}} \sum_{y \in \mathcal{Y}} p(x, y) \log \frac{p(x, y)}{p(x)p(y)}$$
この式は、$X$と$Y$の同時確率分布$p(x, y)$と、それぞれの確率分布$p(x)$と$p(y)$の間の違いを測っている。
– 相互情報量は条件付きエントロピーとも関係があり、以下の式が成り立つ。
$$\begin{align*}
I(X; Y) &= H(X) – H(X | Y) \\
&= H(Y) – H(Y | X)
\end{align*}$$