期望最大化算法的文本自动分类问题
1.Expectation Maximization Algorithm期望最大化算法
a.应用:互联网的各个产品、可以用到几乎所有分类中,比如用户的分类、词的分类、商品的分类、生物特征和基因的分类
2.文本自收敛分类
k-聚类,首先提取文本向量,然后随机选取k个中心点,其后进行距离计算,对文本进行归类,然后调整中心点,重新计算距离,直到中心点不在变化
3.期望最大化和收敛的必然性
a.前提:
距离函数足够好,保证同一类相对距离较近,不同类的相对距离较远
b.问题:
同一类中各个点到中心的平均距离为d,不同类中心之间的平均距离为D,迭代的过程是D变大,d变小
c.解释:
i.假设有k个类n1,...,nk,每个类中各点到中心的平均距离为d1,...,dk,则d=(n1*d1+...+nk*dk)/k
ii.假设第i、j类中心的距离为Dij,则D=∑i,jDij/k(k-1):
先求和,然后除以个数,和为∑i,jDij,个数的思想为k个数两两求和的次数,即C(k,2)
其后加上类中元素个数的权重D=∑i,jDij*ni*nj/n(n-1),n为所有类的节点数总和
iii.证明:假设有一个点x,在前一次迭代中属于第i类,但是在下一次迭代中,和第j类距离更近,则有d(i+1)<d(i),同时D(i+1)>D(i)
1.d(i+1)<d(i):如果其他点不动,则在d=(n1*d1+...+nk*dk)/k中,只有变动的那个点的距离变小了,所以d(i+1)<d(i)
2.D(i+1)>D(i):
4.扩展到一半的机器学习问题中:
a.两个过程和一组目标函数:
i.两个过程:
1.根据现有的聚类结果,对数据进行重新划分;如果把最终的分类结果看成数学的模型,那么聚类的中心点,以及每个点和类的隶属关系,可以看成模型的参数
2.根据重新划分的结果,得到新的聚类
ii.目标函数:点到聚类的距离d和聚类间的距离D,整个过程就是最大化目标函数
b.EM算法:
如果有非常多的观测数据点,让计算机不断迭代来学习模型的算法
i.E过程:根据现有模型,计算各个观测数据输入到模型的计算结果,称为期望值计算过程(Expectation)
ii.M过程:重新计算模型参数,以最大化期望值,在上面的例子中就是最大化D和-d
c.例子:
隐含马尔科夫模型的训练方法、最大熵的模型的训练方法GIS算法
d.全局最优的问题:
i.目标是凸函数,则一定能保证全局最优
熵函数、N维空间以欧氏距离做度量
余弦距离不保证是凸函数,可能得到的是局部最佳解