简单易学的机器学习算法——EM算法 一.机器学习中的参数估计问题 在前面的博文中,如“简单易学的机器学习算法——Logistic回归”中,采用了极大似然函数对其模型中的参数进行估计,简单来讲即对于一系列样本,Logistic回归问题属于监督型学习问题,样本中含有训练的特征以及标签,在Logistic回归的参数求解中,通过构造样本属于类别和类别的概率: 这样便能得到Logistic回归的属于不同类别的概率函数: 此时,使用极大似然估计便能够估计出模型中的参数.但是,如果此时的标签是未知的,称为隐变…
Baum-Welch算法就是EM算法,所以首先给出EM算法的Q函数 \[\sum_zP(Z|Y,\theta')\log P(Y,Z|\theta)\] 换成HMM里面的记号便于理解 \[Q(\lambda,\lambda') = \sum_zP(I|O,\lambda')\log P(I,O|\lambda)\] 根据状态序列和观测序列的联合分布 \[\begin{align*} P(O,I|\lambda) &= \sum_IP(O|I,\lambda)P(I|\lambda)\\ &…
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是机器学习专题的第14篇文章,我们来聊聊大名鼎鼎的EM算法. EM算法的英文全称是Expectation-maximization algorithm,即最大期望算法,或者是期望最大化算法.EM算法号称是十大机器学习算法之一,听这个名头就知道它非同凡响.我看过许多博客和资料,但是少有资料能够将这个算法的来龙去脉以及推导的细节全部都讲清楚,所以我今天博览各家所长,试着尽可能地将它讲得清楚明白. 从本质上来说EM算法是最大似然估计方法的…
最近接触了pLSA模型,该模型需要使用期望最大化(Expectation Maximization)算法求解. 本文简述了以下内容: 为什么需要EM算法 EM算法的推导与流程 EM算法的收敛性定理 使用EM算法求解三硬币模型 为什么需要EM算法 数理统计的基本问题就是根据样本所提供的信息,对总体的分布或者分布的数字特征作出统计推断.所谓总体,就是一个具有确定分布的随机变量,来自总体的每一个iid样本都是一个与总体有相同分布的随机变量. 参数估计是指这样一类问题——总体所服从的分布类型已知,但某些…
参考文献:http://blog.csdn.net/zouxy09/article/details/8537620 极大似然估计 已知样本满足某种概率分布,但是其中具体的参数不清楚,极大似然估计估计就是把待估参数看做是确定性的量,只是其取值未知.最佳估计就是使得产生当前样本的概率最大下的参数值. 贝叶斯估计 已知样本满足某种概率分布,但参数未知.贝叶斯估计把待估参数看成符合某种先验概率分布的随机变量.对样本进行观测的过程就是把先验概率密度转化为后验概率密度,这样就利用样本信息修正了对参数的初始估…
EM算法有很多的应用: 最广泛的就是GMM混合高斯模型.聚类.HMM等等. The EM Algorithm 高斯混合模型(Mixtures of Gaussians)和EM算法 EM算法 求最大似然函数估计值的一般步骤: (1)写出似然函数: (2)对似然函数取对数,并整理: (3)求导数,令导数为0,得到似然方程: (4)解似然方程,得到的参数即为所求. 期望最大化算法(EM算法): 优点: 1. 简单稳定: 2. 通过E步骤和M步骤使得期望最大化,是自收敛的分类算法,既不需要事先设定类别也…
目录 EM算法(1):K-means 算法 EM算法(2):GMM训练算法 EM算法(3):EM算法运用 EM算法(4):EM算法证明 EM算法(3):EM算法运用 1. 内容 EM算法全称为 Expectation-Maximization 算法,其具体内容为:给定数据集$\mathbf{X}=\{\mathbf{x}_1,\mathbf{x}_2,...,\mathbf{x}_n\}$,假定这个数据集是不完整的,其还缺失了一些信息Y,一个完整的样本Z = {X,Y}.而且假定如果我们能得到完…
目录 EM算法(1):K-means 算法 EM算法(2):GMM训练算法 EM算法(3):EM算法运用 EM算法(4):EM算法证明 EM算法(2):GMM训练算法 1. 简介 GMM模型全称为Gaussian Mixture Model,即高斯混合模型.其主要是针对普通的单个高斯模型提出来的.我们知道,普通高斯模型对实际数据拟合效果还不错,但是其有一个致命的缺陷,就是其为单峰函数,如果数据的真实分布为复杂的多峰分布,那么单峰高斯的拟合效果就不够好了. 与单峰高斯模型不同,GMM模型是多个高斯…
# coding:utf-8 import numpy as np def qq(y,alpha,mu,sigma,K,gama):#计算Q函数 gsum=[] n=len(y) for k in range(K): gsum.append(np.sum([gama[j,k] for j in range(n)])) return np.sum([g*np.log(ak) for g,ak in zip(gsum,alpha)])+\ np.sum([[np.sum(gama[j,k]*(np.…
一.GMM算法 EM算法实在是难以介绍清楚,因此我们用EM算法的一个特例GMM算法作为引入. 1.GMM算法问题描述 GMM模型称为混合高斯分布,顾名思义,它是由几组分别符合不同参数的高斯分布的数据混合而成的. 假设有n个样本点\(x_{1},x_{2},...,x_{n}\),它们来自K个不同的高斯分布.有如下参数: 1.不同高斯分布的数据占比:\(\pi_{i}\) 2.每个高斯分布的均值与方差:\(\pi_{i}~N(\mu_{i},\sigma_{i}^2)\) 我们的目的是求出每个\(…