【机器学习】六、概率图模型
今天我们对概率图模型(Probabilistic Graphical Model,PGM)做一个总结。
模型表示
概率图模型,是指一种用图结构来描述多元随机变量之间条件独立关系的概率模型。
它提出的背景是为了更好研究复杂联合概率分布的数据特征,假设一些变量的条件独立性,由此我们把概率图模型分为有向图和无向图,并且介绍了它们的模型表示、条件独立性。
有向图模型又称贝叶斯网络或信念网络,其联合概率分布可以分解为每个随机变量Xk的局部条件概率的乘积形式:
贝叶斯网络的条件独立性体现在三种形式:tail-to-tail,head-to-tail,head-to-head。
无向图模型又称马尔科夫随机场或马尔科夫网络,它的联合概率分布由Hammersley Clifford定理保证,能够因子分解为定义在最大团上的正函数的乘积:
马尔科夫随机场的条件独立性体现在局部马尔可夫性、全局马尔可夫性和成对马尔可夫性,他们是相互等价的:
接着我们介绍了判断变量条件独立性的方法——D分离,最后我们得到更一般的算法来确定以下形式之一的独立性问题:
给定Z,X和Y是否条件独立
X和Y边际独立吗
文章链接:
概率图模型(模型表示)
概率图模型(D分离)
模型推断
概率图模型只是为了简便研究模型方便而提出的工具,通常我们把得到联合概率分布参数的过程称为Learning问题,得到参数后,最终要进行推断,称为Inference问题,一般情况下,推断问题分为精确推断和近似推断。
精确推断有变量消除法(VE)和信念传播法(BP)。变量消除法的思想,它的核心是每次对一个变量求积分。
VE算法存在很明显的两个缺点:计算步骤无法存储;消除的最优次序是一个NP-hard问题。因此要对此算法进行改进,得到信念传播算法(BP),该算法的流程主要有三步:
step1:任取⼀个节点 作为根节点
step2:对这个根节点的邻居中的每⼀个节点,收集信息
step3:对根节点的邻居,分发信息
近似推断又分为确定性近似和随机性近似。
很多情况,无法用最大似然估计(MLE)直接求得参数,模型由一些不可观测的变量决定,它们无法直接观测,需要引入隐变量来定义它们。通常情况可以用期望最大化(EM算法)求解,它是一种迭代算法,主要思想是把一个难于处理的似然函数最大化问题用一个易于最大化的序列取代,而其极限是原始问题的解。
E步本质是求隐变量z的后验分布p(z|x,θ),想方设法把隐变量z积分掉,M步求似然函数最大值的参数θ。
变分推断(VI)是一种确定性近似方法,它的初始算法是基于平均场假设理论,不过该算法存在两个局限:假设太强,期望的积分可能无法计算。由此对算法改进,得到随机梯度变分推断(SGVI),利用重参数技巧和蒙特卡洛采样得到目标函数的梯度,进而采取梯度下降得到近似解。
随机性近似推断的典型是马尔科夫链蒙特卡洛方法(MCMC),主要思想是通过构建马尔可夫链概率序列,使其收敛到平稳分布p(z)。
蒙特卡洛采样是一种随机模拟方法,核心是求解x的概率分布p(x),以及如何基于概率分布去采集n个样本点。采样的目标是采集到的样本能够代表总体,要满足两点:
样本趋向于高概率的区域
样本之间必须独立
常用的采样方法有概率分布采样(CDF Sampling)、拒绝采样(Rejection Sampling)和重要性采样(Importance Sampling)。
马尔可夫链是一种时间和状态都是离散的随机变量序列,它由状态空间和转移矩阵定义,通常情况我们研究齐次马尔可夫链(未来状态的条件概率分布仅依赖于现在状态)。
平稳分布就是表示在某一个时刻后,分布不再改变。我们通过蚱蜢的例子来深入介绍了平稳分布,它表示了停留在某一状态的概率与从随机采样的前期状态转移到它的概率相同。
但并不是所有马氏链都是平稳分布,所以我们想找到一种构建有平稳分布的马氏链。这就引入了平稳分布的充分条件——细致平衡。
细致平衡条件将平稳分布的序列和⻢尔可夫链的转移矩阵联系在⼀起,把转移矩阵作为提议矩阵(提议函数),通过它可以不断⽣成样本点,就可以完成采样了,这个就是MCMC。主要用到MH算法,面对高维空间的话,用到MH的优化算法——Gibbs采样
文章传送门:
模型推断:VE与BP
EM算法
变分推断(Variational Inference)
MCMC(蒙特卡洛采样)
MCMC(马尔可夫链)
MCMC(MH算法)
具体模型
最简单的图模型是朴素贝叶斯,它是一个强假设:即给定y的情况下,特征之间相互独立:
引⼊单个隐变量后,发展出了高斯混合模型(GMM) :
如果单个隐变量变成序列的隐变量,就得到了动态空间模型(Dynamic Model):
引⼊齐次马尔科夫假设和观测独立假设就有隐马尔科夫模型(HMM),卡尔曼滤波和粒子滤波.
HMM的隐状态假设是离散的,卡尔曼滤波的隐状态假设是连续的,但观测变量服从高斯分布,而粒子滤波是非线性非高斯情况下的动态模型。
为了打破观测独立性,引⼊了⼀种最大熵马尔科夫模型(MEMM),它把最大熵原理与隐马尔科夫模型结合:
为了克服 MEMM 中的局域问题,⼜引⼊了条件随机场(CRF),CRF 是⼀个⽆向图,其中,破坏了⻬次⻢尔可夫假设,如果隐变量是⼀个链式结构,那么⼜叫线性链 CRF。
在⽆向图的基础上,引⼊隐变量得到了玻尔兹曼机,这个图模型的概率密度函数是⼀个指数族分布。对隐变量和观测变量作出⼀定的限制,就得到了受限玻尔兹曼机(RBM)
我们看到,不同的概率图模型对下⾯⼏个特点作出假设:
1. 方向-边的性质
2. 离散/连续/混合-点的性质
3. 条件独立性-边的性质
4. 隐变量-点的性质
5. 指数族-结构特点
此外,我们介绍五种聚类算法:基于质心的K-means算法,基于概率分布的GMM算法,基于密度的DBSCAN算法,基于无向图的谱聚类,以及基于层次聚类的BIRCH算法,其中K-means可以看成GMM的特殊情形。
最后,我们很久前介绍过了贝叶斯线性回归和高斯过程回归(GPR),它也可以看成概率图模型,我们是专门为了介绍一种调参方法而提前介绍这两个模型——贝叶斯优化(BOA),它可以在无法确定函数表达式的前提下,找到函数的最值点。
文章传送门:
高斯混合模型(GMM)
隐马尔可夫模型(背景介绍)
隐马尔可夫模型(前向算法与后向算法)
隐马尔可夫模型(Baum Welch算法与Viterbi算法)
隐马尔可夫模型(模型推断五大问题)
隐马尔可夫模型(算法流程&实例演示)
线性动态系统LDS(别名:卡尔曼滤波)
粒子滤波(Particle Filter)
条件随机场CRF(一)
条件随机场CRF(二)
条件随机场CRF(三)
受限波尔茨曼机(RBM)
高斯网络(GBN与GMN)
聚类算法(K-means)
聚类算法(谱聚类)
聚类算法(BIRCH)
聚类算法(DBSCAN)
聚类算法(相似度与性能度量)
贝叶斯线性回归
高斯过程回归(GPR)
贝叶斯优化
对于上面的概率图模型,我们有部分给出了编程实现,有部分还没有,以后会陆续介绍。目前重点是把原理介绍清楚,对机器学习有个整体把握。熟悉这些工具,加上其原理的思想,在我们工作中灵活应用,希望对亲爱的读者你有用!
我们不久后开始深度学习的内容,再难,我也想你一起学算法!!!
相关文章:
【机器学习】六、概率图模型
今天我们对概率图模型(Probabilistic Graphical Model,PGM)做一个总结。 模型表示 概率图模型,是指一种用图结构来描述多元随机变量之间条件独立关系的概率模型。 它提出的背景是为了更好研究复杂联合概率分布的数据特征&#x…...
机器视觉软件破解的背后是道高一尺,魔高一丈
讲个故事,小明从某购物平台花2000元买了一个C#机器视觉架构,压缩包带加密,卖家让小明先确认收货后给密码。 小明花了3元从另外一家卖家破解开压缩包密码,然后迅速从第一家卖家退货。小明成功省了1997元。 “道高一尺,…...
【I/O流之旅】File类-零基础入门指南
🎊专栏【Java】 🌺每日一句:看不清楚未来时,就比别人坚持久一点 ⭐欢迎并且感谢大家指出我的问题 目录 1.File概述 2.File构造方法 (1).根据文件路径创建文件对象 (2).根据父路径名字符串和子路径名字符串创建对象 (3).根据父路径对应文件对象和子路…...
ArrayList和LinkedList的区别有哪些?
ArrayList 和 LinkedList 是 Java 中常用的两种集合类,它们之间有一些重要的区别,主要涉及到其内部实现和性能特点: 内部实现: ArrayList 是基于动态数组实现的。它使用一个数组来存储元素,当数组已满并需要添加新元素…...
Pyhotn: Mac安装selenium没有chromedriver-114以上及chromedriver无法挪到/usr/bin目录下的问题
1.0 安装selenium 终端输入: pip install selenium 查看版本: pip show selenium2.0 安装chromedriver 查看chrome版本 网上大多数是,基本到114就停了。 https://registry.npmmirror.com/binary.html?pathchromedriver/ 各种搜索&#…...
Java TCP服务端多线程接收RFID网络读卡器上传数据
本示例使用设备介绍:WIFI/TCP/UDP/HTTP协议RFID液显网络读卡器可二次开发语音播报POE-淘宝网 (taobao.com) import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; impor…...
SpringCloud——服务网关——GateWay
1.GateWay是什么? gateway也叫服务网关,SpringCloud GateWay使用的是Webflux中的reactor-netty响应式编程组件,底层使用了Netty通讯框架。 gateway的功能有反向代理、鉴权、流量控制、熔断、日志监控...... 2.为什么不使用Zuul?…...
Linux程序的地址空间
Linux程序的地址空间 📟作者主页:慢热的陕西人 🌴专栏链接:Linux 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 本博客主要内容深刻理解了什么程序或者进程的地址…...
Docker安装Minio(稳定版)
1、安装 docker pull minio/minio:RELEASE.2021-06-17T00-10-46Z docker run -p 9000:9000 minio/minio:RELEASE.2021-06-17T00-10-46Z server /data 2、访问测试 3、MinIO自定义Access和Secret密钥 要覆盖MinIO的自动生成的密钥,您可以将Access和Secret密钥设为…...
大数据毕业设计选题推荐-超级英雄运营数据监控平台-Hadoop-Spark-Hive
✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…...
视频转码教程:轻松制作GIF动态图,一键高效剪辑操作
随着社交媒体的兴起,GIF动态图已经成为了人们表达情感、分享精彩瞬间的重要方式。而将视频转化为GIF动态图,不仅可以方便地在社交媒体上分享,还可以延长视频的播放时长,吸引更多的观众。本篇文章将为大家介绍如何将视频轻松转化为…...
Seata分布式事务实现原理
Seata可以解决分布式事务问题,利用GlobalTransacational(name "fsp-create-order",rollbackFor Exception.class)注解就可以实现全局的事务管理,但是我们需要明白原理的实现。 我们举例创建订单——>调减库存——>调扣余额——>改订…...
Rasa NLU中的组件
Rasa NLU部分主要是解决NER(序列建模)和意图识别(分类建模)这2个任务。Rasa NLP是一个基于DAG的通用框架,图中的顶点即组件。组件特征包括有顺序关系、可相互替换、可互斥和可同时使用。有向无环图(DAG&…...
redis笔记 三 redis持久化
文章目录 Redis持久化RDB持久化执行时机RDB原理小结 AOF持久化AOF原理AOF配置AOF文件重写 RDB与AOF对比 Redis持久化 redis持久化是为了解决redis宕机时丢失数据的问题,Redis有两种持久化方案: RDB持久化AOF持久化 RDB持久化 RDB全称Redis Database …...
k8s-----数据存储
目录 一、数据存储的概念 二、基本存储 1、EmptyDir存储卷 2、hostPath存储卷 3、nfs共享存储卷 三、高级存储 1、PV(持久化卷) 2、PVC(持久化卷声明) 3、静态PV实验 4、动态PV实验 4.1 在stor01节点上安装nfs…...
macOS电池续航工具:Endurance中文
Endurance for Mac是一款强大而实用的电池管理和优化软件,专为MacBook设计。通过智能调整系统设置和管理后台应用,它能有效延长电池续航时间,提升工作和娱乐效率,成为你在各种场合下的得力助手。 Endurance for Mac软件的功能特色…...
栈(定义,基本操作,顺序存储,链式存储)
目录 1.栈的定义1.重要术语2.特点 2.栈的基本操作3.栈的顺序存储1.顺序栈的定义2.基本操作1.初始化2.进栈3.出栈4.读栈顶 3.共享栈 4.栈的链式存储 1.栈的定义 栈( Stack)是只允许在一端进行插入或删除操作的线性表。 一种受限的线性表,只能在栈顶进行插…...
在HTML单页面中,使用Bootstrap框架的多选框如何提交数据
1.引入Bootstrap CSS和JavaScript文件:确保在HTML页面的标签内引入Bootstrap的CSS和JavaScript文件。可以使用CDN链接或者下载本地文件。 <link rel"stylesheet" href"https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css&q…...
当爱好变成职业,会不会就失去了兴趣?
当爱好变成职业,会不会就失去了兴趣? 当兴趣变成职业 1、学习能力变强了,积极主动性增加了。 2、学习努力变现了,赚到的更钱多了。 3、赚钱能力变强了,反过来再次促使兴趣发展(兴趣更大了....干劲更足了&…...
3-知识补充-MVC框架
3-知识补充-MVC框架 文章目录 3-知识补充-MVC框架MVC概述M、V、C各自负责功能及常用包MVC框架图非前后端分离框架图前后端分离框架图 MVC概述 MVC(Model、View、Controller)是软件工程中的一种**软件架构模式,它把软件系统分为模型、视图和控…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...
PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建
制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...
AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
动态 Web 开发技术入门篇
一、HTTP 协议核心 1.1 HTTP 基础 协议全称 :HyperText Transfer Protocol(超文本传输协议) 默认端口 :HTTP 使用 80 端口,HTTPS 使用 443 端口。 请求方法 : GET :用于获取资源,…...
