我想自己建立一个网站,新创建的网站,网站备案网站名称怎么填,免费的个人主页网页制作网站前言在上一篇文章《机器学习系列-强填EM算法在理论与工程之间的鸿沟#xff08;上#xff09;》中#xff0c;小夕用优#xff08;恐#xff09;雅#xff08;怖#xff09;的数学理论来向读者解释了EM算法的工作原理。那么从工程角度出发的EM算法又是怎样的呢#xff… 前言 在上一篇文章《机器学习系列-强填EM算法在理论与工程之间的鸿沟上》中小夕用优恐雅怖的数学理论来向读者解释了EM算法的工作原理。那么从工程角度出发的EM算法又是怎样的呢 EM算法在工程上有很多应用场景例如1、 半监督学习即利用包含缺失类别标签的数据的混合数据集训练分类器。2、 数据预处理给缺失某一维特征的值的数据补上缺失值。3、 聚类对聚类。4、 隐马尔科夫模型训练隐马尔科夫模型中的参数。5、 … 场景辣么多理论却只有一个。因此讨厌数学的攻城狮可能会记住很多场景下的EM算法而喜欢数学最起码不要跟数学打起来的攻城狮则以不变应万变早已看透一切2333。 小夕搬出大栗子比如我们要做文档分类。我们手头有10000篇文章其中只有600篇标好了类别其余9400篇均没有类别标签。那么如何训练出一个尽可能高精度的分类器呢 诶有人可能想既然9400篇文档都没有标签难道这些没有标签的数据都会有助于提高分类器的精度怎么可能呢 其实很好理解呀。虽然有些文档没有类别标签但是这些文档的内容就包含分类信息啊。这里的信息指的是“词共现”或者广义上说“特征共现”。比如我们利用有标签的文档发现“么么哒”是非常有助于文档分类的强特征然而我们又在没有标签的文档中发现“么么哒”经常与“抱抱”一起出现也就是共现那么就可以从很大程度上说明“抱抱”也是有助于文档分类的强特征。 举个生动的事实在UseNet语料库中做新闻类别分类若要达到70%的精度则需要2000篇有类别标记的文档。但是如果我们有600篇有类别标记的文档还有10000篇无类别标记的文档那么同样可以达到70%的精度。 攻城狮眼中的EM算法在攻城狮眼中上面那个栗子显然是一个半监督学习问题即数据集中既有有类别标记的样本也有无类别标记的样本因此显然可以搬出来EM算法呀。在攻城狮眼中EM算法非常简单1、 仅利用有标签的数据训练一个朴素贝叶斯分类器。2、 利用训练好的分类器给无类别标签的数据打上标签顺便记下分类器对该标签的把握。然后将所有标签的把握求和得到值sum。3、 利用全部数据重新训练朴素贝叶斯分类器。4、 重复2、3步直到sum不再变化或者说近似于不再变化。 诶明明思路很简单啊怎么会跟上一篇中那么多恐怖的公式扯上关系呐然而机智的你有没有想过算法为什么要这样写呢这就是关键啦。好桥梁小夕造首先我们在理论EM中的目标是最大化似然函数而你还记不记得小夕前面讲过其实最大化后验概率的本质工作就是最大化似然函数呢 诶发现了没有~在工程上我们在第2步中收集分类器对每个标签的把握并求和那不就是收集的整个数据集的后验概率嘛不就是在近似计算似然函数嘛 因此显然在工程上的第4步也就是不停的重复2、3步肯定会让分类器的精度越来越大呀因此分类器会对每个标签的把握越来越大因此这不就是相当于理论上的最大化似然函数嘛 再想在工程上第3步的训练朴素贝叶斯分类器的本质是什么不就是训练朴素贝叶斯分类器的参数嘛而朴素贝叶斯分类器的参数是什么不就是先验概率跟每个类别下的每个特征的每个值的后验概率嘛而先验概率不用管了那每个类别下的每个特征的每个值的后验概率合在一起是什么不就是理论EM算法中的每个随机变量的概率分布模型的参数嘛恍然大悟啊有没有 路人某╮(╯_╰)╭并没有。 小夕(╯°Д°)╯︵ /(.□ . \) 好吧给你几分钟时间接受一下训练分类器的理论意义竟然是计算随机变量所服从的概率分布模型的参数这个事实。 工程EM的第2、3、4步竟然完完全全的卡到了理论EM算法的相应位置。那么理论EM算法还有哪一步没有对应上呢当然是参数θ的初始化啦~相信机智的你已经想到了那就是工程EM中的第1步所做的事情啦。 细心的你又有没有留意到什么不同之处呢藏的再深也要挖出来如果能留意到那就非常厉害了。还记得理论EM中我们计算似然函数的过程中是要计算无标签样本的每种标签取值的概率之和的对就是下面这货 我叫图片不叫公式然而我们在工程上计算似然函数则是先用分类器预测一个类别然后叠加该类别的后验概率 这意味着什么呢显然意味着忽略了样本为其他类别的概率呀这样做肯定导致导致计算出的后验概率没有那么准但是却极大的提高了计算效率 因此本质上讲工程上半监督学习中的EM算法不过是简化了计算、优化了初始化的理论EM模型罢了╮(╯▽╰)╭ 建造桥梁好辛苦坐等小红包买瓶水\(//∇//)\