zoukankan      html  css  js  c++  java
  • 多元高斯分布及多元条件高斯分布

    高斯那些公式

    已知 D 维向量 x,其高斯概率分布为:

    N(x|μ,Σ)==1(2π)D/21|Σ|1/2exp(12(xμ)TΣ1(xμ))1|Σ|(2π)Dexp(12(xμ)TΣ1(xμ))

    • 显然默认 x 是一个列向量
    • 还需注意的是,当传递进去的是样本矩阵 X(以行为样本) 而不是列向量 x,则在计算指数部分时,

      -1/2*sum(X/Sigma .* X, 2);
    • 当多元高斯分布退化为一元高斯时,Σ 对应着 σ2(方差),而不是标准差(standard deviation)

    • 这里 d=(xμ)TΣ1(xμ) 也称为马氏距离;
      是对一元高斯分布对应的 d=xμσ 得拓展;
    • 多元时的 d=(xμ)TΣ1(xμ) 也可视为某种程度的 z-分数,尤其在变量之间彼此独立,并且方差相同时, d=xμσ(z-分数),

    1. 条件高斯分布(Conditional Gaussian distributions)

    Multivariate normal distribution - Wikipedia

    2. 编程时的技巧

    • αexp(f(x)) 的计算通常转换为,求对数,再求指数的形式:elogαexp(f(x))=elogα+f(x)

    • p=1|Σ|(2π)Dexp(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(样本矩阵)以行为样本;
  • 相关阅读:
    HDU 1874 畅通工程续
    HDU 1232 畅通工程
    HDU 1233 还是畅通工程
    HDU 1269 迷宫城堡
    洛谷 P1078 文化之旅
    POJ 3461 Oulipo
    最长链
    矩形面积求并
    有趣的数
    修复公路
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9423062.html
Copyright © 2011-2022 走看看