ホーム » 未分類 » エントロピーとKLについて

エントロピーとKLについて

こんにちは。
本日は前回話したKLについてと基本となるエントロピーについてお話しします。とりあえずエントロピーから行きましょう。 エントロピーって物理でも使われる言葉です。今回扱うのは情報理論におけるエントロピーです。
情報量とはなにか?、たとえば、「カレー味の💩を食べた」と「💩味のカレーを食べた」という情報では、後者の方がえぐい情報だと思います。そうですよね?従って、その情報量も大きいと考えます。他には、次の彼女が「年下である」という情報と、「20歳のアイドルである」との情報では、後者が“情報量”が大きいことは明らかだろう。よって、情報量を数量的に規定するには、その情報の基になる事象の出現確率で表現すればよいことがわかります。
  • 珍しい事出現確率が小さい情報量が大きい
  • ありふれたこと出現確率が大きい⇄情報量が小さい
とりあえず、情報量が何かはなんとなくわかったと思います。情報量は2種類存在します。まず1つは

選択情報量(自己エントロピー)

選択情報量(自己エントロピー)、単に情報量とも言われる。 事象Eが起こる確率をP(E)とするとき、事象Eが起こったと知らされた時の情報量I(E)を次と定義する。

    \[I(E) = -\log P(E)\]

はて、なぜこのような式で表されるのか?。
それぞれ独立な関係にある事象を見ていこう。それぞれが独立である事象の情報量はそれぞれの情報量の和になっていなければならないが事象の同時確率というのはそれぞれの確率の積で表されることを考えると、確率p_i(x)に対して情報量の関数h(x)

    \[h(p_{1}(x) p_{2}(x)) = h(p_{1}(x)) + h(p_{2}(x))\]


をみたしていてほしいですよね。そのような関数としては対数関数が非常に直感的だと思います。さらに確率が低いほど情報量は高いと考えたいので情報量を表す関数は減少関数でないとならない。よって、とある事象xが起こる確率がp(x)とするとその情報量の関数h(x)

    \[h(x) = -\log p(x)\]


と表されます。そしてもう1つは

平均情報量(エントロピー、シャノンエントロピー)

平均情報量(エントロピー、シャノンエントロピー)。これは得られる情報量の期待値である。事象Eが起こる確率をP(E)とし、すべての事象E \in \Omegaに対して、その情報量の期待値を平均情報量という。

    \[H = -\sum_{E \in \Omega}^{} P(E)\log P(E)\]

普通な疑問としては両者の違いだろう。自己情報量ではある単一の事象xにおける情報量しかわからなかったが、エントロピーの概念を用いれば、 標本空間全体の情報量を定量することができるというのが違いです。
では、エントロピーをまとめよう。
  • エントロピーが大きい➙不確定性が大きい
  • エントロピーが小さい➙不確定性が小さい
このようにまとめたが、これは直感的にも思える。つまり数式がない方あまり信憑性がないということ、なので実際にこうなるのか計算してみよう。とはいってもどうやって計算すればいいのだろうか?ここで2つの分布を紹介します。まずはポピュラーなもの、一様分布です。 簡単にいえば偏りのない確率分布です。そしてもう1つはデルタ分布、こっちはデルタ関数としての登場が多いためかポピュラーではないのかな? そう、いわば、ある一点で確率1の分布と思うといいです。つまり、一様分布はどの事象が出るかいい感じにわからない分布で、デルタ分布は何々が絶対出るということがわかっている分布なのです。では、デルタ分布のエントロピーを計算してみましょう。 区間を [0.5-\delta,0.5+\delta]とし、この時\delta \rightarrow 0 とすることで \frac{1}{2 \delta} \log \frac{1}{2 \delta} を積分し、エントロピーを求める

    \[\lim_{\delta \rightarrow 0} - \int_{0.5-\delta}^{0.5+\delta} \frac{1}{2 \delta} \log \frac{1}{2 \delta} dx   = \lim_{\delta \rightarrow 0} \left[-\frac{1}{2 \delta} \log \frac{1}{2 \delta} x\right] = \lim_{\delta\rightarrow 0} - \frac{1}{2 \delta} \log \frac{1}{2 \delta} \times 2 \delta\]


    \[=\lim_{\delta \rightarrow 0} - \log \frac{1}{2 \delta} =-\infty\]

よってデルタ分布ではエントロピーは-\inftyとなります。エントロピーを不確定性の大きさと考えるとデルタ分布ではエントロピー、つまり、不確定性の大きさが-\inftyです。これはなにが起こるか100%わかるのがデルタ分布と考えると納得できる結果だと思います。 では、次の問題を考えます。

    \[\sum_{i=1}^{n}p_i = 1\]

この条件下で

    \[H = -\sum_{x \in X}^{} p(x)\log p(x)\]

を最大化させよう。ラグランジュの未定乗数法を用いて

    \[L(p, \lambda)=H+\lambda\left(\sum p_{i}-1\right)\]


    \[\frac{\partial L}{\partial p_{i}}=0\]

より

    \[\begin{aligned}-\log p_{i}-1+\lambda &=0\]


    \[\log p_{i} =\lambda-1 \end{aligned}\]

よりp_i = \exp(\lambda - 1)が得られて、これを条件式に代入すると

    \[n \exp (\lambda-1) =1\]


    \[\lambda-1 &=\log \frac{1}{n} =-\log n\]

これを先ほどの式に代入して

    \[p_i = \exp(-\log n) = \frac{1}{n}\]

というふうに求まる。つまり、シャノンが最大になるのは一様分布ということでこちらも納得できる結果だろう。
では最後にKLをちょこっとやって今回は終わりにしよう。
まず、KLは2つの確率分布が互いにどれだけ異なっているかを表す指標です。
たとえば、情報を相手に伝えることを考えよう。もしp(x)がとても複雑な様相をしており伝達するのにととも時間がかかるとします。この時、別のq(x)というもう少し単純な確率分布で時間の短縮をしたいとします。すると相手側が受け取るエントロピーは次のようになります。

    \[-\int p(x) \log(q(x)) dx\]


これをcross-entropyと言います。これは2つの確率分布の似通い具合を測るために使われます。そして今から話すKLも同じように使われます。この時、別の確率変数q(x)を相手側に伝えているため実際のエントロピーとの差が生じます。この差のことを相対エントロピーといいます。つまり相対エントロピーの式は

    \[KL(P(x)|q(x)) = -\int p(x) \log q(x) + \int p(x) \log(p(x))\]


    \[= -\int p(x) (\log(q(x)) - \log(p(x))) = -\int p(x) \log(\frac{q(x)}{p(x)})\]


相対エントロピーのことを別名カルバックライブラーダイバージェンスともいいます。ギブスの不等式よりKLが0になるのはp(x)=q(x)となる場合のみであることがわかります。
今回はエントロピーをテーマにしました。機械学習をしているとあちこちに出てくるので知っておいたほうがいいでしょう。次回はこのKLに焦点を絞ってはなしたいと思います。
でわ

コメントする

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