Mixtures of Gaussians

Mixtures of Gaussians模型学习了一个联合分布 P ( x ( i ) , z ( i ) )

P ( x ( i ) , z ( i ) ) = P ( x ( i ) z ( i ) ) P ( z ( i ) ) x ( i ) R n

【参数定义】

z ( i ) Multinomial ( ϕ ) ϕ = [ ϕ 1 ϕ 2 ϕ k ]

x ( i ) z ( i ) = j N ( μ j , Σ j ) μ = [ μ 1 μ 2 μ k ] 是一个 k × n 的矩阵, Σ = [ Σ 1 Σ 2 Σ k ] 是一个 k × n × n 的Tensor

所有参数包括: k 维向量 ϕ k { μ j , Σ j } j = 1 k

【样本生成过程】

i 个样本 x ( i ) 的产生过程

掷参数为 ϕ k 面骰子,为样本 x ( i ) 选择隐变量 z ( i ) ,对应概率 P ( z ( i ) ) ,假设最终投掷的结果为 z ( i ) = 3

由多元高斯分布 N ( μ 3 , Σ 3 ) 中采样出 x ( i ) ,对应概率 P ( x ( i ) z ( i ) )

因为多了隐变量 z ( i ) ,而无法使用最大似然估计对求解参数

【EM算法】

E-Step:固定参数 ϕ μ Σ ,计算每个样本分配到 k 个类别的概率 P ( z ( i ) x ( i ) ) ,这里涉及到贝叶斯公式,推导如下

P ( z x ) = P ( x z ) P ( z ) P ( x ) = P ( x z ) P ( z ) z P ( x , z ) = P ( x z ) P ( z ) z P ( x z ) P ( z )

w j ( i ) = P ( z ( i ) = j x ( i ) ; ϕ , μ , Σ ) = P ( x ( i ) z ( i ) = j ; μ , Σ ) P ( z ( i ) = j ; ϕ ) l = 1 k P ( x ( i ) z ( i ) = l ; μ , Σ ) P ( z ( i ) = l ; ϕ )

w ( i ) = [ w 1 ( i ) w 2 ( i ) w k ( i ) ] 称为对 z ( i ) 的“soft guess”

M-Step:由隐变量 z ( i ) 的“soft guess” w ( i ) ,使用最大似然估计求解参数 ϕ μ Σ

ϕ j = 1 m i = 1 m w j ( i )

μ j = i = 1 m w j ( i ) x ( i ) i = 1 m w j ( i ) (和K-means中的更新cluster中心非常类似,只不过是带权重的)

Σ j = i = 1 m w j ( i ) ( x ( i ) μ j ) ( x ( i ) μ j ) T i = 1 m w j ( i )

高斯混合模型学习完 P ( z ) P ( x | z ) 之后,可以将样本分配到某个类别 z
P ( z | x ) P ( z ) P ( x | z )
由此可知,高斯混合模型也是一种聚类方法

【EM算法和K-means的关系】

相同点:每一轮迭代中都包含了2步,在EM算法中,分别是隐变量的“soft guess”和参数的最大化似然,在K-means算法中,分别是分配cluster和更新cluster中心,并且二者都易受局部最小值的影响,因此需要尝试不同的初始化方式

不同点:EM算法估计隐变量是“soft guess”,K-means分配cluster是“hard guess”

【Mixtures of Gaussians与高斯判别分析】

高斯判别分析建模 P ( x | y = 0 ) P ( x | y = 1 ) ,而高斯混合模型建模的是 P ( x | z ) ,使用一个随机变量 z 替换了 y

如果 z 是已知的,那么高斯混合模型就相当于高斯判别分析

但现在 z 是不知道的,这就需要使用EM算法了

猜你喜欢

转载自blog.csdn.net/o0Helloworld0o/article/details/81382076
今日推荐