期望最大化&k-means聚类

本文介绍了期望最大化(EM)算法,这是一种在存在隐变量的情况下估计模型参数的方法,通常用于处理不完整数据。EM算法包括E步(计算隐变量期望)和M步(极大似然估计参数),并会收敛到局部最优解。同时,文章提到了k-means聚类算法,它是EM算法的一种特殊情况,适用于发现类圆形状的簇。在实际应用中,使用sklearn库的KMeans进行聚类,并展示了训练过程和结果评估。
摘要由CSDN通过智能技术生成

 

EM



期望最大化(Expectation Maximizition,EM),在前面的讨论中,我们一直假设训练样本所有属性变量的值都已被观测到,即训练样本是完整的,但是在现实应用中,往往会遇到不完整的训练样本,即我们知道有一个属性变量对模型至关重要,但是无法获得这个属性变量的值。在这种存在未观测变量(隐变量)的情形下,是否仍能对模型参数进行估计呢?



EM算法是常用的在含有隐变量的情况下,估计模型参数的利器(训练完成后最终还可以求得隐变量的参数值)。其基本思想是:
1.   首先初始化模型参数θ;
2.   然后根据训练数据和当前的模型参数θ推断出最优隐变量Z的值(即求Z的期望,E步);
3.   基于训练数据和Z的最优期望值对参数θ做极大似然估计(M步);
4.   迭代的将2、3交替进行,直到收敛到局部最优解。
由于会收敛到局部最优解,EM算法对初值敏感,对于不同的初始值,可能会导致不同的结果,并且它对于“躁声”和孤立点数据也是敏感的,少量的该类数据能够对模型产生极大的影响。
实际上若隐变量的情况已知,那么我们可以直接根据最大似然估计和随机梯度下降,解出在每一种隐变量情况下的参数和最大似然估计值,然后选择似然估计最大情况下的模型和隐变量。
举例:考虑数据集D是一个实例集合,它由k个不同的正态分布的混合分布所生成(如下图k等于2),现在通过EM算法训练求解此混合高斯模型?



这里可把每个实例的完整描述看作是一个三元组<xi,zi1, zi2>,其中xi是第i个实例的观测值,zi1和zi2表示两个正态分布中哪个被用于产生值xi,确切地讲,zij在xi由第j个正态分布产生时值为1,否则为0,可见zi1和zi2是隐藏变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值