クロスエントロピー
概論
クロスエントロピーは、二つの確率分布を区別するために必要な平均ビット数であり、通常、真と仮定される(リファレンス)確率分布と、これを推定するための(予想される)確率分布の間で定義される。
定義 1
離散
二つの離散確率分布の確率質量関数が与えられたとする。二つの確率分布のクロスエントロピーは、以下のように定義される。
連続
測度空間のが測度であるとする。がそれぞれ二つの確率測度の測度に対して絶対連続な確率密度関数であるならば、二つの確率分布のクロスエントロピーまたはは、以下のように定義される。
説明
連続型クロスエントロピーの定義が難解であることは、それほど神経質にならなくても良い。
マシンラーニング
2010年以降、クロスエントロピーは、特に分類器の学習過程で活発に使われている損失関数である。二つの確率分布の乖離を示すクルバック・ライブラー情報量と、自己エントロピーに関して示せば の時、を目指す目的関数(損失関数)として使われる。分類問題の文脈では、は実際のデータから出た確率―例えば、写真の中の被写体が犬か猫かを示すラベリングであり、は分類器が計算した結果―犬である確率70%、猫である確率20%、飛行機である確率5%…と考えれば良い。これがほぼ一致すること、つまりであることは、分類器がラベリングをほぼ正確に予測し、クロスエントロピーが最小化されるという意味になる。
数学に詳しくて鋭い読者なら、ふと目的関数でだけが重要ではないかと疑問に思うかもしれない。 が単独、(リファレンス)エントロピーであれば計算上に変わることがないので、ただ自体を損失関数として使う方が効率的に見える。しかし、コンピュータの立場から見れば 計算しやすい方は、明らかにクロスエントロピーだ。どっちにしろ、最適化(学習)結果は同じだから、わざわざを計算する必要はない。が変わることがないからを使わないのではなく、その逆で、クロスエントロピーを使う理由になる。結論は「損失関数の文脈では、クロスエントロピーとクルバック・ライブラー情報量は概念的にまったく同じだ」ということだ。
もちろん、これはコンピュータの計算に関することであり、実際には、行列分解を扱う論文などでは、数式的な展開の便宜のために、クロスエントロピーではなくクルバック・ライブラー情報量を使うこともある。
表記
ちなみに、のような表現はジョイントエントロピーと重なるが、意外とクロスエントロピー自体が単独で使われることは、上で述べたマシンラーニングの文脈の時以外にはあまりないので、勉強している時を除いては特に混乱することはないだろう。しかし、二つの表現が重なることを知っておく価値はある。