机器学习:通俗理解马尔科夫随机场(MRF)及其应用(附例题)

news2024/12/23 3:33:15

目录

  • 0 写在前面
  • 1 无向概率图
  • 2 马尔科夫随机场
  • 3 马尔科夫独立性
  • 4 例题分析

0 写在前面

机器学习强基计划聚焦深度和广度,加深对机器学习模型的理解与应用。“深”在详细推导算法模型背后的数学原理;“广”在分析多个机器学习模型:决策树、支持向量机、贝叶斯与马尔科夫决策、强化学习等。强基计划实现从理论到实践的全面覆盖,由本人亲自从底层编写、测试与文章配套的各个经典算法,不依赖于现有库,可以大大加深对算法的理解。

🚀详情:机器学习强基计划(附几十种经典模型源码)


在机器学习强基计划5-1:概率图开篇,机器学习中的图论总结(附思维导图)中我们介绍了什么是概率图模型,而概率图模型主要分为

  • 有向无环概率图——经典的有向概率图为贝叶斯网络
  • 无向概率图——经典的无向概率图为马尔科夫随机场

在机器学习强基计划5-2:用一个例子通俗理解贝叶斯网络(附例题)中我们可以看到有向概率图贝叶斯网络已经能很好地表示推理工作,那为什么又需要引入无向概率图呢?本文从这个问题出发,逐步引出马尔科夫随机场

1 无向概率图

从典型的案例出发说明引入无向概率图的动机和必要性。

以贝叶斯网络为代表的有向概率图常用于表示随机变量间显式的因果关系,比如课程的难度会影响学生的成绩——课程越难成绩越低。

在这里插入图片描述

然而,在实际应用中,随机变量间可能存在对称的相互依赖,但不具有显式的因果性。这里举了很有代表性的四个例子:

  • 图像分割
  • 社交网络
  • 蛋白质生物工程
  • 搜索引擎

例如图像语义分割,每个像素被其近邻像素影响,同时也影响着近邻像素(当前像素语义是天空,那么近邻像素也很可能表示天空,反之亦然);社交网络中用户的彼此交互等。依赖的对称性无法用有向图表达,否则会产生环,从而违反因果性,因此引入无向图刻画这类变量关系

在这里插入图片描述

2 马尔科夫随机场

设同一样本空间下的一组随机变量构成集合,该集合每个元素按某种分布随机赋值,则该集合称为随机场(Random Filed)马尔科夫随机场(Markov Random Field, MRF)是经典的无向概率图。与贝叶斯网络类似,马尔科夫随机场是一个偶对 H = ( G , P ) \mathcal{H} =\left( \mathcal{G} ,P \right) H=(G,P),即由网络拓扑结构以及概率分布两部分组成,其中

  • 网络结构 G = ( V , E ) \mathcal{G} =\left( V,E \right) G=(V,E)无向图(Undirected Graphical Model, UGM) V V V是图形中所有节点——随机变量的集合; E E E是所有连边——变量间相关依赖的集合。网络结构蕴含一系列独立性断言 I ( G ) \mathcal{I} \left( \mathcal{G} \right) I(G),这部分知识可以回顾机器学习强基计划5-3:图文详解因子分解与独立图I-Map(附例题分析+Python实验)

  • 概率分布 P P P是在网络结构 G \mathcal{G} G上的因子分解,由Hammersley-Clifford定理可得
    P ( X 1 , X 2 , ⋯   , X m ) = 1 Z ∗ ∏ Q ∈ C ∗ ϕ Q ( D Q ) P\left( X_1,X_2,\cdots ,X_m \right) =\frac{1}{Z^*}\prod_{Q\in \mathcal{C} ^*}{\phi _Q\left( \boldsymbol{D}_Q \right)} P(X1,X2,,Xm)=Z1QCϕQ(DQ)
    其中 C ∗ \mathcal{C} ^* C是图 G \mathcal{G} G中全体极大团集合, D Q \boldsymbol{D}_Q DQ是极大团 Q ∈ C ∗ Q\in \mathcal{C} ^* QC对应的随机变量集合。因子 ϕ Q ( D Q ) \phi _Q\left( \boldsymbol{D}_Q \right) ϕQ(DQ)在马尔科夫随机场中也称为团位势(clique potential)势函数(potential function)的常见形式为
    ϕ Q ( D Q ) = e − H Q ( D Q ) \phi _Q\left( \boldsymbol{D}_Q \right) =e^{-H_Q\left( \boldsymbol{D}_Q \right)} ϕQ(DQ)=eHQ(DQ)
    其中 H Q ( D Q ) H_Q\left( \boldsymbol{D}_Q \right) HQ(DQ)是定义在团变量上的实值函数,根据实值函数定义划分不同的模型。

纯理论讲解可能有点枯燥,可以结合应用理解这些公式的含义:机器学习实战4:基于马尔科夫随机场的图像分割(附Python代码)

3 马尔科夫独立性

这部分和贝叶斯网络一样,用于简化联合概率。随机变量的影响在无向图中流动,当观测到某些变量时流动将受到阻塞。马尔科夫随机场中的变量独立性断言如下:

  • 全局马尔科夫性(Global Markov Property)

    若给定观测变量集 Z \boldsymbol{Z} Z时,任意两个节点 X ∈ X X\in \boldsymbol{X} XX Y ∈ Y Y\in \boldsymbol{Y} YY间没有路径,则称 Z \boldsymbol{Z} Z G \mathcal{G} G中分离 X \boldsymbol{X} X Y \boldsymbol{Y} Y,记为 s e p G ( X ; Y ∣ Z ) \mathrm{sep}_{\mathcal{G}}\left( \boldsymbol{X};\boldsymbol{Y}|\boldsymbol{Z} \right) sepG(X;YZ),全局独立性断言为

I ( G ) = { ( X ⊥ Y ∣ Z ) : s e p G ( X ; Y ∣ Z ) } \mathcal{I} \left( \mathcal{G} \right) =\left\{ \left( \boldsymbol{X}\bot \boldsymbol{Y}|\boldsymbol{Z} \right) :\mathrm{sep}_{\mathcal{G}}\left( \boldsymbol{X};\boldsymbol{Y}|\boldsymbol{Z} \right) \right\} I(G)={(XYZ):sepG(X;YZ)}

  • 局部马尔科夫性(local Markov property)

    局部独立性断言为给定变量 X \boldsymbol{X} X马尔科夫毯(Markov Blanket), 条件独立于其余变量

I l ( G ) = { ( X ⊥ X − { X } − M B ( X ) ∣ M B ( X ) ) } \mathcal{I} _l\left( \mathcal{G} \right) =\left\{ \left( X\bot \mathcal{X} -\left\{ X \right\} -\mathrm{MB}\left( X \right) |\mathrm{MB}\left( X \right) \right) \right\} Il(G)={(XX{X}MB(X)MB(X))}

  • 成对马尔科夫性(pairwise Markov property)

    成对独立性断言为给定所有其他变量,两个非邻接变量 X X X Y Y Y条件独立

I p ( G ) = { ( X ⊥ Y ∣ X − { X , Y } ) : X − Y ∉ G } \mathcal{I} _p\left( \mathcal{G} \right) =\left\{ \left( X\bot Y|\mathcal{X} -\left\{ X,Y \right\} \right) :X-Y\notin \mathcal{G} \right\} Ip(G)={(XYX{X,Y}):XY/G}

相应的概率图如下所示

在这里插入图片描述

4 例题分析

例1:如图所示马尔科夫随机场,求所有节点的联合概率

在这里插入图片描述

图所示马尔科夫随机场的极大团为 { x 1 , x 2 } \left\{ x_1,x_2 \right\} {x1,x2} { x 1 , x 3 } \left\{ x_1,x_3 \right\} {x1,x3} { x 2 , x 4 } \left\{ x_2,x_4 \right\} {x2,x4} { x 3 , x 5 } \left\{ x_3,x_5 \right\} {x3,x5} { x 2 , x 5 , x 6 } \left\{ x_2,x_5,x_6 \right\} {x2,x5,x6},则联合分布为

P ( x ) = 1 Z ϕ 12 ( x 1 , x 2 ) ϕ 13 ( x 1 , x 3 ) ϕ 24 ( x 2 , x 4 ) ϕ 35 ( x 3 , x 5 ) ϕ 256 ( x 2 , x 5 , x 6 ) P\left( \boldsymbol{x} \right) =\frac{1}{Z}\phi _{12}\left( x_1,x_2 \right) \phi _{13}\left( x_1,x_3 \right) \phi _{24}\left( x_2,x_4 \right) \phi _{35}\left( x_3,x_5 \right) \phi _{256}\left( x_2,x_5,x_6 \right) P(x)=Z1ϕ12(x1,x2)ϕ13(x1,x3)ϕ24(x2,x4)ϕ35(x3,x5)ϕ256(x2,x5,x6)


🔥 更多精彩专栏

  • 《ROS从入门到精通》
  • 《机器人原理与技术》
  • 《机器学习强基计划》
  • 《计算机视觉教程》

👇源码获取 · 技术交流 · 抱团学习 · 咨询分享 请联系👇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/135485.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Git使用,在github中创建仓库

一.本地生成密钥: ssh-keygen //生成密钥 cat id_rsa.pub # 查看公钥 查看公钥,并将公钥添加到github的服务器上 二.创建文件,并且将文件上传到GitHub 设置全局用户信息: git config --global user.name dwerrwgit config…

LabVIEW NI数字万用表与开关握手扫描速率

LabVIEW NI数字万用表与开关握手扫描速率 在决定需要哪些设备来满足系统要求时,对扫描速率数据进行基准测试非常有用。数字万用表(DMM)和开关系统也是如此,因为扫描速率取决于数字万用表、开关和它们之间的触发器的速度。本文包含…

高并发系统设计 -- 抢红包设计

抢红包的业务分析 可以明显的看到打开了红包不一定可以抢到。这样做的好处是: 符合现实生活逻辑,有仪式感防止误领,发现不对劲可以马上退出流程拆的长一些,平摊高并发下的压力 预拆包:我在发红包的时候,就…

ansible的静态清单配置文件

清单文件 定义主机清单文件 清单中定义ansible将要管理的一批主机,这些主机也可以分配到组中,以进行集中管理。组中也可以包含子组,一台主机也可以是多个组中的成员。清单还可以设置应用到它所定义的主机和组的变量。 编写主机清单文件 主机…

归置归置,我的 2022

J3code杂文(程序人生 # 年终总结) 记得 2021 年我没有进行年终总结,也就没有发出过相关的内容出来。总结原因就是一个,躺平了,自毕业换工作之后,就一直在适应工作环境与生活环境中默默的度过了 2021 年。 …

你真的懂树吗?二叉树、AVL平衡二叉树、伸展树、B-树和B+树原理和实现代码详解...

树(Tree)是一种相当灵活的数据结构(上一节已经详细讲解了基本的数据结构:线性表、栈和队列),你可能接触过二叉树,但是树的使用并不限于此,从简单的使用二叉树进行数据排序&#xff0…

(深度学习快速入门)第三章第一节:多层感知器简介

文章目录一:引入二:定义三:反向传播算法四:构建多层感知器完成波士顿房价预测一:引入 前文所讲到的波士顿房价预测案例中,涉及到的仅仅是一个非常简单的神经网络,它只含有输入层和输出层 但观…

vue3 antd项目实战——Form表单的重置与清空【resetFields重置表单未生效(手写重置函数)】

vue3 antd项目实战——resetFields重置表单无效【手写重置函数重置表单数据】关于form表单的文章合集场景复现原因分析解决方案(手写清空函数)关于form表单的文章合集 文章内容文章链接Form表单提交和校验https://blog.csdn.net/XSL_HR/article/details/128495087?spm1001.20…

面向对象定义一个hero类

问题定义一个hero类,属性有power,name,分别代表体力值和英雄的名字,体力值默认为100;方法有:1.行走的方法如果体力值为0,则输出不能行走,此英雌已死亡的信息;2.吃的方法&…

双非二本、已获HCIA认证的大二学生与C站相遇的2022

目录 前言 2022年1月、2月——迷茫 2022年3月~6月——调整规划 ​2022年7月——在CSDN发布第一篇博客 2022年8月——步入正轨,获得2022谷歌开发者大会入场名额 2022年9月~10月——开学季,收获季 2022年11月——第一次接触项目并去公司学习实践&…

01通信/协议一些简要概念

通信的目的 将一个设备的数据传送到另一个设备,扩展硬件系统。 通信协议 制定通信的规则,通信双方按照协议规则进行数据收发。 每一种通讯协议都有硬件与软件上的要求。 常见的协议 USART TX、RX 全双工 异步 单端 点对点 I2C SCL、SDA 半双…

百度大规模知识图谱构建及技术应用实践

省时查报告-专业、及时、全面的行研报告库省时查方案-专业、及时、全面的营销策划方案库【免费下载】2022年11月份热门报告盘点罗振宇2023年跨年演讲PPT原稿2023年,如何科学制定年度规划?《底层逻辑》高清配图‍基于深度学习的个性化推荐系统实时化改造与…

【Node.js实战】一文带你开发博客项目之登录(对接完毕,cookie、session、redis各司其职)

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,也会涉及到服务端 📃个人状态: 在校大学生一枚,已拿多个前端 offer(秋招) 🚀未…

【蓝桥杯选拔赛真题54】Scratch小猫钓鱼 少儿编程scratch图形化编程 蓝桥杯选拔赛真题讲解

目录 scratch小猫钓鱼 一、题目要求 编程实现 二、案例分析 1、角色分析

河道船只识别系统 yolov5

河道船只识别系统通过Python基于YOLOv5深度学习框架模型技术对画面中船只进行监测,如识别到有船只违规行为,立即抓拍告警同步回传给平台。YOLOv5是一种单阶段目标检测算法,该算法在YOLOv4的基础上添加了一些新的改进思路,使其速度…

写了个自动巡检多个接口地址的脚本!

作者:JackTian 来源:公众号「杰哥的IT之旅」 ID:Jake_Internet 转载请联系授权(微信ID:Hc220088) 原文链接:写了个自动巡检多个接口地址的脚本! 没错,这次我结合工作运用…

【C语言】你对动态内存分配有多少了解呢

🏖️作者:malloc不出对象 ⛺专栏:《初识C语言》 👦个人简介:一名双非本科院校大二在读的科班编程菜鸟,努力编程只为赶上各位大佬的步伐🙈🙈 目录前言一、什么是动态内存分配二、为什…

SpringBoot(二)【学习笔记】

SpringBoot的配置文件 之前SSM项目: 每一个框架都有自己的配置文件, 每一个配置文件头文件不一样, 需要找到每个框架的头文件 SpringBoot的配置文件: 所有的框架的配置项,都可以在application.properties文件配置, 如果自定义一些配置, 修改SpringBoot默认的配置项, 可以在appl…

JAVA语言程序设计基础入门技术教程

JAVA语言程序设计基础 第一章:JAVA入门基础–开山篇 视频:https://edu.csdn.net/course/detail/8034 前言:什么是java 是咖啡飘香的清晨是斯坦福校园意浓情深是James的思想睿智是剁手党双十一挥舞的利刃是大数据服务的平台是春运时节那期…

Java高手速成│实战:应用数据库和GUI开发产品销售管理软件(1)

实战项目:应用数据库和GUI开发产品销售管理软件 01、项目分析 应用各种数据库编程技术,并利用GUI组件,例如按钮、标签、文本字段提供增添、更新、删除产品销售记录等功能。利用JTable显示产品销售数据表中的记录。图1显示了这个实战项目的典…