期望最大化算法的文本自动分类问题
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维空间以欧氏距离做度量
余弦距离不保证是凸函数,可能得到的是局部最佳解
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?