機械学習界隈では多変量正規分布のKLダイバージェンスの導出は自明らしく、とくに説明もなく「はいこうなりますね〜簡単ですね〜ははは〜」みたいな感じで軽く流されて死にそうになる。 軽く流されると私のように死んでしまう人もいるかもしれないので導出方法をメモしておく。 前準備 KLダイバージェンスは分布Pに対して分布Qがどれだけ近いかを表し、定義は以下のとおり。 KL(P(x) || Q(x)) = ∫P(x) log(P(x) / Q(x)) dx = ∫P(x) log(P(x)) dx - ∫P(x) log(Q(x)) dxまた多変量正規分布の定義は以下のとおり。 P(x | μ, Σ) = ((2π)^d * |Σ|)^(-1/2) * exp(-1/2 * (x - μ)T Σ^-1 (x - μ)) μ: 平均(d次元(縦)ベクトル) Σ: 共分散行列(d次正方行列) x: データ点