判别模型求的是条件概率p(y|x),

生成模型求的是联合概率p(x,y)  .即 = p(x|y) ? p(y) 常见的判别模型有线性回归、对数回归、线性判别分析、支持向量机、boosting、条件 随机场、神经网络等。

常见的生产模型有隐马尔科夫模型、朴素贝叶斯模型、高斯混合模型、LDA、Restricted

Boltzmann Machine等。

所以这里说的高斯混合模型,朴素贝叶斯模型都是求p(x,y)联合概率的。(下面推导会见原因)

套路小结: 凡是生产模型,目的都是求出联合概率表达式,然后对联合概率表达式里的各个参数再进行估计,求出其表达式。

下面的EM算法,GMM等三个模型都是做这同一件事:设法求出联合概率,然后对出现的参数进行估计。

一、EM算法:

作用是进行参数估计。

应用:(因为是无监督,所以一般应用在聚类上,也用在HMM参数估计上)所以凡是有EM算法的,一定是无监督学习.因为EM是对参数聚集

给定训练样本是

 样例独立,

我们想要知道每个样例隐含的类别z,使是p(x,z)最大,(即 如果将样本x(i)看作观察值,

潜在类别z看作是隐藏变量, 则x可能是类别z, 那么聚类问题也就是参数估计问题,)

故p(x,z)最大似然估计是:

所以可见用到EM算法的模型(高斯混合模型,朴素贝叶斯模型)都是求p(x,y)联合概率,为生成模型。

对上面公式,直接求θ一般比较困难,因为有隐藏变量z存在,但是一般确定了z后,求解就容易了。

EM是一种解决存在隐含变量优化问题的有效方法。竟然不能直接最大化?(θ),我们可建立?的下界(E步),再优化下界(M步),见下图第三步,取的就是下界

 (总式)

解释上式:

对于每一个样例 i,让Qi表示该样例隐含变量 z

的某种分布,Qi满足的条件是 (如果 z 是连续性的,那么Qi是概率密度函数(因子分析模型就是如此),需要将求和符号换成积分符号即:因子分析模型是如此,这个会用在EM算法的M步求。

比如要将班上学生聚类,假设隐藏变量z是身高,那么就是连续的高斯分布。

如果按照隐藏变量是男女,那么就是伯努利分布(即两点分布:

)了。

上总式第1到第2步是分子分母同乘一个数,

第2到3步是:用了jasen不等式:

 (凸函数图形上表示反为凹函数,记住。)

如图:

 。因为第2步log是凹函数

,所以f(E(x)) >=

E[f(x)].这样就完成了第3步(详情见对应讲义。)

至此推导完上面3步公式,下面所有模型都是对上面第3步公式进行参数估计的!!!

下面 对第三步的Q(z)进行推导:

(见讲义)

所以Q(Z)最终表示: ,其中z只受参数θ影响。

所以EM算法:

(承上启下:在m步中,最终是对参数θ进行估计,而这一步具体到高斯混合模型,则θ有三个参数:mu,phi,sigma代替,即高斯混合模型要推导三个参数,下面会讲)

至此,这就是EM算法所有推导,EM算法推导也只能推导这些步,具体再将这些公式推导下去,就要结合模型了。

总结:

如果将样本看作观察值, 潜在类别看作是隐藏变量,

那么聚类问题也就是参数估计问题,只不过聚类问题中参数分为隐含类别变量和其他参数。

对应到EM上,E步估计隐含变量,M步估计其他参数,交替将极值推向最大。

例子:在Mitchell的Machine

Learning书中也举了一个EM应用的例子,将班上学生的身高都放在一起,要求聚成两个类。这些身高可以看作是男生身高的高斯分布和女生

身高的高斯分布组成。因此变成了如何估计每个样例是男生还是女生,然后在确定男女生情

况下,如何估计均值和方差,里面也给出了公式。

二、混合高斯模型:

将EM算法融到高斯混合模型,将上面EM算法的E步、M步的公式再具体推导下去。

整个模型简单描述为:

对于每个样例

,我们先从k个类别中按多项式分布抽取一个

然后根据

所对应的

k 个多值高斯分布中的一个,生成样例

,整个过程称作混合高斯模型。

(即对样例x, 最终目的是生成样例x。(??)即对样例x,从k个类别抽取一个z,从根据z生成x。)

特别地,混合高斯模型的

(1)隐含类别标签

 ,被认为满足多项式分布,即

 (这里

只受?参数(即phi)影响)

(2)样例

被认为满足 高斯分布,即

 (所以μ和Σ分别为样例x的均值和协方差)

补充:

服从的多项式分布概率公式为:,即类似C(n,x)*p6^x*(1-p6)^(n-x)

类型

所以 上面(1)(2)可知混合高斯模型中,这里的

仍是隐含随机变量。模型细化多了三个变量?,μ和Σ。(即是phi,mu,sigma).

其中?j就是样本类别中

 =

j的比率。μj是类别为 j 的样本特征均值,Σj是类别为 j

的样例的特征的协方差矩阵(Σj是一个矩阵!!)。

所以由上面(1)(2)合并得,最大似然估计p(x,

z),对数化后如下:

 

(对比一、EM算法里的总式:

,只是参数θ由原化成三个?,μ和Σ)

注意第二步有两个迭加号。第二个迭加号是z(i)=1

直到k个类别。z只有k个类别。

参考一、中EM算法推导:

所以混合高斯模型:

从EM算法步骤的

 变成:

 (其中M步三个参数的右边公式在下面会进行推导。这里直接先给出参数结果。)

1. E步: 每个样例i的隐含类别z(i)为j的概率

可以通过条件概率计算得到。即

 (E)

(这里贝叶斯公式,分子是z=j一种类别情况,分母是z={1~k}k中类别的累加)

1)对上式的分子第一项:

(由上面加黄色背景段文字可知)服从高斯分布:

 =  。(其中Σ即是

)

2)对(E)式分子第二项(又上面可知)

服从 多项式分布:

所以分子直接代入即可,所以

 可以求得。

2.M步:

先给出最终结果为:

 ,推导如下:

先看EM算法的M步:

 (M)

下面对三个参数phi,mu,sigma(?,μ和Σ)分别进行求导:

(i)对μi

求导得(固定i,Σi):

(据Ng说求的过程不重要?)等于0时所得

(ii)对i求导(固定μi,Σi):

推导过程用了SVM中的拉格朗日乘子方法:

因为?i是

隐性随机变量z的多项式分布概率值,又有约束条件

又由上面(M)步公式:

(why?????)

所以联合上两式,直接构成拉格朗日乘子:

(iii)Σ的推导:

也类似,不过稍微复杂一些,毕竟是矩阵。结果在之前的混合高斯模型中已经给出。

3.迭代:对上面E,M步进行迭代,最后一定会收敛(证明见讲义)

如图,最终收敛成2个类,这里的样例收敛于椭圆,原因是高斯分布的二维几何图形是一个椭圆,(具体几何图形见下面因子分析,有详解)

拓展:

混合高斯模型GMM与K-means比较:

相同点:都是可用于聚类的算法;都需要指定K值。

不同点:对GMM来说,引入了概率;GMM可以给出一个样本属于某类的概率是多少。所以高斯混合模型既可以做聚类,也可做概率密度估计

三、混合朴素贝叶斯模型

混合高斯的例子:文本聚类:

要对一系列的文本聚类成若干主题。(用svm写文本分类是最好的)

news.google.com就是文本聚类一个应用

怎样在文本新闻问题用到EM算法呢?

----->混合朴素贝叶斯模型。混合朴素贝叶斯模型有2个:多值伯努利事件模型(文本聚类就是用此);多项式事件模型。

模型描述为:

给定m个样本的训练集合是

 ,

每个文本

属于(0,1)^n。即每个文本是n维

0或1的向量。

=

{ wordj 是否出现在文本i 里}

我们要对

(值是0或1)

进行建模,

是隐含随机变量,这里取两个值:2个聚类。

所以对混合贝叶斯模型,假设  服从参数有伯努利分布(两点分布),即:

 图中x换成即可)。

故每个文本按某概率属于聚类1或者聚类2

同高斯混合模型,混合贝叶斯模型的联合概率是:

又  由贝叶斯公式可知:

p(

|

)

p(

)

(i)

p(

 =

1 |

 =

0)  =  (ii)

把上面的z全部换成y,就得到常见的朴素贝叶斯公式:

 一般会前面两个等式右边的x=1,或省去=1,即写成i|y=1

= p(xi | y =1)  i|y=0

= p(xi | y =0) ,默认x取了1

其中p(y=1)表示类别1(例如类别1表示垃圾邮件)的在所有文本的概率。这里xi表示一个单词,取值只有0或者1,表示出现在文本里或者没有出现。

EM算法步骤:

1.E步:

 这里三个参数phi,mu,sigma,改成

,与?j|z

将上面(i)(ii)式带入即可求得

2.M步:

对比贝叶斯原公式:

=

这里Wi表示文本来自于类1,分子Σ表示:类1且包含词j的文档个数,分布表示类1的文档总数。所以全式表示:类1包含词j的比率。

EM算法不能做出绝对的假设0或者1,所以只能用Wi表示,最终Wi的值会靠近0或1,在数值上与0或1无分别。

=

(分子的横斜是多余的,忽略)

全式表示:类0包含词j的比率

j|z = 

3.迭代上面12步骤,收敛,求出参数估计,带回联合概率,将联合概率排序,由联合概率最高值

,可得知哪个文本是输入哪个类了。

em算法怎么对应原有分类_EM算法相关推荐

  1. em算法怎么对应原有分类_EM算法原理

    转自:https://www.cnblogs.com/Gabby/p/5344658.html 我讲EM算法的大概流程主要三部分:需要的预备知识.EM算法详解和对EM算法的改进. 一.EM算法的预备知 ...

  2. em算法怎么对应原有分类_[PRML]序列数据 HMM维特比算法及扩展

    序列数据相关文章:1.马尔可夫模型2.隐马尔可夫模型简介3.HMM最大似然4.HMM前向后向算法5.HMM和积算法与尺度因子 1 维特比算法 在隐马尔可夫模型的许多应用中,潜变量有一些有意义的解释,因 ...

  3. em算法怎么对应原有分类_机器学习基础-EM算法

    EM算法也称期望最大化(Expectation-Maximum,简称EM)算法,它是一个基础算法,是很多机器学习领域算法的基础,比如隐式马尔科夫算法(HMM), LDA主题模型的变分推断等等.本文就对 ...

  4. em算法怎么对应原有分类_机器学习系列之EM算法

    我讲EM算法的大概流程主要三部分:需要的预备知识.EM算法详解和对EM算法的改进. 一.EM算法的预备知识 1.极大似然估计 (1)举例说明:经典问题--学生身高问题 我们需要调查我们学校的男生和女生 ...

  5. em算法怎么对应原有分类_彻底搞懂EM算法

    在介绍EM算法之前,我们先来回归K-means算法. K-means其实非常简单,就是设定K个中心,然后不断的调整这k个类别的边界和中心. 整个模型有两套参数,分别是负责决定中心的 ,因为有K个中心, ...

  6. em算法详细例子及推导_EM算法详解(例子+推导)

    一. 例子讲解 假设有两个硬币1和2,随机抛出后出现正面概率为 . .每次取一枚银币,连续抛5次,共抛5轮,数据如下: 硬币1-->(3正2反):硬币2-->(2正3反):硬币3--> ...

  7. 左右值无限分类实现算法

    转:左右值无限分类实现算法 左右值无限分类实现算法 一.引言 产品分类,多级的树状结构的论坛,邮件列表等许多地方我们都会遇到这样的问题:如何存储多级结构的数据?在PHP的应用中,提供后台数据存储的通常 ...

  8. 算法与数据结构_数据结构与算法专题--算法基本概念

    很多开发者都知道"程序=数据结构+算法"这个著名的公式,并不真正明白算法的定义或概念.究竟什么是算法呢?从字面意义上理解,算法即用于计算的方法,通过这种方法可以达到预期的计算结果. ...

  9. 文本分类——NLV算法研究与实现

    内容提要 1 引言 2 NLV算法理论 2.1 训练模型 2.2 分类模型 3 NLV算法实现 3.1 算法描述 4 实验及性能评估 4.1 实验设计 4.1.1 实验环境 4.1.2 数据集 4.1 ...

最新文章

  1. HTML5 新标签总汇
  2. JavaWeb笔记:Html总结
  3. marked转换html失败,marked-JavaScript中文网-JavaScript教程资源分享门户
  4. 华为发布国行版P40系列,售价4188元起;大疆回应“至少50%的裁员清扫计划”;Firefox 75发布 | 极客头条...
  5. CCF201509-1 数列分段(100分)【序列处理】
  6. 面试中的排序算法总结
  7. TWaver可视化软件(七) WEB组态可视化软件
  8. 手机号检测性别原理分析 微信男女 抖音ID检测原理
  9. mysql怎么设置角色_mysql 用户角色权限表建立
  10. 金蝶标准版的服务器文件,金蝶标准版服务器设置
  11. 计算机网络-哈尔滨工业大学mooc-第2周作业解答
  12. python的time模块使用
  13. java读取qq邮箱邮件
  14. 洛谷 P1551 亲戚
  15. Wang Changyu
  16. Java入坑指南,学Java需要具备哪些前提条件?
  17. InstructGPT
  18. 我如何在计算机视觉顶级会议CVPR上发表论文?
  19. (CVE-2014-0160)OpenSSL 心脏出血漏洞
  20. 大学生初涉职场十一大病毒

热门文章

  1. 计科专业新生须知:什么才是编程?助你进阶大牛的必经之路
  2. ESG评级是什么意思呢?
  3. python 去掉双引号_你要偷偷的学Python,然后惊呆所有人(第一天) - python阿喵
  4. 21个经典数据科学面试题及答案(上)
  5. 从苏宁电器到卡巴斯基第10篇:我在苏宁电器当营业员 II
  6. 充电桩云平台-一站式运营服务平台
  7. IB中文考试作品比较题分析
  8. 什么是算法?读完这篇文章你就知道了
  9. proteus教程——cc4014串行输入
  10. 天猫店群玩法有流量销售额却上不去?可能是转化率出了问题。