第 27 章 再谈文本自动分类问题——期望最大化EM
文本的自收敛分类
不同于 TF-IDF 利用余弦相似度来进行分类,这里不需要事先设定好类别,也不需要对文本两两比较进行合并聚类。而是随机挑选一些类的中心,然后来优化这些中心,使它们和真实的聚类中心尽可能一致。步骤如下:
假设有很多点随机分布,随机挑选 k 个点作为聚类的中心。
分别计算出所有点到这些聚类中心的距离,将这些点归到最近的一类中。
重新计算每一类的中心(分别计算每个维度的平均值)。
重复上述过程,直到新的中心和旧的中心之间偏移非常非常小,即过程收敛。
如何确保期望最大化
首先,我们的距离函数必须足够好,能保证同一类相对距离较近,不同类相对距离较远。我们希望最终的分类结果是:相近的点都被聚类到了一类中,即同一类中各个点到中心距离的平均距离 d 较近,而不同类中心之间的平均距离 D 较远。
EM算法
在一般性的问题中如果有很多观测值,可以让计算机不断迭代来学习一个模型。首先,根据现有的模型,计算出观测数据输入到模型中的结果,这个过程为期望值计算过程(Expectation,E过程);接下来,重新计算模型参数,以最大化期望值(文本分类中是最大化 D 和 -d ),该过程为最大化过程(Maximization,M过程)。统称为EM算法。
小结
EM算法只需要有一些训练数据,定义一个最大化函数,剩下的事就交给计算机了。经过若干次迭代,达到收敛或误差最小化,模型就训练好了。是一个通用的算法。
EM算法不一定能得到全局最优解,如果目标函数是凸函数,就可以;如果是凹函数,则可能得到的是局部最优解。
Last updated