em算法

EM算法-混合高斯模型

安稳与你 提交于 2020-03-11 17:16:24
最近在学EM算法,看到大佬写的博客很好,我仅转载:https://blog.csdn.net/coldnoble/article/details/41625911?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158390483919725211958727%2522%252C%2522scm%2522%253A%252220140713.130056874…%2522%257D&request_id=158390483919725211958727&biz_id=0&utm_source=distribute.pc_search_result.none-task 最近在看李航的《统计学习方法》一书,关于EM算法部分收集了些资料进行了学习,做了些混合高斯的模拟,下面分三个部分介绍下相关内容:1)EM算法原理,2)混合高斯推导,3)相关代码和结果 一、EM算法原理 EM算法推导中一个重要的概念是 Jensen 不等式 。 其表述为:如果 为凸函数( ), 则有 , 当且仅当 的时候不等式两边等号才成立。 如果概率模型只针对观测样本 ,那么根据 的观测值,可以通过极大似然或贝叶斯估计法估计其参数 。但是,如果概率模型不仅包含观测样本 ,还含有隐变量 (无法观测其值),这时就需要EM算法来估计隐 变量 和 观测样本

关于EM算法

这一生的挚爱 提交于 2020-03-10 23:45:06
EM算法的简介 1.什么是EM算法 最大期望算法(Expectation-maximization algorithm,又译为期望最大化算法),是在概率模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐性变量。 最大期望算法经过两个步骤交替进行计算, 第一步是计算期望(E),利用对隐藏变量的现有估计值,计算其最大似然估计值; 第二步是最大化(M),最大化在E步上求得的最大似然值来计算参数的值。M步上找到的参数估计值被用于下一个E步计算中,这个过程不断交替进行。 2.举例 比如说抛硬币的例子,如果说有两个硬币A和B,每次抛之前知道是A还是B,那么,可能的结果会如下图所示: 但,如果要是在抛硬币之前,不知道硬币的种类,那么情况就会变得更复杂了,在不知道硬币的前提下,那么硬币的种类就成了一个隐形的变量,具体如下图: 在这种情况下,我们可以如上图所示,这样来解决这个问题,既然在丢硬币之前不知道硬币到底是A还是B,那么我们可以事先先假定一个这样的隐形变量为z,然后设定初始A硬币出现正面的概率p(A)为0.6,硬币出现正面的概率p(B)为0.5,那么就可以按照上图,根据抽样几次的结果,用极大似然估计出每一次Z的值,即具体是A还是B,然后再反过来算p(A)和p(B),最后更新,以此循环,直到收敛即可求得最后的概率。 3.基本的公式推导 来源: CSDN 作者:

em-在高斯混合模型中的应用

时光怂恿深爱的人放手 提交于 2020-03-08 06:10:50
EM算法 EM算法的来源 李航的《统计学习方法一书》通过三硬币模型引入了对EM的用法,但是并没有讲解怎么通过EM算法推导出三硬币模型的递推公式。 从三硬币法开始讲起 三硬币模型 假设有三枚硬币A,B,C,硬币A以 π \pi π 的概率掷出正面,以 1 − π 1-\pi 1 − π 的概率掷出反面,硬币B以 p p p 的概率掷出正面,以 1 − p 1-p 1 − p 的概率掷出反面,硬币C以 q q q 的概率掷出正面,以 1 − q 1-q 1 − q 的概率掷出反面。定义以下规则:掷出硬币A,如果掷出正面,选择硬币B,记录掷出硬币B的结果;否则掷出硬币C,记录C的结果。记正面为1,反面为0,得到: 1 , 1 , 1 , 1 , 1 , 0 , 0 , 0 , 0 , 1 , 1 , 1 , 1 1,1,1,1,1,0,0,0,0,1,1,1,1 1 , 1 , 1 , 1 , 1 , 0 , 0 , 0 , 0 , 1 , 1 , 1 , 1 求 π \pi π 、 p p p 、 q q q 的最大似然估计。 这是一个典型的存在隐形变量的问题。即“硬币A的结果”是隐含变量,这里将硬币A的结果用 Z Z Z 表示,观测变量用 Y Y Y 表示,用 y i ∈ { 0 , 1 } y_i\in \{0,1\} y i ​ ∈ { 0 , 1 } 表示每一次掷出的结果

EM算法、变分推断(VBEM)、F函数的极大极大算法(EM算法的推广)

有些话、适合烂在心里 提交于 2020-02-21 01:55:32
1.口述EM算法 EM算法就是近似极大化似然函数的一种方法。 那么一般的MLE存在的问题就是当likelihood-function存在log-sum项时,变得极难求解,这时候就要换一种思路,引入隐变量Z,和Z的某种分布q(Z)。这里先不说q(Z)是什么,买下一个伏笔。 EM算法的一个巧妙之处在于:似然函数经过变形(除以q(Z)再乘以q(z)),然后利用jenson’s inequality将log-sum项去掉了,这时候我们可以得到一个似然函数的下界 什么时候取等号呢?当q(z)=p(z|x,θ)时,会得到似然函数的“紧”下界,这时候我们只要最大化下界就可以了 这时候就有了EM算法的核心:就是通过不断求解下界的极大化逼近求解对数似然函数极大化算法。 可以证明EM算法是收敛的,收敛包含两个方面:对数似然函数的收敛性和参数θ的收敛性 2.在GMM中找EM的影子 假设高斯混合模型的概率密度函数为 p(x)=“A” 那么观测数据的对数似然函数必然含有log-sum项,紧接着,就可以把问题交给EM算法了,可以直接套公式 3.在EM框架中应用变分推断 变分推断也叫变分贝叶斯期望最大化算法(Variational Bayes EM) EM算法存在一个问题就是Q函数中的后验分布其实是很难求出来的,那怎么办,我们只能近似后验分布,这就引出了变分推断 变分推断可采用MCMC采样法,也可以用Mean

GMM模型和EM算法

感情迁移 提交于 2020-02-06 09:02:23
文章目录 1.聚类 聚类 最大似然估计 提出问题 混合高斯模型(简单化) 2.GMM模型 多项分布 GMM 3.EM算法 GMM下的EM算法 数值解释 原理解释 KL EM 应用于GMM EM总结 1.聚类 聚类 最大似然估计 提出问题 混合高斯模型(简单化) 2.GMM模型 多项分布 GMM 3.EM算法 GMM下的EM算法 数值解释 原理解释 KL EM 应用于GMM EM总结 来源: CSDN 作者: LotusQ 链接: https://blog.csdn.net/qq_30057549/article/details/103655508

EM算法----就在身边

自闭症网瘾萝莉.ら 提交于 2020-02-01 08:08:06
EM算法---身边常用的算法 贝叶斯分类 高斯混合聚类 半监督学习--生成式方法 EM算法很常用,下面就简单总结下,使用到EM算法的一些算法。 贝叶斯分类   现实中,会遇到“不完整”的训练样本,如某些属性变量值未知,即存在“未观测到”变量情形下,可以使用EM算法。   基本思想是:若参数已知,则可根据训练数据推断出最优隐变量的值(E步),反之,若隐变量的值已知,则可方便的对参数做极大似然估计(M步)。   简单来说,EM算法使用两个步骤交替计算: 第一步:E步。利用当前估计的参数值(参数初始值人为设定)来计算对数似然的期望值; 第二步:M步,即最大化步。寻找能使E步产生的似然期望最大化的参数值; 第三步:交替。新得到的参数用于E步,…直至收敛到局部最优解。 高斯混合聚类   假定样本由k个高斯分布混合生成,高斯混合聚类采用概率模型来表达聚类模型。高斯混合聚类采用EM算法进行迭代优化求解。 令随机变量zj∈{1, 2, 3, …, k}表示生成样本xj的高斯混合成分,其取值未知(相当于是隐变量)。   公式推导可见周志华的《机器学习》,第208页-209页。   高斯混合聚类的EM算法思想: E步:在每步迭代中,先根据当前参数来计算每个样本属于每个高斯成分的zj的后验概率; M步:再根据极大似然法估计的公式,更新模型参数。 半监督学习–生成式方法   在半监督学习中

【机器学习】半监督学习几种方法

霸气de小男生 提交于 2020-01-22 21:09:52
转自: http://jiangkeke.blog.hexun.com/42322032_d.html 1.Self-training algorithm(自训练算法) 这个是最早提出的一种研究半监督学习的算法,也是一种最简单的半监督学习算法. 2.Multi-view algorithm(多视角算法) 一般多用于可以进行自然特征分裂的数据集中.考虑特殊情况(每个数据点表征两个特征):每一个数据点看成是两个特征的集合,然后利用协同训练(Co-training algorithm)进行处理.协同训练(co-training)算法,此类算法隐含地利用了聚类假设或流形假设,它们使用两个或多个学习器,在学习过程中,这些学习器挑选若干个置信度高的未标记示例进行相互标记,从而使得模型得以更新。 Balcan and Blum (2006) show that co-training can be quite effective, that in the extreme case only one labeled point is needed to learn the classifier. Zhou et al. (2007) give a co-training algorithm using Canonical Correlation Analysis which also need

【机器学习】半监督学习几种方法

落爺英雄遲暮 提交于 2020-01-22 21:09:27
转自: http://jiangkeke.blog.hexun.com/42322032_d.html 1.Self-training algorithm(自训练算法) 这个是最早提出的一种研究半监督学习的算法,也是一种最简单的半监督学习算法. 2.Multi-view algorithm(多视角算法) 一般多用于可以进行自然特征分裂的数据集中.考虑特殊情况(每个数据点表征两个特征):每一个数据点看成是两个特征的集合,然后利用协同训练(Co-training algorithm)进行处理.协同训练(co-training)算法,此类算法隐含地利用了聚类假设或流形假设,它们使用两个或多个学习器,在学习过程中,这些学习器挑选若干个置信度高的未标记示例进行相互标记,从而使得模型得以更新。 Balcan and Blum (2006) show that co-training can be quite effective, that in the extreme case only one labeled point is needed to learn the classifier. Zhou et al. (2007) give a co-training algorithm using Canonical Correlation Analysis which also need

3. EM算法-高斯混合模型GMM

故事扮演 提交于 2020-01-20 01:27:23
1. EM算法-数学基础 2. EM算法-原理详解 3. EM算法-高斯混合模型GMM 4. EM算法-高斯混合模型GMM详细代码实现 5. EM算法-高斯混合模型GMM+Lasso 1. 前言 GMM(Gaussian mixture model) 混合高斯模型在机器学习、计算机视觉等领域有着广泛的应用。其典型的应用有概率密度估计、背景建模、聚类等。 2. GMM介绍 高斯混合模型(Gaussian Mixed Model)指的是多个高斯分布函数的线性组合,理论上GMM可以拟合出任意类型的分布,通常用于解决同一集合下的数据包含多个不同的分布的情况。 3. GMM原理解析 根据我们之前 EM算法-原理详解 ,我们已经学习了EM算法的一般形式: \[ Q_i(z^{(i)}) = P( z^{(i)}|x^{(i)},\theta^{j})\;\;\;\;(1) \] \[ \sum\limits_{z}Q_i(z^{(i)}) =1 \] \[ L(\theta, \theta^{j}) = \sum\limits_{i=1}^m\sum\limits_{z^{(i)}}Q_i(z^{(i)})log{P(x^{(i)},z^{(i)}|\theta)} \] 现在我们用高斯分布来一步一步的完成EM算法。 设有随机变量 \(\boldsymbol{X}\)

KMeans相关问题

爷,独闯天下 提交于 2019-12-15 14:42:50
文章目录 K-means k-means 聚类的原理 K-Means的优缺点及对应的改进 用 EM 算法推导解释 Kmeans KMeans的算法伪代码 KMeans算法的收敛 Kmeans 算法 K 怎么设置、适用什么样数据集 EM算法 tensorflow实现KMeans K-means k-means 聚类的原理 对于给定的样本集,按照样本之间的距离大小,将样本集划分成K个簇。让簇内的点尽量紧密的连在一起,而让簇间的距离尽量的大。 目标是最小化平方误差。定义样本与其所属类的中心之间的距离的总和最小 E = ∑ l = 1 K ∑ x ∈ C i ∣ ∣ x − μ i ∣ ∣ 2 E = \sum_{l = 1}^K \sum_{x \in C_i} ||x - \mu_i||^2 E = l = 1 ∑ K ​ x ∈ C i ​ ∑ ​ ∣ ∣ x − μ i ​ ∣ ∣ 2 其中 μ i \mu_i μ i ​ 是簇 C i C_i C i ​ 的均值或者中心,有时也称质心,表达式为: μ i = 1 ∣ C i ∣ ∑ x ∈ C i x \mu_i=\frac{1}{|C_i|}\sum_{x \in C_i}x μ i ​ = ∣ C i ​ ∣ 1 ​ ∑ x ∈ C i ​ ​ x K-Means的优缺点及对应的改进 优点: 1) 原理比较简单,实现比较容易