【机器学习】高斯混合模型(GMM)算法及其实现
相关视频可见 皮皮学机器学习 高斯混合模型(GMM) 学完了EM算法之后,就情不自禁地想学习一下高斯混合模型了。 高斯混合模型是具有如下形式的概率分布模型。 P ( x ) = ∑ k = 1 K W k g ( x ∣ μ k , ∑ k ) P(x)=\sum_{k=1}^KW_kg(x|\mu_k,\sum_k) P ( x ) = k = 1 ∑ K W k g ( x ∣ μ k , k ∑ ) 现在我们来解释一下上式的参数,K为GMM中成分的个数,也就是说有几个高斯分布,g是这几个高斯分布对应的分布密度函数,均值 μ \mu μ 是其均值,协方差矩阵 ∑ \sum ∑ ,W是每个成分的权重。 案例引入 依然使用一个男女身高为例: 在校园里随机抽取2000个学生,其中有男有女,已知男生,女生的身高都服从高斯分布,这两个高斯分布的均值和方差我们都不知道,另外由于某种原因,我们也不知道2000个学生里男生和女生的个数,现在我们要求出两个分布的均值和方差,还有男女比例。 1.初始化参数 2.计算每条身高数据为男/女分布的概率 该条样本所属于男生/女生分布的概率,这里用R表示,其实这一步就是EM算法中的E步,求期望 一维高斯函数: g ( h ∣ μ , σ ) = 1 2 π σ e − 1 2 σ ( x − μ ) 2 g(h|\mu,\sigma)=