多重ガウス分布及び多重条件ガウス分布


ガウスの公式
D次元ベクトルxが知られており、そのGauss確率分布は以下の通りである.
N(x|μ,Σ)==1(2π)D/21|Σ|1/2exp(−12(x−μ)TΣ−1(x−μ))1|Σ|(2π)D−−−−−−−√exp(−12(x−μ)TΣ−1(x−μ))
  • デフォルトxはカラムベクトル
  • であることは明らかである.
  • はまた、列ベクトルxではなくサンプル行列X(挙動サンプル)が伝達すると、指数部が計算されるとき、
    -1/2*sum(X/Sigma .* X, 2);
  • である.
  • 多重ガウス分布が一元ガウスに劣化すると、Σ に対応σ標準差ではなく2(分散)
  • ここでd=(x−μ)TΣ−1(x−μ)−−−−−−−−−−−−−−−−−−−√−はマルテンサイト距離とも呼ばれる.一元Gauss分布に対応するd=x−μσ 開拓しなければならない.
  • 多重時のd=(x−μ)TΣ−1(x−μ)−−−−−−−−−−−−−−−−−−−−−√−もある程度のz−分数と見なすことができ,特に変数間では互いに独立し,分散相が同時にd=‖x−である.μ∥σ (z-スコア)、
  • d=1,68%
  • d=2,95%
  • d=3, 99% 3σ rule for multivariate normal distribution


  • 1.条件ガウス分布(Conditional Gaussian distributions)
    Multivariate normal distribution - Wikipedia
    2.プログラミングのテクニック
  • αexp(f(x))の計算は通常、対数を求め、指数を求める形式に変換される:elogαexp(f(x))=elogα+f(x)
  • p=1|Σ|(2π)D√exp(−12(x−μ)TΣ−1(x−μ)) ⇒ logp=−D2log(2π)−12log|Σ|−12(x−μ)TΣ−1(x−μ)

  • 3.多重ガウス確率密度関数のmatlab実現
    function p = gaussProb(X, mu, Sigma)
    d = size(Sigma, 2);
    X = bsxfun(@minus, X, mu(:)');
    log1 = -d/2*log(2*pi)-1/2*logdet(Sigma);
    log2 = -1/2*sum(X/Sigma .* X, 2);
    p = exp(log1+log2);
    end
  • ここでのX(サンプルマトリクス)は、動作サンプルである.