本日は機械学習をやっていると必ず出てくるカルバックライブラーダイバージェンスについてです。分布間の似通いを測るこの指標を最小化したい!ということがよくあります。しかし、それはクロスエントロピー最小化と同値関係にあります。
以前、KLについて以下の二つの記事も書いたのでよければ見てください。
Cross-Entropy
前回も紹介しましたがクロスエントロピーはKLと同様に分布間の似通いを測ります。以下、 間の距離です
間の距離です
      ![Rendered by QuickLaTeX.com \[H(p,q) = -\sum_x p(x)\log q(x)\]](https://research.miidas.jp/wp-content/ql-cache/quicklatex.com-6c4c5bf2abb820c612c66c309710ce9e_l3.png)
      ![Rendered by QuickLaTeX.com \[KL(P | Q) = \sum_{i} P(i )\frac{P(i)}{Q(i)}\]](https://research.miidas.jp/wp-content/ql-cache/quicklatex.com-9462e63c8ab911e391098605f570a74d_l3.png)
      ![Rendered by QuickLaTeX.com \[= \sum_{i} \left{ P(i)\log P(i)  - P(i) \log Q(i)   \right}\]](https://research.miidas.jp/wp-content/ql-cache/quicklatex.com-0b549c519e752fecbf3deae8b6ef212e_l3.png)
      ![Rendered by QuickLaTeX.com \[=\sum_{i} \left{- P(i)\log \frac{1}{P(i)}  + P(i) \log \frac{1}{Q(i)}   \right}\]](https://research.miidas.jp/wp-content/ql-cache/quicklatex.com-73e7d29a9adc248b033d1373a265c0db_l3.png)
      ![Rendered by QuickLaTeX.com \[= - H(P) + H(P,Q)\]](https://research.miidas.jp/wp-content/ql-cache/quicklatex.com-97b434f6ed2a925a6ff77e0c65581613_l3.png)
      ![Rendered by QuickLaTeX.com \[H(P) = -\sum_{i} P(i)\log P(i)\]](https://research.miidas.jp/wp-content/ql-cache/quicklatex.com-a22ca669b8b26986a5b7f7da841acc3d_l3.png)
      ![Rendered by QuickLaTeX.com \[H(P,Q) =  \sum_{i}  P(i) \log \frac{1}{Q(i)}\]](https://research.miidas.jp/wp-content/ql-cache/quicklatex.com-7f68c887d3da6a8c3f90022f9550b7e2_l3.png)
 とここでは表すことにします。つまり、
とここでは表すことにします。つまり、 を最小化することが目標ですが
を最小化することが目標ですが は定数であるためそれは最終的にクロスエントロピーの最小化に等しくなることがわかります。
は定数であるためそれは最終的にクロスエントロピーの最小化に等しくなることがわかります。ではなぜ世間では「KL最小化しようぜ!、KL最小化しようぜ!」と盛り上がっているのでしょうか?
結論としては、私にはあまり理解できませんでした。
おそらく統計学的な考えが絡んでいるのだと思います。実際、アンサーにはミニバッチによるロバスト性についての意見をいただきました。
In may machine learning projects, mini-どなたかわかりやすい例などお持ちの方はコメントをいただきたいです。batich is involved to expedite training, where the ?′ of a minibatch may be different from the global ?. In such a case, Cross-Entropy is relatively more robust in practical when KL divergence needs a more stable H(p) to finish her job.
話は変わりますが、せっかくなので多変数ガウス分布間のKLを計算してみます。たまには計算をやっとかないとどんどんできひんくなる、、
多変数ガウス分布の間のKL
ちなみに、一変数は以前やったので上のリンクから飛んでください。 と
と とします。途中で計算が激しくなるところがあるので先にそこを計算します。
とします。途中で計算が激しくなるところがあるので先にそこを計算します。
      ![Rendered by QuickLaTeX.com \[H = \int_{-\infty}^\infty N(\mu,\Sigma) \log N(\mu,\Sigma) dx\]](https://research.miidas.jp/wp-content/ql-cache/quicklatex.com-565b6f4855d93f18df25ac768f262cc5_l3.png)
      ![Rendered by QuickLaTeX.com \[= E[\log N(\mu,\Sigma)]\]](https://research.miidas.jp/wp-content/ql-cache/quicklatex.com-7b1172b8ae09b7a34b159203e2d6fd44_l3.png)
      ![Rendered by QuickLaTeX.com \[= E[\log(2\pi)^{-D/2} + \log |\Sigma|^{-1/2} -\frac{1}{2}(x-\mu)^T\Sigma^{-1}(x-\mu)]\]](https://research.miidas.jp/wp-content/ql-cache/quicklatex.com-f9ea197f0e91ba33e146f386b61a7dc6_l3.png)
      ![Rendered by QuickLaTeX.com \[= -\frac{D}{2}log 2\pi - \frac{1}{2}\log|\Sigma| -\frac{1}{2}E[(x-\mu)^T\Sigma^{-1}(x-\mu)]\]](https://research.miidas.jp/wp-content/ql-cache/quicklatex.com-e07e76b355ced54221f73996216b6702_l3.png)
      ![Rendered by QuickLaTeX.com \[E[(x-\mu)^T\Sigma^{-1}(x-\mu)] = E[tr(\Sigma^{-1}(x-\mu)(x-\mu)^T)]\]](https://research.miidas.jp/wp-content/ql-cache/quicklatex.com-5342b14203687b9ecfe31f4c6b42d62a_l3.png)
      ![Rendered by QuickLaTeX.com \[= tr(\Sigma^{-1}E[(x-\mu)(x-\mu)^T])\]](https://research.miidas.jp/wp-content/ql-cache/quicklatex.com-5c5f24e5e3085432c391968df7fb71fd_l3.png)
      ![Rendered by QuickLaTeX.com \[= tr(\Sigma^{-1}\Sigma) = tr(I) = D\]](https://research.miidas.jp/wp-content/ql-cache/quicklatex.com-07b3c1326eb63ecd104323ac16f071ab_l3.png)
      ![Rendered by QuickLaTeX.com \[\int_{-\infty}^\infty (x-\mu_2)^T\Sigma_2^{-1}(x-\mu_2)p(x) dx\]](https://research.miidas.jp/wp-content/ql-cache/quicklatex.com-bd8a31c70ee38f40f658d3cc6e0a3daf_l3.png)
      ![Rendered by QuickLaTeX.com \[= \int \frac{1}{2}[(x-\mu_1)+(\mu_1 -\mu_2)]^T\Sigma_2^{-1}[(x-\mu_1)+(\mu_1 - \mu_2)]p(x)dx\]](https://research.miidas.jp/wp-content/ql-cache/quicklatex.com-5121c7c1854bcf3fabe7ed3c1fe37d95_l3.png)
      ![Rendered by QuickLaTeX.com \[= \int \frac{1}{2} \left{ (x-\mu_1)^T\Sigma_2^{-1}(x-\mu_1) + 2(x-\mu_1)^T\Sigma_2^{-1}(\mu_1-\mu_2) + (\mu_1-\mu_2)^T\Sigma_2^{-1}(\mu_1-\mu_2)   \right}p(x)dx\]](https://research.miidas.jp/wp-content/ql-cache/quicklatex.com-c4742d9fcc8a635ce3298ce31b5cb2e2_l3.png)
      ![Rendered by QuickLaTeX.com \[= \frac{1}{2} tr(\Sigma_2^{-1}\Sigma_1) + 0 + \frac{1}{2}(\mu_1-\mu_2)^T\Sigma_2^{-1}(\mu_1-\mu_2)\]](https://research.miidas.jp/wp-content/ql-cache/quicklatex.com-608f5aed5635c5648bc9081b2080820b_l3.png)
      ![Rendered by QuickLaTeX.com \[KL = \int \left[ \frac{1}{2}\log \frac{|\Sigma_2|}{|\Sigma_1|} - \frac{1}{2} (x-\mu_1)^T\Sigma_1^{-1}(x-\mu_1) + \frac{1}{2} (x-\mu_2)^T\Sigma_2^{-1}(x-\mu_2)  \right]p(x)dx\]](https://research.miidas.jp/wp-content/ql-cache/quicklatex.com-51fe7764fc2deb975351a4291449d56a_l3.png)
      ![Rendered by QuickLaTeX.com \[= \frac{1}{2}\log \frac{|\Sigma_2|}{|\Sigma_1|} - \frac{1}{2}E[(x-\mu_1)^T\Sigma_1^{-1}(x-\mu_1)] + \frac{1}{2}E[(x-\mu_2)^T\Sigma_2^{-1}(x-\mu_2)]\]](https://research.miidas.jp/wp-content/ql-cache/quicklatex.com-85c30f15d8940b76dd27cf7ee01584ce_l3.png)
      ![Rendered by QuickLaTeX.com \[= \frac{1}{2}\left[ \log\frac{|\Sigma_2|}{|\Sigma_1|} -D + tr(\Sigma_2^{-1}\Sigma_1) + (\mu_2-\mu_1)^T\Sigma_2^{-1}(\mu_2-\mu_1)  \right]\]](https://research.miidas.jp/wp-content/ql-cache/quicklatex.com-95313a41cb2c3b2a7a9f77cad04e2ba8_l3.png)