上一篇文章介绍了无监督学习中最容易理解的经典算法K聚类。这个算法虽然简单但是有几个明显的缺点
1、首先要知道K的数值,也就是要确定有多少类
2、有时候可能只会得到局部最优(Local minimum)而得不到全局最优比如下图这种情况。
3、与K临近算法一样处理多维度问题的时候比较困难
4、缺少数学解释。
这里我就要介绍最大期望算法(Expectation-maximization),最大期望算法实际上就是K聚类算法的一种普遍情况(generization)。还记得之前有一篇文章介绍无监督学习的基本术语吗?最大期望算法也属于密度估计(Density Estimation)中的一类。
几者的关系是这样的
我们知道密度估计实际上有点像线性回归一样,找到一个密度分布函数来fit(拟合)数据的分布。只不过线性回归是用线性函数,而这里是用密度函数。
最大期望算法也是一样要找到这样的密度函数来拟合数据分布,而用得最广的密度函数就是高斯分布函数或者说是正态分布。
数学表达式为:
虽然表达式看起来优点复杂但实际上物理意义很简单
µ决定中心的位置σ决定曲线的胖瘦,分子σ√2π 保证函数的面积等于1。
当然这实际上是一维(元)的情况,推广到多维(元)(Multi variate)之后的数学表达式为(我们主要还是探讨一维的情况)
跟线性回归中的w1和w0一样,σ和µ都是可以求得的,具体过程就不在这里阐述了,表达式如图:
其实µ和σ的也很好理解,µ就是所有点的平均数。而σ的平方即为每个点距离平均数µ的距离的平方再平均。
直接上图,解释一下用高斯密度函数的最大期望法来聚类数据的
算法在数学上是如何实现迭代和得出参数的正确数值呢,这里还是可以用线性回归中的梯度下降法做对比。最大期望算法(Expectation-maximization)用两个步骤,第一步是E-step就是Expectation,第二步是M-step就是maximization。具体怎么实现就不赘述了贴个图在这里。
另外最大期望法也解决了K聚类中无法确定K的数量以及局部最优的问题,具体步骤也不在这里讨论了,贴一张图
OK 无监督学习中最重要的聚类方法就介绍到这里,今后的文章将会继续介绍降维(Dimention Reduction)的算法。
相关文章
AI学习笔记——无监督学习(Unsupervised Learning)K聚类(K-means)
AI学习笔记——无监督学习(Unsupervised Learning)中的术语理解
Thanks for reading my posts and welcome to comment. If you like my post , please upvote , resteem and follow me @hongtao
感谢您的阅读,欢迎留言,如果您喜欢我的帖子,请帮忙点赞、推送及关注我 @hongtao