2つのガウス分布間のKL発散を決定する必要があります。結果をこれらと比較していますが、結果を再現できません。KL(p、p)のKLは0ではないため、私の結果は明らかに間違っています。
私はどこで間違いをしているのだろうか、誰かがそれを見つけられるかどうか尋ねます。
ましょう及び。ビショップのPRMLから、私はそれを知っていますp(x)=N(μ1,σ1)q(x)=N(μ2,σ2)
KL(p,q)=−∫p(x)logq(x)dx+∫p(x)logp(x)dx
すべての実際の回線で統合が行われ、
∫p(x)logp(x)dx=−12(1+log2πσ21),
私はして自分自身を制限する私として書き出すことができ、∫p(x)logq(x)dx
−∫p(x)log1(2πσ22)(1/2)e−(x−μ2)22σ22dx,
に分けることができます
12log(2πσ22)−∫p(x)loge−(x−μ2)22σ22dx.
取得したログを取得する
12log(2πσ22)−∫p(x)(−(x−μ2)22σ22)dx,
ここで、合計を分離し、積分からを取得します。σ22
12log(2πσ22)+∫p(x)x2dx−∫p(x)2xμ2dx+∫p(x)μ22dx2σ22
まかせ下の期待演算子を表し、私はこれを書き換えることができます⟨⟩p
12log(2πσ22)+⟨x2⟩−2⟨x⟩μ2+μ222σ22.
ことを知っています。副<文>この[前述の事実の]結果として、それ故に、従って、だから◆【同】consequently; therefore <文>このような方法で、このようにして、こんなふうに、上に述べたように◆【同】in this manner <文>そのような程度まで<文> AひいてはB◆【用法】A and thus B <文>例えば◆【同】for example; as an examplevar(x)=⟨x2⟩−⟨x⟩2
⟨x2⟩=σ21+μ21
したがって
12log(2πσ2)+σ21+μ21−2μ1μ2+μ222σ22,
として置くことができます
12log(2πσ22)+σ21+(μ1−μ2)22σ22.
すべてをまとめると、
KL(p,q)=−∫p(x)logq(x)dx+∫p(x)logp(x)dx=12log(2πσ22)+σ21+(μ1−μ2)22σ22−12(1+log2πσ21)=logσ2σ1+σ21+(μ1−μ2)22σ22.
2つの同一のガウス分布に対して
に等しいため、これは間違っています。1
誰でも私のエラーを見つけることができますか?
更新
mpiktasが問題を解決してくれてありがとう。正解は次のとおりです。
KL(p,q)=logσ2σ1+σ21+(μ1−μ2)22σ22−12