作者:CHEONG

公众号:AI机器学习与知识图谱

研究方向:自然语言处理与知识图谱

阅读本文之前,首先注意以下两点:

1、机器学习系列文章常含有大量公式推导证明,为了更好理解,文章在最开始会给出本文的重要结论,方便最快速度理解本文核心。需要进一步了解推导细节可继续往后看。

2、文中含有大量公式,若读者需要获取含公式原稿Word文档,可关注公众号后回复:EM算法第三讲,本文主要介绍如何通过Jensen Inequality推导出EM算法的优化公式。

一、EM算法解决的问题

通俗些说,EM算法就是求含有隐变量zzz的概率模型p(x,z∣θ)p(x,z|\theta)p(x,z∣θ)中的参数θ\thetaθ。对于求参数问题我们很容易想到最大似然估计法MLE,但MLE是针对比较简单的概率模型p(x∣θ)p(x|\theta)p(x∣θ)可直接使用MLE求出参数的解析解,MLE参数最大化公式所示:

对于含有隐变量的概率模型p(x,z∣θ)p(x,z|\theta)p(x,z∣θ),隐变量zzz的概率分布是未知的,无法使用MLE求出解析解,因此使用EM算法来求解参数的近似解。对于概率密度p(x,z∣θ)p(x,z|\theta)p(x,z∣θ)参数求解公式如下:

二、由Jensen Inequality推导EM算法

Jesen不等式: 先简单介绍一下Jesen不等式,Jesen不等式和凸函数、凹函数的定义是相关的,下面直接给出结论:

首先看凸函数Convex Function,凸函数上任意两点的割线位于函数的上方,对应公式为:

Jesen不等式就是等上式的推广和泛化:

在概率论中,如果把λi\lambda_iλi​看成为离散变量xix_ixi​的概率分布,则上式可写成,其中E是均值:

而如果λi\lambda_iλi​看成为连续变量xix_ixi​的概率分布,则公式可表达成:

接下来再看凹函数,凹函数上任意两点的割线位于函数的下方,所以只需要将上面的性质的符号反转便是凹函数中具有的性质,直接给出Jesen不等式在凹函数中的体现:

在了解了Jesen不等式之后,接下来进行EM算法的推导:

因为log是凹函数,结合Jesen不等式性质有:

假设:

将上式两边同时对ZZZ求积分

所以求得:

至此我们求出了分布q(Z)q(Z)q(Z),就是后验概率p(Z∣X,θ)p(Z|X,\theta)p(Z∣X,θ),所以有:

所以对于参数θ\thetaθ

其中q(Z)q(Z)q(Z)为后验分布p(Z∣X,θ)p(Z|X,\theta)p(Z∣X,θ),至此借助Jesen不等式推导出了EM算法的优化公式。

三、往期精彩

【知识图谱系列】Over-Smoothing 2020综述

【知识图谱系列】基于生成式的知识图谱预训练模型

【知识图谱系列】基于2D卷积的知识图谱嵌入

【知识图谱系列】基于实数或复数空间的知识图谱嵌入

【知识图谱系列】自适应深度和广度图神经网络模型

【知识图谱系列】知识图谱多跳推理之强化学习

【知识图谱系列】知识图谱的神经符号逻辑推理

【知识图谱系列】动态时序知识图谱EvolveGCN

【知识图谱系列】多关系神经网络CompGCN

【知识图谱系列】探索DeepGNN中Over-Smoothing问题

【知识图谱系列】知识图谱表示学习综述 | 近30篇优秀论文串讲

【知识图谱系列】动态知识图谱表示学习综述 | 十篇优秀论文导读

【面经系列】八位硕博大佬的字节之旅

【机器学习系列】机器学习中的两大学派

各大AI研究院共35场NLP算法岗面经奉上

干货 | Attention注意力机制超全综述

干货 | NLP中的十个预训练模型

干货|一文弄懂机器学习中偏差和方差

FastText原理和文本分类实战,看这一篇就够了

Transformer模型细节理解及Tensorflow实现

GPT,GPT2,Bert,Transformer-XL,XLNet论文阅读速递

机器学习算法篇:最大似然估计证明最小二乘法合理性

Word2vec, Fasttext, Glove, Elmo, Bert, Flair训练词向量教程+数据+源码

原稿获取请关注公众号后回复:EM算法第三讲,原创不易,有用就点个赞呀!

【机器学习系列】EM算法第三讲:由Jensen Inequality推导EM算法相关推荐

  1. 机器学习系列之EM算法

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

  2. 《机器学习系列-强填EM算法在理论与工程之间的鸿沟(上)》

    小夕曾经问一位做机器学习理论的学姐:"学姐学姐,EM算法是什么呢?" 学姐回答:"EM算法啊,就是解决包含隐变量的参数估计问题." 小夕: 然后小夕去问一位做工 ...

  3. 机器学习系列-强填EM算法在理论与工程之间的鸿沟(下)

    前言 在上一篇文章<机器学习系列-强填EM算法在理论与工程之间的鸿沟(上)>中,小夕用优(恐)雅(怖)的数学理论来向读者解释了EM算法的工作原理.那么从工程角度出发的EM算法又是怎样的呢? ...

  4. 机器学习系列(4)_机器学习算法一览,应用建议与解决思路

    作者:寒小阳 时间:2016年1月. 出处:http://blog.csdn.net/han_xiaoyang/article/details/50469334 声明:版权所有,转载请联系作者并注明出 ...

  5. k近邻法matlab_机器学习系列(一)K近邻算法(KNN,KNearestNeigh

    本文源自微信公众号[Python编程和深度学习]原文链接:机器学习系列(一)K-近邻算法(KNN,K-Nearest-Neighbor),欢迎扫码关注鸭! 目录 一.算法概述 二.Python代码 三 ...

  6. 机器学习系列------1. GBDT算法的原理

    GBDT算法是一种监督学习算法.监督学习算法需要解决如下两个问题: 1.损失函数尽可能的小,这样使得目标函数能够尽可能的符合样本 2.正则化函数对训练结果进行惩罚,避免过拟合,这样在预测的时候才能够准 ...

  7. 【机器学习系列】概率图模型第三讲:深入浅出无向图中的条件独立性和因子分解

    作者:CHEONG 公众号:AI机器学习与知识图谱 研究方向:自然语言处理与知识图谱 阅读本文之前,先注意一下两点: 1. 机器学习系列文章常含有大量公式推导证明,为了更好理解,文章在最开始会给出本文 ...

  8. PCA主成分分析算法专题【Python机器学习系列(十五)】

    PCA主成分分析算法专题[Python机器学习系列(十五)] 文章目录 1. PCA简介 2. python 实现 鸢尾花数据集PCA降维 3. sklearn库实现 鸢尾花数据集PCA降维案例    ...

  9. 视觉机器学习20讲-MATLAB源码示例(7)-EM算法

    视觉机器学习20讲-MATLAB源码示例(7)-EM算法 1. EM算法 2. Matlab仿真 3. 仿真结果 4. 小结 1. EM算法 最大期望算法(Expectation-Maximizati ...

  10. 【机器学习系列】之SVM核函数和SMO算法

    作者:張張張張 github地址:https://github.com/zhanghekai [转载请注明出处,谢谢!] [机器学习系列]之SVM硬间隔和软间隔 [机器学习系列]之SVM核函数和SMO ...

最新文章

  1. 利用关系数据库开展智能化营销新思路详解
  2. Spring MVC 4.1 支持jsonp
  3. 关于机器学习你必须要了解的事情
  4. lucene大牛博客汇总保存
  5. GaussDB(DWS)应用实战:对被视图引用的表进行DDL操作
  6. python 调用opencv dll_【问题已解决】python 3.6下安装opencv-python解决cv2 DLL load failed: 找不到指定的模块问题...
  7. eBPF BCC 实现UNIX socket抓包
  8. python画画用哪库好_学Python画画:应用Turtle库画一个蠢萌的小黄人
  9. AndroidJava保留小数位数的几种写法
  10. python怎么将json文件转为xls文件_基于python实现把json数据转换成Excel表格
  11. zabbix_nginx监控
  12. 【心电信号】基于matlab瞬时抑制心电信号IIR滤波【含Matlab源码 1533期】
  13. FPGA之JESD204B接口——总体概要 尾片
  14. 利用python编程,制作自己的游戏“外挂”!
  15. Python turtle库如何瞬间完成作图?难道只难像海龟一样慢慢爬吗?
  16. Codeforces Round #384 B. Chloe and the sequence
  17. java bean ejb_EJB:企业JavaBean - 解道jdon
  18. H5常见问题 微信踩过得坑
  19. 【LaTex】LaTex 的使用与写作(快速入门,尾附:简洁的论文模板代码)
  20. 朋友圈里这3种人,一定要远离

热门文章

  1. 改变form里面input,textarea.select等的默认样式
  2. 【前端】js代码模拟用户键盘鼠标输入
  3. 谈谈BFC与ie特有属性hasLayout
  4. 利用AsyncHttpClient实现图片的上传与下载
  5. Android SDK Permission大全访问权限
  6. Java中变量及数据类型
  7. 数据可视化——ECharts基础
  8. delphi memo 查找字符 下行插入_VBA实践+用编程代码为PDF文档插入书签
  9. java怎么把照片导出来,JAVA将图片转成base64导出到word中
  10. ubunt Linux nginx,linux ubuntu系统安装nginx教程