多变量高斯分布、高斯混合模型和EM算法

多变量高斯分布

先总结一些基本结论。

设有随机变量组成的向量 X=[X1,,Xn]T X = [ X 1 , ⋯ , X n ] T ,均值为 μRn μ ∈ R n ,协方差矩阵 Σ Σ 为对称正定 n n 阶矩阵。在此基础上,如果还满足概率密度函数

p(x;μ,Σ)=1(2π)n2|Σ|12exp(12(xμ)TΣ1(xμ)) p ( x ; μ , Σ ) = 1 ( 2 π ) n 2 | Σ | 1 2 exp ⁡ ( − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) )
则称其满足多变量高斯分布,记为 xN(μ,Σ) x ∼ N ( μ , Σ ) 。其中 exp() exp ⁡ ( ) 前的分式可视为归一化系数。

关于协方差矩阵,在前面的PCA和白化里面有总结,一个随机向量的协方差矩阵就是这样一个矩阵: Σi,j=Cov(Xi,Xj) Σ i , j = Cov ( X i , X j ) 。实际上,随机向量的均值和协方差矩阵有下面关系:

Σ=E[(Xμ)(Xμ)T]=E(XXT)μμT Σ = E [ ( X − μ ) ( X − μ ) T ] = E ( X X T ) − μ μ T

上面说到,要求 Σ Σ 是一个对称的正定矩阵,实际上任何随机向量的协方差矩阵都是半正定的,只不过概率密度函数里面进一步要求 Σ1 Σ − 1 的存在,所以 Σ Σ 必然是满秩矩阵,所以肯定是正定的。

Σ Σ 是对角形式的(比如随机向量是二维的,高维也类似)

Σ=(σ2100σ22) Σ = ( σ 1 2 0 0 σ 2 2 )
则化简概率密度函数,可以发现它就是两个标准差分别为 σ1,σ2 σ 1 , σ 2 的单变量高斯分布的乘积。
如果 Σ Σ 不是对角的,则不能化简成两个单变量高斯分布的乘积。

直觉上来说,应该可以使用正交变换 R R 使得协方差矩阵 Σ Σ 对角化(结合协方差矩阵的意义,这会使得随机向量 X X 每个元素互不相关)。

为此,试探性地作代换 XRT(Xμ) X ← R T ( X − μ ) ,则根据 Σ=E[(Xμ)(Xμ)T]=E(XXT)μμT Σ = E [ ( X − μ ) ( X − μ ) T ] = E ( X X T ) − μ μ T 可得新的协方差矩阵

Σ=E[RT(Xμ)(XμT)R]0=RTE[(Xμ)(Xμ)T]R=RTΣR Σ ′ = E [ R T ( X − μ ) ( X − μ T ) R ] − 0 = R T E [ ( X − μ ) ( X − μ ) T ] R = R T Σ R
所以取合适的正交变换矩阵 R R 就可以使得协方差矩阵对角化。一旦协方差矩阵对角化了,则随机向量总的概率密度函数一定可以写成各个变量自己的高斯分布的乘积。

高斯混合模型和EM算法

关于高斯混合模型的背景,一篇博客觉得讲的比较明白(地址),这里就不抄写一些背景概念了,只总结最主要的部分。

样本集( x x 不是随机变量,是样本)为 { x(1),,x(m)} { x ( 1 ) , ⋯ , x ( m ) } ,共 m m 个样本,每个样本是一个向量。为估计出概率密度函数 p(x;ϕ,μ,Σ) p ( x ; ϕ , μ , Σ ) 中的三个参数 ϕ,μ

你可能感兴趣的:(多变量高斯分布、高斯混合模型和EM算法)