多重ガウス分布及び多重条件ガウス分布
ガウスの公式
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(挙動サンプル)が伝達すると、指数部が計算されるとき、 である.多重ガウス分布が一元ガウスに劣化すると、Σ に対応σ標準差ではなく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実現ここでのX(サンプルマトリクス)は、動作サンプルである.
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−μ))
-1/2*sum(X/Sigma .* X, 2);
1.条件ガウス分布(Conditional Gaussian distributions)
Multivariate normal distribution - Wikipedia
2.プログラミングのテクニック
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