当前位置: 首页 > news >正文

【机器学习】六、概率图模型

今天我们对概率图模型(Probabilistic Graphical Model,PGM)做一个总结。

模型表示

概率图模型,是指一种用图结构来描述多元随机变量之间条件独立关系的概率模型。

它提出的背景是为了更好研究复杂联合概率分布的数据特征,假设一些变量的条件独立性,由此我们把概率图模型分为有向图无向图,并且介绍了它们的模型表示、条件独立性。

有向图模型又称贝叶斯网络信念网络,其联合概率分布可以分解为每个随机变量Xk的局部条件概率的乘积形式:

贝叶斯网络的条件独立性体现在三种形式:tail-to-tail,head-to-tailhead-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元。 “道高一尺&#xff0c…...

【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&#xff1f…...

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&#xf…...

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文件&#xff1a;确保在HTML页面的标签内引入Bootstrap的CSS和JavaScript文件。可以使用CDN链接或者下载本地文件。 <link rel"stylesheet" href"https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css&q…...

当爱好变成职业,会不会就失去了兴趣?

当爱好变成职业&#xff0c;会不会就失去了兴趣&#xff1f; 当兴趣变成职业 1、学习能力变强了&#xff0c;积极主动性增加了。 2、学习努力变现了&#xff0c;赚到的更钱多了。 3、赚钱能力变强了&#xff0c;反过来再次促使兴趣发展&#xff08;兴趣更大了....干劲更足了&…...

3-知识补充-MVC框架

3-知识补充-MVC框架 文章目录 3-知识补充-MVC框架MVC概述M、V、C各自负责功能及常用包MVC框架图非前后端分离框架图前后端分离框架图 MVC概述 MVC&#xff08;Model、View、Controller&#xff09;是软件工程中的一种**软件架构模式&#xff0c;它把软件系统分为模型、视图和控…...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 &#xff08;1&#xff09;连接查询&#xff08;JOIN&#xff09; 内连接&#xff08;INNER JOIN&#xff09;&#xff1a;返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

23-Oracle 23 ai 区块链表(Blockchain Table)

小伙伴有没有在金融强合规的领域中遇见&#xff0c;必须要保持数据不可变&#xff0c;管理员都无法修改和留痕的要求。比如医疗的电子病历中&#xff0c;影像检查检验结果不可篡改行的&#xff0c;药品追溯过程中数据只可插入无法删除的特性需求&#xff1b;登录日志、修改日志…...

在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module

1、为什么要修改 CONNECT 报文&#xff1f; 多租户隔离&#xff1a;自动为接入设备追加租户前缀&#xff0c;后端按 ClientID 拆分队列。零代码鉴权&#xff1a;将入站用户名替换为 OAuth Access-Token&#xff0c;后端 Broker 统一校验。灰度发布&#xff1a;根据 IP/地理位写…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法&#xff0c;用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理&#xff0c;能够自动确定一个阈值&#xff0c;将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户&#xff0c;但你不希望用 root 权限运行 ns-3&#xff08;这是对的&#xff0c;ns3 工具会拒绝 root&#xff09;&#xff0c;你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案&#xff1a;创建非 roo…...

css3笔记 (1) 自用

outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size&#xff1a;0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格&#xff…...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态&#xff08;编译时多态&#xff09; 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1&#xff09;.协变 2&#xff09;.析构函数的重写 5.override 和 final关键字 1&#…...

Kafka入门-生产者

生产者 生产者发送流程&#xff1a; 延迟时间为0ms时&#xff0c;也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于&#xff1a;异步发送不需要等待结果&#xff0c;同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...

深度学习水论文:mamba+图像增强

&#x1f9c0;当前视觉领域对高效长序列建模需求激增&#xff0c;对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模&#xff0c;以及动态计算优势&#xff0c;在图像质量提升和细节恢复方面有难以替代的作用。 &#x1f9c0;因此短时间内&#xff0c;就有不…...

搭建DNS域名解析服务器(正向解析资源文件)

正向解析资源文件 1&#xff09;准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2&#xff09;服务端安装软件&#xff1a;bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...