KLダイバージェンスとクロスエントロピー
予測分布 Q(x) を動かしてみよう
計算結果
DKL(P || Q) = ?
DKL(Q || P) = ?
H(P, Q) = ?
H(P, Q) = -∑ P(x) log(Q(x))
H(P, Q) = -∑ P(x) log(Q(x))
KLダイバージェンスは、2つの確率分布の「違い」を測る指標です。
D_KL(P || Q)
と D_KL(Q || P)
の値は異なります。D_KL(P || Q)
は、P(x)が大きい(=重要な)領域でQ(x)がずれていると、値が非常に大きくなります。クロスエントロピーも、KLダイバージェンスと非常によく似た指標で、特に機械学習の「損失関数」として頻繁に使われます。
KLダイバージェンスとは、以下の関係があります。
H(P, Q) = H(P) + DKL(P || Q)
(H(P)は分布P自身のエントロピー)
P(x)が変化しない「正解」の分布である場合、そのエントロピーH(P)は定数になります。そのため、クロスエントロピーを最小化することは、KLダイバージェンスを最小化することと同じ意味になります。計算が簡単なため、実用上はクロスエントロピーが損失関数として好んで使われます。