从 MLE 到 EM 算法

极大似然估计(MLE)提供了一种 给定观察数据来评估模型参数的方法,MLE 的问题形式是这样的,给定来自随机变量 $X$ 的数据集合 $\left \{  x_1,x_2 ,..., x_N \right \}$ , $X$ 的概率密度函数 $f(x|\theta)$ ,其中 $\theta$ 是为概率密度的未知参数,现在即可根据 MLE 求参数 $\theta$ .

其实是 MLE 一种经验风险最小化(emperical risk minimization,ERM)的方法,在机器学习中,ERM 即在给定的有限数据集上使求得模型的损失最小,写成公式有:

\[\min_{f \in \mathbb{F} } \frac{1}{N} \sum_{i=1}^{N}L(y_i,f(x_i))\]

其中 $ \mathbb{F} $ 是假设空间,$L(y_i,f(x_i))$为人工定义的损失函数, $f(x)$ 是假设函数,也即所求的模型,可见当样本容量足够大时,ERM 会保证很好的解,但是样本容量 N 很小时,ERM 可能有 over-fitting 的现象。对 MLE 来说,当模型是条件概率,损失函数是对数损失函数时,其与 ERM 是等价的,求证如下:对单个样本 $(x_i,y_i)$ ,当模型为 $f(x_i) = p(x_i|\theta)$ 时,对数损失函数为 $L(y_i,f(x_i)) = -logf(x_i) = -log \ p(x_i|\theta)$ ,此时对于所有样本数据  $\left \{  x_1,x_2 ,..., x_N \right \}$ 有:

\[\min_{\theta } -\frac{1}{N} \sum_{i=1}^{N}log \  p(x_i|\theta)\Leftrightarrow \max_{\theta } \frac{1}{N} \sum_{i=1}^{N}log \ p(x_i|\theta)\]

以上便为 MLE 的log似然对数,有无 $\frac{1}{N}$ 对结果无影响。接下来给出 MLE 的一般形式:对于数据 $\left \{  x_1,x_2 ,..., x_N \right \}$ ,密度函数为  $f(x|\theta)$ , 则数据集的联合密度函数为 $f(x_1,x_2,...,x_N|\theta) = f(x_1|\theta)f(x_2|\theta)...f(x_N|\theta) = \prod_{i=1}^{N}f(x_i|\theta)$ ,要求其最大值,可先两边同时取 log ,然后求 log 函数的极大值即可,即

\[\max_{\theta}L(\theta)= \max_{\theta}log(\prod_{i=1}^{N}f(x_i|\theta)) =  \max_{\theta}\sum_{i=1}^{N}log f(x_i|\theta) \]

显然对 ERM 来说数据量越多

即在已知数据概率密度的情况下,

Jensen不等式

随机变量的期望

随机变量函数的期望

最大期望算法(Expectation Maximization Algorithm,又译期望最大化算法),是一种迭代算法,用于含有隐变量(latent variable)的概率参数模型的最大似然估计或极大后验概率估计。

时间: 2024-11-12 10:08:39

从 MLE 到 EM 算法的相关文章

GMM的EM算法实现

在聚类算法K-Means, K-Medoids, GMM, Spectral clustering,Ncut一文中我们给出了GMM算法的基本模型与似然函数,在EM算法原理中对EM算法的实现与收敛性证明进行了具体说明.本文主要针对怎样用EM算法在混合高斯模型下进行聚类进行代码上的分析说明. 1. GMM模型: 每一个 GMM 由 K 个 Gaussian 分布组成,每一个 Gaussian 称为一个"Component",这些 Component 线性加成在一起就组成了 GMM 的概率密

EM算法学习笔记

最近学习整理相关算法,发现EM算法和MLE估计都是十分优秀的算法. 首先最大似然估计是一种已知结果,通过改变参数theta使得这种结果出现的可能性最大. 而EM算法则是可以解决含有隐藏变量的问题.举个大家都用的例子,就是我们要统计某学校男女同学的身高,如果我们可以区分男女同学,那么用最大似然估计即可,但是现在我们无法知道某个同学的性别,那么怎么来推断男女同学的身高分布呢? 假设我们想估计知道A和B两个参数,在开始状态下二者都是未知的,但如果知道了A的信息就可以得到B的信息,反过来知道了B也就得到

EM算法——有隐含变量时,极大似然用梯度法搞不定只好来猜隐含变量期望值求max值了

摘自:https://www.zhihu.com/question/27976634 简单说一下为什么要用EM算法 现在一个班里有50个男生,50个女生,且男生站左,女生站右.我们假定男生的身高服从正态分布 ,女生的身高则服从另一个正态分布: .这时候我们可以用极大似然法(MLE),分别通过这50个男生和50个女生的样本来估计这两个正态分布的参数. 但现在我们让情况复杂一点,就是这50个男生和50个女生混在一起了.我们拥有100个人的身高数据,却不知道这100个人每一个是男生还是女生. 这时候情

机器学习笔记(十)EM算法及实践(以混合高斯模型(GMM)为例来次完整的EM)

今天要来讨论的是EM算法.第一眼看到EM我就想到了我大枫哥,EM Master,千里马,RUA!!!不知道看这个博客的人有没有懂这个梗的.好的,言归正传,今天要讲的EM算法,全称是Expectation maximization,期望最大化.怎么个意思呢,就是给你一堆观测样本,让你给出这个模型的参数估计.我靠,这套路我们前面讨论各种回归的时候不是已经用烂了吗?求期望,求对数期望,求导为0,得到参数估计值,这套路我懂啊,MLE!但问题在于,如果这个问题存在中间的隐变量呢?会不会把我们的套路给带崩呢

信息论、最大熵模型与EM算法

七月在线4月机器学习算法班课程笔记--No.8 1. 统计学习基础回顾 1.1 先验概率与后验概率 先验概率:根据以往经验和分析得到的概率,如全概率公式,它往往作为"由因求果"问题中的"因"出现. 后验概率:依据得到"结果"信息所计算出的最有可能是那种事件发生,如贝叶斯公式中的,是"执果寻因"问题中的"因".后验概率可以根据通过贝叶斯公式,用先验概率和似然函数计算出来. 贝叶斯定理:假设B1,B2,...,

GMM的EM算法

在聚类算法K-Means, K-Medoids, GMM, Spectral clustering,Ncut一文中我们给出了GMM算法的基本模型与似然函数,在EM算法原理中对EM算法的实现与收敛性证明进行了具体说明.本文主要针对怎样用EM算法在混合高斯模型下进行聚类进行代码上的分析说明. 1. GMM模型: 每一个 GMM 由 K 个 Gaussian 分布组成.每一个 Gaussian 称为一个"Component".这些 Component 线性加成在一起就组成了 GMM 的概率密

EM算法[转]

最大期望算法:EM算法. 在统计计算中,最大期望算法(EM)是在概率模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐藏变量. 最大期望算法经过两个步骤交替进行计算: 第一步是计算期望(E),利用对隐藏变量的现有估计,计算其最大似然估计值: 第二步是最大化(M),最大化在E步上求得的最大似然值来计算参数的值. M步上找到的参数估计值被用于下一个E步计算中,这个过程不断交替进行. 总体来说,EM算法流程如下: 1.初始化分布参数 2.重复直到收敛: E步:估未知参数的

极大似然估计和EM算法

title: 最大似然估计和EM算法 date: 2018-06-01 16:17:21 tags: [算法,机器学习] categories: 机器学习 mathjax: true --- 本文是对最大似然估计和EM算法做的一个总结. 一般来说,事件A发生的概率与某个未知参数$\theta?$有关,$\theta?$取值不同,则事件A发生的概率$p(A|\theta)?$也不同.当我们在一次实验中事件A发生了,则认为此时的$\theta?$值应是t的一切可能取值中使$p(A|\theta)?$

EM算法(1):K-means 算法

目录 EM算法(1):K-means 算法 EM算法(2):GMM训练算法 EM算法(3):EM算法详解 EM算法(1) : K-means算法 1. 简介 K-means算法是一类无监督的聚类算法,目的是将没有标签的数据分成若干个类,每一个类都是由相似的数据组成.这个类的个数一般是认为给定的. 2. 原理 假设给定一个数据集$\mathbf{X} = \{\mathbf{x}_1, \mathbf{x}_2,...,\mathbf{x}_N \}$, 和类的个数K.我们的每个类都用一个中心点$