【学术研究】PGM(probability graph model)研究与应用
来源:互联网 发布:类似惠头条的软件 编辑:程序博客网 时间:2024/06/11 13:03
在知乎上大家对有没有必要系统学习概率图模型(PGM,graphical model)进行了讨论(https://www.zhihu.com/question/23255632),也许是概率图模型覆盖的知识面太广,也或者是PGM的学习曲线较长,所以大家对是否有必要系统学习PGM各执己见。以下摘抄自谢澎涛(CMU 机器学习博士,http://www.cs.cmu.edu/~pengtaox/)的回答,供学习参考。
PGM大致分为两种:1、directed graphical model (贝叶斯网络);2、undirected graphical model(马尔可夫随机场)。概率图模型在实际应用中非常广泛,比如隐马尔可夫模型(HMM)是语音识别的支柱模型;高斯混合模型(GMM)及其变种K-means是数据聚类的最基本模型;条件随机场(CRF)广泛应用在自然语音处理(词性标注、命名实体识别),lsing 模型等。机器学习的一个核心任务是从观测到的数据中挖掘出隐含的知识,而概率图模型是实现这一任务的一种优雅的手段。
PGM巧妙地集合了图论和概率论。1、从图论的角度,PGM是一个图,包含边和点。结点可以分为两类:隐含结点和观测结点。边可以是有向的或者无向的。2、从概率论的角度,PGM是一个概率分布,图中的结点对应于随机变量,边对应与随机变量的依赖(dependency)或者相关性(correlation)。
给定一个实际问题,通常会观测到一些数据,并希望从观测到的数据中挖掘出隐含的数据知识。使用PGM实现,构建一个图,用观测结点表示观测到的数据,用隐含结点表示潜在的知识,用边来描述知识与数据之间的关系,最后获得一个概率分布。在给定概率分布之后,有两个任务:inference和learning。inference过程是给定观测结点,推断隐含结点的后验分布;learning过程是学习这个概率分布的参数。不管数据有多复杂,处理手段都是构建一个图,定义一个概率分布,然后进行inference和learning。
另外,还谢博士还推荐了 CMU Eric Xing 每年开设的 10708 PGM课程:http://www.cs.cmu.edu/~epxing/Class/10708-14/lecture.html。包含PGM中最基本、最核心的内容,也讲述了很多advanced topic。值得学习。
PGM 有三个问题:表示 representation,推理 inference, 学习 learning
1、表示 representation
1.1 directed graph 贝叶斯网络
1.2 undirected graph 马尔可夫网络
2、推理 inference
2.1 精准推理算法(exact algorithm) 能够计算查询变量的边缘分布或者条件分布的精准值。
2.1.1 变量消去算法/变分方法
2.1.2 团树算法--信念传播
2.2 基于优化的推理理论,将图模型的推断形式化为优化问题,通过松弛优化问题的约束条件或者调整优化的目标函数,算法能够在较低的时间复杂度下获得原问题的近似解。
2.2.1 环路信念传播 loopy belief propagation LBP
2.2.2 平均场近似 mean field
基于平均场逼近(mean field approximation)的变分推理,这种方法通常用于由exponential family distribution所组成的贝叶斯网络,EM算法属于该类型。
2.3 基于抽样方法的推理
当精准推理计算困难时,抽样方法提供了计算随机变量边缘(条件)分布和其他函数的另一种方法,抽样的方法有:拒绝性采样、重要性采样、粒子滤波、马尔可夫链蒙塔卡萝MCMC算法。采样有三方面的优点:1、它提供了一种有严谨数据基础的方法来逼近概率计算中经常出现的积分;2.采样过程最终获得是整个联合分布的样本集,而不仅仅是对某些参数或者变量值的最优估计。3、它的渐近性可以被严格证明。
2.3.1 拒绝性采样
2.3.2 重要性采样
2.3.3 MCMC 蒙特卡罗采样
蒙特卡罗采样(Monte Carlo sampling)。与基于优化的方法不同,蒙特卡罗方法通过对概率模型的随机模拟运行来收集样本,然后通过手机到的样本来估计变量的统计特性。常用的采样方法:gibbs sampling、Metropolis-Hasting sampling(M-H)、slice sampling, hamiltoian mote carlo
3、学习 learning
3.1 known structure,full observability;
3.2 known structure,partial observability(EM,gradient ascent 梯度)
3.3 unknown structure,full observability
我会从以下两个方面展开对PGM的学习和研究:
一、PGM是什么,PGM的工作机制,哪些机器学习的算法模型可以归结为PGM,进行汇总学习。
二、现在学术研究中如何使用PGM来解决实际问题。
- 【学术研究】PGM(probability graph model)研究与应用
- 概率图模型(PGM,Probability Graphical Model)推断简述
- 分类(Classification):Probability Generative Model
- PGM图片格式与代码
- PGM:概率图模型Graphical Model
- Introduction to Probability (一) Probability model and Axiom
- 三年学术研究的回顾与反思
- 解graph model
- Property Graph Model
- Random Graph Model
- JavaCC 研究与应用
- JavaCC 研究与应用
- javacc 研究与应用
- JavaCC 研究与应用
- RabbitMQ研究与应用
- PGM
- PGM学习之二 PGM模型的分类与简介
- PGM学习之二 PGM模型的分类与简介
- C/C++ 中Static
- 关于ubuntu卸载python反思
- D 01-HTML基本概述
- bzoj 4237 稻草人
- JAVA学习之 34-JAVA中的字符串知识点整理(一)
- 【学术研究】PGM(probability graph model)研究与应用
- Java 线程池 拒绝策略 RejectedExecutionHandler介绍
- vsftpd配置备忘
- 8款惊艳的HTML5粒子动画特效
- 多线程的理解
- 记录一下有用的文章
- linux内核USB相关数据结构
- 【代码笔记】iOS-removeFromSuper
- 下拉菜单——css方式实现二级菜单