交差エントロピー

情報理論において、交差エントロピー（こうさエントロピー）またはクロスエントロピー（英: cross entropy）は、2つの確率分布の間に定義される尺度である。符号化方式が、真の確率分布 p {\displaystyle p} ではなく、ある所定の確率分布 q {\displaystyle q} に基づいている場合に、とりうる複数の事象の中からひとつの事象を特定するために必要となるビット数の平均値を表す。 同じ確率空間における2つの分布 p {\displaystyle p} と q {\displaystyle q} において、 q {\displaystyle q} の p {\displaystyle p} に対する交差エントロピーは、次のように定義される。 H ( p , q ) = E p [ − log ⁡ q ] = H ( p ) + D K L ( p ‖ q ) {\displaystyle \mathrm {H} (p,q)=\mathrm {E} _{p}[-\log q]=\mathrm {H} (p)+D_{\mathrm {KL} }(p\|q)\!} ここで、 H ( p ) {\displaystyle H(p)} は p {\displaystyle p} のエントロピー、 D K L ( p | | q ) {\displaystyle D_{\mathrm {KL} }(p||q)} は p {\displaystyle p} から q {\displaystyle q} のカルバック・ライブラー情報量（相対エントロピー）である。 p {\displaystyle p} と q {\displaystyle q} が離散確率変数なら、これは次のようになる。 H ( p , q ) = − ∑ x p ( x ) log ⁡ q ( x ) {\displaystyle \mathrm {H} (p,q)=-\sum _{x}p(x)\,\log q(x)\!} 連続確率変数なら、同様に次のようになる。 − ∫ X p ( x ) log ⁡ q ( x ) d x {\displaystyle -\int _{X}p(x)\,\log q(x)\,dx\!} なお、 H ( p , q ) {\displaystyle \mathrm {H} (p,q)} という記法は交差エントロピーだけでなく、結合エントロピーにも使われるので、注意が必要である。 分類問題において、異なる事象の確率を推定したいとする。N サンプルからなる訓練集合内における事象 i {\displaystyle i} の頻度（経験的確率）が p i {\displaystyle p_{i}} である一方、事象 i {\displaystyle i} の確率が q i {\displaystyle q_{i}} と推定されたとすると、訓練集合の尤度は次のようになる。 ∏ i q i N p i {\displaystyle {\displaystyle \prod _{i}q_{i}^{Np_{i}}}} この対数尤度をNで割ると、 1 N log ⁡ ∏ i q i N p i = ∑ i p i log ⁡ q i = − H ( p , q ) {\displaystyle {\displaystyle {\frac {1}{N}}\log \prod _{i}q_{i}^{Np_{i}}=\sum _{i}p_{i}\log q_{i}=-H(p,q)}} となり、この尤度を最大化することは、交差エントロピーを最小化することと同義となる。 交差エントロピー最小化は、最適化問題と希少事象の予測によく使われる技法である（交差エントロピー法）。 確率分布 q {\displaystyle q} を参照用固定確率分布 p {\displaystyle p} と比較したとき、交差エントロピーとカルバック・ライブラー情報量は（ p {\displaystyle p} が固定なので）付加的な定数を除いて同一である。どちらも p = q {\displaystyle p=q} であるとき最小値となり、カルバック・ライブラーの値は 0 {\displaystyle 0} 、交差エントロピーの値は H ( p ) {\displaystyle \mathrm {H} (p)} となる。 ただし、カルバック・ライブラー情報量参照のとおり、q を固定の参照用確率分布とし、p を最適化して q に近づけるようにすることもある。この場合の最小化は交差エントロピーの最小化とはならない。文献ではどちらの手法で説明しているか、注意する必要がある。 機械学習・最適化における交差エントロピー誤差（英: cross entropy loss, CE loss）は交差エントロピーを用いた分布間距離表現による損失関数である。 真の確率 p i {\displaystyle p_{i}} が真のラベルであり、与えられた分布 q i {\displaystyle q_{i}} が現在のモデルの予測値である。 より具体的に、ロジスティック回帰による二項分類を考える。すなわちロジスティック回帰モデルにより与えられた入力ベクトル x {\displaystyle \mathbf {x} } から出力クラス y ∈ { 0 , 1 } {\displaystyle y\in \{0,1\}} を予測する。確率は標準シグモイド関数 g ( z ) = 1 / ( 1 + e − z ) {\displaystyle g(z)=1/(1+e^{-z})} でモデル化される。重みベクトル w {\displaystyle \mathbf {w} } を用いて出力 y = 1 {\displaystyle y=1} を見出す確率は以下で与えられる： q ( y = 1 | x ) ≡ q 1   =   y ^   ≡   g ( w ⋅ x )   = 1 / ( 1 + e − w ⋅ x ) {\displaystyle q(y=1|x)\equiv q_{1}\ =\ {\hat {y}}\ \equiv \ g(\mathbf {w} \cdot \mathbf {x} )\ =1/(1+e^{-\mathbf {w} \cdot \mathbf {x} })} 同様に、出力 y = 0 {\displaystyle y=0} を見出す余事象の確率は以下で与えられる： q ( y = 0 | x ) ≡ q 0   =   1 − y ^ {\displaystyle q(y=0|x)\equiv q_{0}\ =\ 1-{\hat {y}}} 真の確率は p ( y = 1 | x ) ≡ p 1 = y {\displaystyle p(y=1|x)\equiv p_{1}=y} および p ( y = 1 | x ) ≡ p 0 = 1 − y {\displaystyle p(y=1|x)\equiv p_{0}=1-y} で定式化される。教師有り二項分類では入力ベクトルに対応するラベルが一意に与えられるため、 p ( y | x ) {\displaystyle p(y|x)} は必ず one-hot なカテゴリカル分布になる。このことは y ∈ { 0 , 1 } {\displaystyle y\in \{0,1\}} と次式より確かめられる： p ( y | x ) = y   or   1 − y = 1   or   0 {\displaystyle p(y|x)=y\ {\text{or}}\ 1-y=1\ {\text{or}}\ 0} p {\displaystyle p} と q {\displaystyle q} との間の非類似性の尺度を交差エントロピーで表現すると次式が得られる： H ( p , q ) = − ∑ i { 1 , 0 } p i log ⁡ q i = − y log ⁡ y ^ − ( 1 − y ) log ⁡ ( 1 − y ^ ) {\displaystyle H(p,q)=-\sum _{i}^{\{1,0\}}p_{i}\log q_{i}=-y\log {\hat {y}}-(1-y)\log(1-{\hat {y}})} ロジスティック回帰で用いられる典型的な損失関数は、サンプル中の全ての交差エントロピーの平均を取ることによって計算される。例えば、それぞれのサンプルが n = 1 , … , N {\displaystyle n=1,\dots ,N} によってラベル付けされた N {\displaystyle N} 個のサンプルを持っていることを仮定する。損失関数は次に以下の式となる。 J ( w )   =   1 N ∑ n = 1 N H ( p n , q n )   =   − 1 N ∑ n = 1 N   [ y n log ⁡ y ^ n + ( 1 − y n ) log ⁡ ( 1 − y ^ n ) ] , {\displaystyle {\begin{aligned}J(\mathbf {w} )\ &=\ {\frac {1}{N}}\sum _{n=1}^{N}H(p_{n},q_{n})\ =\ -{\frac {1}{N}}\sum _{n=1}^{N}\ {\bigg [}y_{n}\log {\hat {y}}_{n}+(1-y_{n})\log(1-{\hat {y}}_{n}){\bigg ]}\,,\end{aligned}}} 上式において、 y ^ n ≡ g ( w ⋅ x n ) = 1 / ( 1 + e − w ⋅ x n ) {\displaystyle {\hat {y}}_{n}\equiv g(\mathbf {w} \cdot \mathbf {x} _{n})=1/(1+e^{-\mathbf {w} \cdot \mathbf {x} _{n}})} である。 y n ∈ { 0 , 1 } {\displaystyle y_{n}\in \{0,1\}} であるため、損失関数を実際に計算する際には2つある項のうち片方のみの計算で済む（他方は0）。 ロジスティック損失は交差エントロピー損失と呼ばれることがある。また、log lossとも呼ばれる（この場合、二値ラベルは {-1,+1} で示されることが多い）。 [脚注の使い方] ^ Murphy, Kevin (2012). Machine Learning: A Probabilistic Perspective. MIT. ISBN 978-0262018029  情報量 結合エントロピー