在本章讲义中,我们要讲的是使用期望最大化算法(EM,Expectation-Maximization)来进行密度估计(density estimation)。
一如既往,还是假设我们得到了某一个训练样本集 { x ( 1 ) , . . . , x ( m ) } \{x^{(1)}, ... , x^{(m)}\} {
x(1),...,x(m)}。由于这次是非监督学习(unsupervised learning)环境,所以这些样本就没有什么分类标签了。
我们希望能够获得一个联合分布 p ( x ( i ) , z ( i ) ) = p ( x ( i ) ∣ z ( i ) ) p ( z ( i ) ) p(x^{(i)}, z^{(i)}) = p(x^{(i)}| z^{(i)})p(z^{(i)}) p(x(i),z(i))=p(x(i)∣z(i))p(z(i)) 来对数据进行建模。其中的 z ( i ) ∼ M u l t i n o m i a l ( ϕ ) z^{(i)} ∼ Multinomial(\phi) z(i)∼Multinomial(ϕ) (即 z ( i ) z^{(i)} z(i) 是一个以 ϕ \phi ϕ 为参数的多项式分布,其中 ϕ j ≥ 0 \phi_j ≥ 0 ϕj≥0, ∑ j = 1 k ϕ = 1 \sum^k_{j=1}\phi= 1 ∑j=1kϕ=1,而参数 ϕ j \phi_j ϕj 给出了 p ( z ( i ) = j ) , ) p(z^{(i)} = j),) p(z(i)=j),),另外 x ( i ) ∣ z ( i ) = j ∼ N ( μ j , ∑ j ) x^{(i)}|z^{(i)} = j ∼ N(μ_j,\sum_j) x(i)∣z(i)=j∼N(μj,∑j) (一个以 μ j μ_j μj和 ∑ j \sum_j ∑j 为参数的正态分布)。我们设 k k k 来表示 z ( i ) z^{(i)} z(i) 能取的值的个数。因此,我们这个模型就是在假设每个 x ( i ) x^{(i)} x(i) 都是 z ( i ) z^{(i)} z(i) 从 { 1 , . . . , k } \{1, ..., k\} {
1,...,k}中随机选取来生成的,然后 x ( i ) x^{(i)} x(i) 就是从一个在 z ( i ) z^{(i)} z(i) 上的高斯分布中的 k k k 个值当中的一个。这就叫做一个混合高斯模型(mixture of Gaussians model)。此外还要注意的就是这里的 z ( i ) z^{(i)} z(i) 是潜在的随机变量(latent random variables),这就意味着其取值可能还是隐藏的或者未被观测到的。这就会增加这个估计问题(estimation problem)的难度。
我们这个模型的参数也就是 φ φ φ, μ μ μ 和 Σ Σ Σ。要对这些值进行估计,我们可以写出数据的似然函数(likelihood):
ℓ ( ϕ , μ , Σ ) = ∑ i = 1 m lo