Andrew Ng机器学习课程笔记(十四)之无监督学习之混合高斯模型与EM算法

斯坦福大学公开课 :机器学习课程(Andrew Ng)——10、无监督学习:Mixture of Gaussians and the EM Algorithm 1 阅读详情

Preface

Gaussian Mixture Model(GMM,高斯混合模型)
EM Algorithm for GMM

Gaussian Mixture Model

GMM是对高斯判别模型(Gaussian Discriminant Analysis,GDL,前面有一篇博文介绍)的一个推广。同时和K-means聚类算法一样,对于没有标签的数据集 {x(1),x(2),...,x(m)} { x ( 1 ) , x ( 2 ) , . . . , x ( m ) } 进行分类。但是不同于K-means聚类算法,我们隐含类别标签用 z(i) z ( i ) 表示,并认为 z(i) z ( i ) 满足多项式分布,即为 z(i)∼Multinomial(ϕ),ϕj=p(z(i)=j)(ϕj≥0,∑kj=1,ϕj=1) z ( i ) ∼ M u l t i n o m i a l ( ϕ ) , ϕ j = p ( z ( i ) = j ) ( ϕ j ≥ 0 , ∑ k j = 1 , ϕ j = 1 ) ,且 z∈{1,2,...,k} z ∈ { 1 , 2 , . . . , k } 。同时, {x(i),z(i)} { x ( i ) , z ( i ) } 的联合分布概率为 p(x(i),z(i))=p(x(i)|z(i))p(z(i)) p ( x ( i ) , z ( i ) ) = p ( x ( i ) | z ( i ) ) p ( z ( i ) ) 。最后在 z(i) z ( i ) 给定的情况下, x(i) x ( i ) 的概率服从高斯分布,即为 x(i)|z(i)=j∼N(μj,Σj) x ( i ) | z ( i ) = j ∼ N ( μ j , Σ j ) 。
整个模型简单描述为对于每个样例 x(i) x ( i ) ,我们先从k 个类别中按多项式分布抽取一个 z(i) z ( i ) , 然后根据 z(i) z ( i ) 所对应的k 个多值高斯分布中的一个生成样例 x(i) x ( i ) ,。整个过程称作混合高斯模型。
它的似然函数为:

l(ϕ,μ,Σ)=∑mi=1logp(x(i);ϕ,μ,Σ)=∑mi=1log∑kz(i)=1p(x(i)|z(i);μ,Σ)p(z(i);ϕ) l ( ϕ , μ , Σ ) = ∑ m i = 1 l o g p ( x ( i ) ; ϕ , μ , Σ ) = ∑ m i = 1 l o g ∑ k z ( i ) = 1 p ( x ( i ) | z ( i ) ; μ , Σ ) p ( z ( i ) ; ϕ )

由于 z(i) z ( i ) 未知,上式我们无法使用求偏导,并令其等于0求得 ϕ,μ,Σ ϕ , μ , Σ 参数,故,在这里,我们假设 z(i) z ( i ) 已知,化简 l(ϕ,μ,Σ) l ( ϕ , μ , Σ ) 为:

l(ϕ,μ,Σ)=∑mi=1logp(x(i)|z(i);μ,Σ)+logp(z(i);ϕ) l ( ϕ , μ , Σ ) = ∑ m i = 1 l o g p ( x ( i ) | z ( i ) ; μ , Σ ) + l o g p ( z ( i ) ; ϕ )

对比高斯判别模型的过程,在这里我们分别对 ϕ,μ,Σ ϕ , μ , Σ 求偏导,并令其等于0,便可以依次求得 ϕ,μ,Σ ϕ , μ , Σ 参数。

ϕj=1m∑mi=11{z(i)=j} ϕ j = 1 m ∑ m i = 1 1 { z ( i ) = j }

μj=∑mi=11{z(i)=j}x(i)∑mi=11{z(i)=j} μ j = ∑ m i = 1 1 { z ( i ) = j } x ( i ) ∑ m i = 1 1 { z ( i ) = j }

Σj=∑mi=11{z(i)=j}(x(i)−μj)(x(i)−μj)T∑mi=11{z(i)=j} Σ j = ∑ m i = 1 1 { z ( i ) = j } ( x ( i ) − μ j ) ( x ( i ) − μ j ) T ∑ m i = 1 1 { z ( i ) = j }

但是由于 z(i) z ( i ) 未知,我们无法使用高斯判别的方法来解决问题。这需要使用EM算法来解决。

EM Algorithm for GMM

回顾我们在上一篇博文中提到的EM算法

Repeat until convergence{

  1. (E-step) for each i, set
    w(i)j:=Qi(z(i)=j):=p(z(i)=j|x(i);θ) w j ( i ) := Q i ( z ( i ) = j ) := p ( z ( i ) = j | x ( i ) ; θ )
  2. (M-step) set
    θ:=argmaxθ∑i∑z(i)Qi(z(i))logp(x(i),z(i);θ)Qi(z(i)) θ := arg max θ ∑ i ∑ z ( i ) Q i ( z ( i ) ) l o g p ( x ( i ) , z ( i ) ; θ ) Q i ( z ( i ) )

}

使用GMM中的 ϕ,μ,Σ ϕ , μ , Σ 参数替换一般化EM算法中的 θ θ 参数,然后在依次解决 w(i)j w j ( i ) 与 ϕ,μ,Σ ϕ , μ , Σ 参数的更新问题就好。

E-Step

w(i)j=Qi(z(i)=j)=p(z(i)=j|x(i);θ)=P(x(i)|z(i)=j)P(z(i)=j)∑k(P(x(i)|z(i)=k)P(z(i)=k))(1)(2)(3) w j ( i ) = Q i ( z ( i ) = j ) ( 1 ) = p ( z ( i ) = j | x ( i ) ; θ ) ( 2 ) = P ( x ( i ) | z ( i ) = j ) P ( z ( i ) = j ) ∑ k ( P ( x ( i ) | z ( i ) = k ) P ( z ( i ) = k ) ) ( 3 )

w(i)j w j ( i ) 的含义十每个样例 i i 的隐含类别z(i)为 j j 的概率。同时,上式中的步骤(2)到步骤(3)可由贝叶斯公式直接得到。根据GMM,我们可以知道x(i)|z(i)=j∼N(μj,Σj)和 z(i)∼Multinomial(ϕ),ϕj=p(z(i)=j) z ( i ) ∼ M u l t i n o m i a l ( ϕ ) , ϕ j = p ( z ( i ) = j ) 。这样一来我们就可以计算 w(i)j w j ( i ) 了。

M-Step

我们得到的是:

argmaxϕ,μ,Σ==∑mi=1∑z(i)Qi(z(i))logp(x(i),z(i);ϕ,μ,Σ)Qi(z(i))argmaxϕ,μ,Σ∑mi=1∑kj=1Qi(z(i))logp(x(i)|z(i)=j;μ,Σ)p(z(i)=j;ϕ)Qi(z(i))argmaxϕ,μ,Σ∑mi=1∑kj=1ω(i)jlog1(2π)n2|Σj|12exp(−12(x(i)−μj)TΣ−1j(x(i)−μj))⋅ϕjω(i)j arg max ϕ , μ , Σ ∑ m i = 1 ∑ z ( i ) Q i ( z ( i ) ) l o g p ( x ( i ) , z ( i ) ; ϕ , μ , Σ ) Q i ( z ( i ) ) = arg max ϕ , μ , Σ ∑ m i = 1 ∑ k j = 1 Q i ( z ( i ) ) l o g p ( x ( i ) | z ( i ) = j ; μ , Σ ) p ( z ( i ) = j ; ϕ ) Q i ( z ( i ) ) = arg max ϕ , μ , Σ ∑ m i = 1 ∑ k j = 1 ω j ( i ) l o g 1 ( 2 π ) n 2 | Σ j | 1 2 e x p ( − 1 2 ( x ( i ) − μ j ) T Σ j − 1 ( x ( i ) − μ j ) ) ⋅ ϕ j ω j ( i )

基于参数μ的函数最大化

对参数 μ μ 的每个分量μl求偏导:

===▽μl∑mi=1∑kj=1ω(i)jlog1(2π)n2|Σj|12exp(−12(x(i)−μj)TΣ−1j(x(i)−μj))⋅ϕjω(i)j−▽μl∑mi=1∑kj=1ω(i)j12(x(i)−μj)TΣ−1j(x(i)−μj)12∑mi=1ω(i)lΔμl(2μTlΣ−1lx(i)−μTlΣ−1lμl)∑mi=1ω(i)lΣ−1l(x(i)−μl) ▽ μ l ∑ m i = 1 ∑ k j = 1 ω j ( i ) l o g 1 ( 2 π ) n 2 | Σ j | 1 2 e x p ( − 1 2 ( x ( i ) − μ j ) T Σ j − 1 ( x ( i ) − μ j ) ) ⋅ ϕ j ω j ( i ) = − ▽ μ l ∑ m i = 1 ∑ k j = 1 ω j ( i ) 1 2 ( x ( i ) − μ j ) T Σ j − 1 ( x ( i ) − μ j ) = 1 2 ∑ m i = 1 ω l ( i ) Δ μ l ( 2 μ l T Σ l − 1 x ( i ) − μ l T Σ l − 1 μ l ) = ∑ m i = 1 ω l ( i ) Σ l − 1 ( x ( i ) − μ l )

令上式等于0,可以得到:

μl:=∑mi=1ω(i)lx(i)∑mi=1ω(i)l μ l := ∑ i = 1 m ω l ( i ) x ( i ) ∑ i = 1 m ω l ( i )

基于参数ϕ的函数最大化

因为与参数 ϕ ϕ 相关的变量仅有ωj(i),所以我们可以将函数最大化问题优化为求下式的最大化问题:

argmaxϕ∑mi=1∑kj=1ω(i)jlogϕj arg max ϕ ∑ m i = 1 ∑ k j = 1 ω j ( i ) l o g ϕ j

同时,由于 ∑kj=1ϕj=1 ∑ j = 1 k ϕ j = 1 ,所以我们使用拉格朗日乘数法可以得到目标函数:

L(ϕ)=∑mi=1∑kj=1ω(i)jlogϕj+β(∑kj=1ϕj−1) L ( ϕ ) = ∑ m i = 1 ∑ k j = 1 ω j ( i ) l o g ϕ j + β ( ∑ k j = 1 ϕ j − 1 )

对参数 ϕ ϕ 求偏导:

∂∂ϕjL(ϕ)=∑mi=1ωj(i)ϕj+1

令上式等于0,可以得到:

ϕj=∑mi=1ω(i)j−β ϕ j = ∑ i = 1 m ω j ( i ) − β

因为 ∑kj=1ϕj=1 ∑ j = 1 k ϕ j = 1 ,所以:

∑kj=1ϕj1−β−β−β=∑kj=1∑mi=1ω(i)j−β=∑kj=1∑mi=1ω(i)j−β=∑mi=1∑kj=1ω(i)j=∑mi=11=m ∑ j = 1 k ϕ j = ∑ j = 1 k ∑ i = 1 m ω j ( i ) − β 1 = ∑ j = 1 k ∑ i = 1 m ω j ( i ) − β − β = ∑ i = 1 m ∑ j = 1 k ω j ( i ) − β = ∑ i = 1 m 1 − β = m

所以:

ϕj:=∑mi=1ω(i)jm ϕ j := ∑ i = 1 m ω j ( i ) m

基于参数Σ的函数最大化

对参数 Σ Σ 求偏导:

▽Σj∑mi=1∑kj=1ωj(i)log1(2π)n2|Σj|12exp(−12(x(i)−μj)TΣj−1(x(i)−μj))⋅ϕjωj(i)=▽Σj∑mi=1∑kj=1ωj(i)[−n2log2π−12log|Σj|−12(x(i)−μj)TΣj−1(x(i)−μj)+logϕj−logωj(i)]=∑mi=1∑mj=1ωj(i)12Σj−T+12(x(i)−μj)TΣ−2(x(i)−μj)

令上式等于0,可以得到:

Σj:=∑mi=1ω(i)j(x(i)−μj)(x(i)−μj)T∑mi=1ω(i)j Σ j := ∑ i = 1 m ω j ( i ) ( x ( i ) − μ j ) ( x ( i ) − μ j ) T ∑ i = 1 m ω j ( i )

EM Algorithm for GMM

所以EM Algorithm for GMM的E-step与M-step为:

Repeat until convergence{

  1. (E-step) for each i, set
    w(i)j=P(x(i)|z(i)=j)P(z(i)=j)∑k(P(x(i)|z(i)=k)P(z(i)=k)) w j ( i ) = P ( x ( i ) | z ( i ) = j ) P ( z ( i ) = j ) ∑ k ( P ( x ( i ) | z ( i ) = k ) P ( z ( i ) = k ) )
  2. (M-step) set

μl:=∑mi=1ω(i)lx(i)∑mi=1ω(i)l μ l := ∑ i = 1 m ω l ( i ) x ( i ) ∑ i = 1 m ω l ( i )

ϕj:=∑mi=1ω(i)jm ϕ j := ∑ i = 1 m ω j ( i ) m

Σj:=∑mi=1ω(i)j(x(i)−μj)(x(i)−μj)T∑mi=1ω(i)j Σ j := ∑ i = 1 m ω j ( i ) ( x ( i ) − μ j ) ( x ( i ) − μ j ) T ∑ i = 1 m ω j ( i )

}

【机器学习】Andrew Ng——01概述 机器学习的概述 阅读详情

相关推荐

斯坦福大学公开课 :机器学习课程(Andrew Ng)——12、无监督学习:Factor Analysis

1)问题描述 2)协方差矩阵的限制 3)多元高斯分布的边缘分布和条件分布 4)因子分析的例子 5)因子分析模型 6)因子分析的EM估计‘ 7)简单总结 1)问题描述    之前我们考虑的训练数据中样例的个数m都远远大于其特征个数n,这样不管是进行回归、聚类等都没有太大的问题。    然而当训练样例个数m太小,甚至m变成奇异阵(),也就是说不存在,根

mmc2015的专栏 2801

高斯分布、高斯混合模型、EM算法详细介绍及其原理详解

今天给大家带来的主要内容包括:高斯分布,高斯混合模型,EM算法。废话不多说,下面就是本文的全部内容了!

IronmanJay 4895

斯坦福大学公开课 :机器学习课程(Andrew Ng)——9、无监督学习:K-means Clustering Algorithm

1)K-means聚类算法(K-means Clustering Algorithm)描述 2)2-means聚类算法(K-means Clustering Algorithm)效果展示图片 3)k-means聚类算法(K-means Clustering Algorithm)收敛性简述 4)支持k-means聚类算法(K-means Clustering Algorithm)有效性的...

mmc2015的专栏 3159

机器学习提升之EM算法、推荐系统、SVM、ARIMA模型

文章目录一、EM算法 一、EM算法 (1) EM算法流程 初始化分布参数 E-step:根据参数计算每个样本属于某种类型的概率(Q) M-step:根据Q,求出含有参数的似然函数的下界并最大化它,得到新的参数 不断地迭代下去 (2)GMM(高斯混合模型)基于EM算法的API模型 数据可以看作是从数个Gaussian Distribution 中生成出来的 GMM由K个Gaussian分布组成,每个Gaussian称为一个“Component” 类似k-means方法,求解方式跟EM一样 不断的迭代更新

XST1520203418的博客 1851

Andrew Ng机器学习课程13

Andrew Ng机器学习课程13 引言:主要从一般的角度介绍EM算法及其思想,并推导了EM算法的收敛性。最后用一般的EM算法回顾了混合高斯模型的求解过程,并推导了通过EM算法求解混合高斯模型参数的过程。视频笔记会通过增补内容加以补充。

ZhangPY的专栏 2024

Andrew Ng机器学习课程12

Andrew Ng机器学习课程12 引言:主要讲述了batch learning和online learning的区别,然后介绍了经典的非监督算法:k-means算法。然后介绍了混合高斯模型以及求解时采用的EM算法。本文是基于lecture notes进行的总结,等上完视频课,会通过12课补充来丰富这些内容。

ZhangPY的专栏 1912

目标检测 PAA - 高斯混合模型(GMM)和期望最大化算法(EM algorithm)

Probabilistic Anchor Assignment with IoU Prediction for Object Detection Given a set of anchor scores, the likelihood of this GMM can be optimized using Expectation-Maximization (EM) algorithm. 有一个数据集 一半数据来自高斯分布A,一半数据来自高斯分布B,两种数据的来源都是不同的高斯分布随机生成的,能够描述这个数据集

二分掌柜的 2372

EM算法估计GMM

本程序为matlab程序。em算法,指的是最大期望算法(Expectation Maximization Algorithm,又译期望最大化算法),是一种迭代算法,在统计学中被用于寻找,依赖于不可观察的隐性变量的概率模型中,参数的最大似然估计。

Gaussian Mixture Model 高斯混合模型 GMM

Gaussian Mixture Model 高斯混合模型 GMM Gaussian mixture model is a combine of multiple Gaussian models. These Gaussian models mixture according to ‘weight’ π\piπ. The picture is a mixture of two models. ...

weixin_45286813的博客 686

利用MATLAB实现高斯模糊

典型的图像算法用到高斯金字塔的概率较大, 在构造高斯金字塔的过程中其中一个步骤就是进行高斯模糊,利用MATLAB实现一张图片的高斯模糊,仅仅通过修改尺度因子便能对图像进行不同程度的模糊

基于GMM的EM算法的matlab实现

基于高斯混合模型GMM的EM 算法的matlab实现

EM 算法与 GMM 模型

EM算法与GMM模型 – 潘登同学的Machine Learning笔记 文章目录EM算法与GMM模型 -- 潘登同学的Machine Learning笔记GMM模型单高斯模型 GM的参数估计(本质是最大似然估计)混合高斯分布 GMM 的参数估计举个栗子GMM 混合高斯分布分两步求解 GMM算法总结EM算法EM算法的步骤(算法)EM算法应用EM框架把EM框架用在GMM上把EM框架用在K-means上GMM算法应用在图像识别中 GMM模型 高斯密度函数估计是一种参数化模型。高斯混合模型(Gaussian M

weixin_52185313的博客 968

Matlab条件下的EM算法

该程序演示EM算法在计算机视觉中的应用(基于EM算法实现目标分类)

斯坦福大学Andrew Ng教授主讲的《机器学习》公开课观后感

近日,在网易公开课视频网站上看完了《机器学习》课程视频,现做个学后感,也叫观后感吧。  学习时间 从2013年7月26日星期五开始,在网易公开课视频网站上,观看由斯坦福大学Andrew Ng教授主讲的计算机系课程(编号CS229)《机器学习》(网址http://v.163.com/special/opencourse/machinelearning.html)(注:最早是在新浪公开课

lotus___的专栏 7万+

Apache Hop集成Spring Boot实战:从配置到执行HPL文件

本文详细介绍了将Apache Hop集成到Spring Boot应用中的完整实战方案。通过配置核心依赖、初始化Hop环境、编写服务层逻辑,实现了在Java应用中程序化执行HPL管道文件,从而将可视化ETL能力无缝嵌入微服务架构,提升数据处理的自动化与可维护性。

blue42的博客 476

要配置西门子G120XA变频器实现**端子启停**和**Modbus RTU(485)频率给定

如有问题,可通过STARTER软件在线诊断Modbus通讯状态。要配置西门子G120AX变频器实现。

微:13763355074 4844

【人工智能基础学习】Andrew Ng-机器学习基础笔记

深入探讨了机器学习的基础概念,尤其是监督学习和无监督学习。我们将重点介绍两种主要的机器学习方法——线性回归和梯度下降,帮助初学者理解这些基本算法及其应用。在具体讨论线性回归时,我们会详细讲解模型的表示、代价函数的计算及其直观理解。此外,我们还会深入探讨梯度下降算法,包括其直观解释和在实际问题中的应用。

忆_恒心的博客 1535

我的交叉验证翻车实录:从‘炼丹’到可靠评估,我是怎么用五折验证拯救我的图像分割模型的

本文分享了作者在医学图像分割模型评估中从失败到成功的实战经验。通过引入五折交叉验证方法,解决了传统数据划分的局限性,显著提升了模型评估的稳定性和泛化能力。文章详细介绍了Python实现、数据准备策略和训练流水线改造,为AI医疗影像分析提供了可靠的技术方案。

weixin_42625070的博客 269

【原】斯坦福大学Andrew Ng教授主讲的《机器学习》公开课观后感

近日,在网易公开课视频网站上看完了《机器学习》课程视频,现做个学后感,也叫观后感吧。 [size=medium][b][color=blue]学习时间[/color][/b][/size] 从2013年7月26日星期五开始,在网易公开课视频网站上,观看由斯坦福大学Andrew Ng教授主讲的计算机系课程(编号CS229)《机器学习》(网址[url]http://v.163.com/spe...

iteye_19939的博客 874

从虚拟机到双系统:手把手教你为Gromacs搭建最强Linux环境(含WSL2、Ubuntu22.04配置)

本文详细指导如何在Windows系统下为Gromacs分子动力学模拟搭建高性能Linux环境,涵盖WSL2和Ubuntu22.04双系统配置。通过对比虚拟机、WSL2和原生Linux的性能数据,提供GPU加速、内存优化等实用技巧,帮助科研人员提升计算效率。

weixin_30861797的博客 270

从时序迷宫到稳定通信:FSMC配置中的时间参数深度解析与实战避坑指南

本文深入解析STM32 FSMC配置中的时间参数,特别是AddressSetupTime和DataSetupTime的实战配置技巧。通过STM32F407连接SRAM的实际案例,提供从理论计算到CubeMX配置的全流程指南,帮助开发者避免常见时序陷阱,确保稳定通信。

nginx7reverse的博客 82

非监督学习之混合高斯模型和EM算法——Andrew Ng机器学习笔记(十)

0、内容提要这篇博文主要介绍: - 混合高斯模型(mixture of Gaussians model) - EM算法(Expectation-Maximization algorithm)1、引入假设给定一个训练集{x(1),...,x(m)}\{x^{(1)},...,x^{(m)}\},任何一个样本都没有标签,我们的任务是将这些样本分类。我们前面介绍了k-means算法是解决这个问题的一种

A_cainiao_A 6096

(头歌作业)—6.1 葡萄酒评论分析报告(project)

请读取文件中的数据,完成以下任务:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬。请读取文件中的数据,完成以下任务:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬。请读取文件中的数据,完成以下任务:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬。

2301_80677920的博客 1244
上一篇: Andrew Ng机器学习课程笔记(十三)之无监督学习之EM算法
下一篇: Andrew Ng机器学习课程笔记(十五)之无监督学习之混合贝叶斯模型与EM算法
danerli
博客等级 码龄12年 36粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值