【机器学习6】概率图模型

news2024/11/23 7:16:10

用观测结点表示观测到的数据, 用隐含结点表示潜在的知识, 用边来描述知识与数据的相互关系, 最后基于这样的关系图获得一个概率分布 。
概率图中的节点分为隐含节点和观测节点, 边分为有向边和无向边。 从概率论的角度, 节点对应于随机变量, 边对应于随机变量的依赖或相关关系, 其中有向边表示单向的依赖, 无向边表示相互依赖关系。
概率图模型分为贝叶斯网络(Bayesian Network) 和马尔可夫网络(MarkovNetwork) 两大类。 贝叶斯网络可以用一个有向图结构表示, 马尔可夫网络可以表示成一个无向图的网络结构。 更详细地说, 概率图模型包括了朴素贝叶斯模型、最大熵模型、 隐马尔可夫模型、 条件随机场、主题模型等。

1 贝叶斯网络与马尔科夫网络

1.1 贝叶斯网络

在这里插入图片描述

1.2 马尔科夫网络

对于图中所有节点x={x1,x2,…,xn}所构成的一个子集, 如果在这个子集中, 任意两点之间都存在边相连, 则这个子集中的所有节点构成了一个团。 如果在这个子集中加入任意其他节点, 都不能构成一个团, 则称这样的子集构成了一个最大团。
在这里插入图片描述

2 朴素贝叶斯模型和最大熵模型

2.1 朴素贝叶斯模型

朴素贝叶斯模型通过预测指定样本属于特定类别的概率P(yi|x)来预测该样本的所属类别:

在这里插入图片描述

x=(x1,x2,…,xn)为样本对应的特征向量, P(x)为样本的先验概率。 对于特定的样本x和任意类别yi, P(x)的取值均相同, 并不会影响P(yi|x)取值的相对大小, 因此在计算中可以被忽略。 假设特征x1,x2,…,xn相互独立,

在这里插入图片描述

可以看到后验概率P(xj|yi)的取值决定了分类的结果, 并且任意特征xj都由yi的取值所影响。变量y同时对x1,x2,…,xN这N个变量产生影响, 因此概率图模型可以用图表示。

在这里插入图片描述

2.2 最大熵模型

最大熵原理是概率模型学习的一个准则, 指导思想是在满足约束条件的模型集合中选取熵最大的模型, 即不确定性最大的模型。
假设离散随机变量x的分布是P(x), 则关于分布P的熵定义为:
在这里插入图片描述
给定离散随机变量x和y上的条件概率分布P(y|x), 定义在条件概率分布上的条件熵为:
在这里插入图片描述
其中 (x)为样本在训练数据集上的经验分布, 即x的各个取值在样本中出现的频率统计.
最大熵模型就是要学习到合适的分布P(y|x), 使得条件熵H§的取值最大。 在对训练数据集一无所知的情况下, 最大熵模型认为P(y|x)是符合均匀分布的。有了训练数据集之后, 特征函数f描述了输入x和输出y之间的一个规律, 例如当x=y时, f(x,y)等于一个比较大的正数。 为了使学习到的模型P(y|x)能够正确捕捉训练数据集中的这一规律(特征) , 我们加入一个约束, 使得特征函数f(x,y)关于经验分布 (x,y)的期望值与关于模型P(y|x)和经验分布 (x)的期望值相等, 即:
在这里插入图片描述
综上, 给定训练数据集 , 以及M个特征函数,最大熵模型的学习等价于约束最优化问题:
在这里插入图片描述
求解之后可以得到最大熵模型的表达形式为:
在这里插入图片描述
最大熵模型归结为学习最佳的参数w, 使得Pw(y|x)最大化。
P
w(y|x)的表达形式非常类似于势函数为指数函数的马尔可夫网络, 其中变量x和y构成了一个最大团:
在这里插入图片描述

3生成式模型和判别式模型

假设可观测到的变量集合为X, 需要预测的变量集合为Y, 其他的变量集合为Z。

定义代表性模型
生成式模型对联合概率分布P(X,Y,Z)进行建模, 在给定观测集合X的条件下, 通过计算边缘分布来得到对变量集合Y的推断朴素贝叶斯、贝叶斯网络、 pLSA、 LDA、隐马尔可夫模型等
判别式模型直接对条件概率分布P(Y,Z/X)进行建模, 然后消掉无关变量Z就可以得到对变量集合Y的预测最大熵模型、最大熵马尔可夫模型、条件随机场

4 马尔科夫模型/隐马尔科夫模型/最大熵马尔科夫模型/条件随机场

假设一个随机过程中, tn时刻的状态xn的条件分布, 仅仅与其前一个状态xn−1有关, 即P(xn|x1,x2…xn−1)=P(xn|xn−1), 则将其称为马尔可夫过程, 时间和状态的取值都是离散的马尔可夫过程也称为马尔可夫链。

在这里插入图片描述
简单的马尔可夫模型中, 所有状态对于观测者都是可见的, 因此在马尔可夫模型中仅仅包括状态间的转移概率。 而在隐马尔可夫模型中, 隐状态xi对于观测者而言是不可见的, 观测者能观测到的只有每个隐状态xi对应的输出yi, 而观测状态yi的概率分布仅仅取决于对应的隐状态xi。 在隐马尔可夫模型中, 参数包括了隐状态间的转移概率、 隐状态到观测状态的输出概率、隐状态x的取值空间、 观测状态y的取值空间以及初始状态的概率分布。
在这里插入图片描述
假设有3个不同的葫芦, 每个葫芦里有好药和坏药若干, 现在从3个葫芦中按以下规则倒出药来。
(1) 随机挑选一个葫芦。
(2) 从葫芦里倒出一颗药, 记录是好药还是坏药后将药放回。
(3) 从当前葫芦依照一定的概率转移到下一个葫芦。
(4) 重复步骤(2) 和(3) 。
在整个过程中, 我们并不知道每次拿到的是哪一个葫芦。 用隐马尔可夫模型来描述以上过程, 隐状态就是当前是哪一个葫芦, 隐状态的取值空间为{葫芦1,葫芦2, 葫芦3}, 观测状态的取值空间为{好药, 坏药}, 初始状态的概率分布就是第(1) 步随机挑选葫芦的概率分布, 隐状态间的转移概率就是从当前葫芦转移到下一个葫芦的概率, 而隐状态到观测状态的输出概率就是每个葫芦里好药和坏药的概率。 记录下来的药的顺序就是观测状态的序列, 而每次拿到的葫芦的顺序就是隐状态的序列。

在隐马尔可夫模型中, 假设隐状态(即序列标注问题中的标注) xi的状态满足马尔可夫过程, t时刻的状态xt的条件分布, 仅仅与其前一个状态xt−1有关,即P(xt|x1,x2,…,xt−1)=P(xt|xt−1); 同时隐马尔可夫模型假设观测序列中各个状态仅仅取决于它对应的隐状态P(yt|x1,x2,…,xn,yi,y2,…,yt−1,yt+1,…)=P(yt|xt)。 隐马尔可夫模型建模时考虑了隐状态间的转移概率和隐状态到观测状态的输出概率。实际上, 在序列标注问题中, 隐状态(标注) 不仅和单个观测状态相关, 还和观察序列的长度、 上下文等信息相关。 例如词性标注问题中, 一个词被标注为动词还是名词, 不仅与它本身以及它前一个词的标注有关, 还依赖于上下文中的其他词, 于是引出了最大熵马尔可夫模型。
最大熵马尔可夫模型在建模时, 去除了隐马尔可夫模型中观测状态相互独立的假设, 考虑了整个观测序列, 因此获得了更强的表达能
力。 同时, 隐马尔可夫模型是一种对隐状态序列和观测状态序列的联合概率P(x,y)进行建模的生成式模型, 而最大熵马尔可夫模型是直接对标注的后验概率P(y|x)进行建模的判别式模型。
在这里插入图片描述
最大熵马尔可夫模型存在标注偏置问题:状态1倾向于转移到状态2, 状态2倾向于转移到状态2本身。 但是实际计算得到的最大概率路径是1->1->1->1, 状态1并没有转移到状态2,这是因为, 从状态2转移出去可能的状态包括1、 2、 3、 4、 5, 概率在可能的状态上分散了,而状态1转移出去的可能状态仅仅为状态1和2, 概率更加集中。
在这里插入图片描述

在这里插入图片描述
条件随机场(Conditional Random Field, CRF) 在最大熵马尔可夫模型的基础上, 进行了全局归一化,
在这里插入图片描述
条件随机场建模如下:
在这里插入图片描述
其中归一化因子Z(y1…n)是在全局范围进行归一化, 枚举了整个隐状态序列x1…n的全部可能, 从而解决了局部归一化带来的标注偏置问题。

5 主题模型:pLSA(Probabilistic Latent Semantic Analysis) , LDA(Latent DirichletAllocation)

主题模型是一种特殊的概率图模型。 假设有K个主题, 我们就把任意文章表示成一个K维的主题向量, 其中向量的每一维代表一个主题, 权重代表这篇文章属于这个特定主题的概率。 主题模型所解决的事情, 就是从文本库中发现有代表性的主题(得到每个主题上面词的分
布) , 并且计算出每篇文章对应着哪些主题。
pLSA是用一个生成模型来建模文章的生成过程。 假设有K个主题, M篇文章; 对语料库中的任意文章d, 假设该文章有N个词, 则对于其中的每一个词, 我们首先选择一个主题z, 然后在当前主题的基础上生成一个词w。
在这里插入图片描述
LDA可以看作是pLSA的贝叶斯版本, 其文本生成过程与pLSA基本相同, 不同的是为主题分布和词分布分别加了两个狄利克雷(Dirichlet) 先验。 pLSA采用的是频率派思想, 将每篇文章对应的主题分布p(zk|dm)和每个主题对应的词分布p(wn|zk)看成确定的未知常数, 并可以求解出来; 而LDA采用的是贝叶斯学派的思想, 认为待估计的参数(主题分布和词分布) 不再是一个固定的常数, 而是服从一定分布的随机变量。 这个分布符合一定的先验概率分布(即狄利克雷分布) , 并且在观察到样本信息之后, 可以对先验分布进行修正, 从而得到后验分布。
在这里插入图片描述

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

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

相关文章

使用pixy计算群体遗传学统计量

1 数据过滤 过滤参数:过滤掉次等位基因频率(minor allele frequency,MAF)低于0.05、哈达-温伯格平衡(Hardy– Weinberg equilibrium,HWE)对应的P值低于1e-10或杂合率(heterozygosit…

想买GPT4会员却只能排队?来看看背后的故事!

文章目录 🧐 为什么要进候选名单?🔍 究竟发生了什么?😮 IOS端还能买会员!🤔 网页端为啥不能订会员?第一点:防止黑卡消费第二点:当技术巨头遇上资源瓶颈&#…

2023.11.16-hive sql高阶函数lateral view,与行转列,列转行

目录 0.lateral view简介 1.行转列 需求1: 需求2: 2.列转行 解题思路: 0.lateral view简介 hive函数 lateral view 主要功能是将原本汇总在一条(行)的数据拆分成多条(行)成虚拟表,再与原表进行笛卡尔积&#xff0c…

Uniapp导出的iOS应用上架详解

目录 Uniapp导出的iOS应用上架详解 摘要 引言 苹果审核标准 苹果调试 注意事项和建议 总结 摘要 本文将探讨Uniapp导出的iOS应用能否成功上架的问题。我们将从苹果审核标准、性能影响、调试流程等多个方面进行深入分析,以及向开发者提供相关注意事项和建议。…

安防监控系统EasyCVR平台调用hls地址生成流的时间过长,该如何解决?

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台可拓展性强、…

Mybatis-Plus条件构造器QueryWrapper

Mybatis-Plus条件构造器QueryWrapper 1、条件构造器关系介绍 介绍 : 上图绿色框为抽象类 蓝色框为正常类,可创建对象 黄色箭头指向为父子类关系,箭头指向为父类 wapper介绍 : Wrapper : 条件构造抽象类&#xff0…

Portainer搭建使用

一、简介 Portainer是一个开源的容器管理平台,它为用户提供了一个直观且易于使用的图形用户界面(GUI),用于管理和监控容器化应用。以下是Portainer的一些主要功能: 容器管理:Portainer允许您轻松地创建、…

土木非科班转码测开,斩获10家大厂offer

大家好,我是洋子 24届秋招基本已经落下了帷幕,各大互联网大厂基本也开奖完毕,还没有拿到满意offer的同学也不要灰心,积极备战明年的春招。另外,25届想要找暑期实习的同学也可以开始准备起来了,基本大厂在春…

java基本类型等API 基本语法

目录 数组 字符 API java的逻辑表达是必须是布尔值,不能是整数 必须写上!0 java的两个对象判断时候回判断地址是否相等--例如两个字符串用equals 数组 字符串在编程中可以用来存储文本信息,而字符数组则只能用来存储字符 数组转为字符串Arrays.toString 字符…

Java绘图-第19章

Java绘图-第19章 1.Java绘图类 1.1Graphics类 Graphics类是用于绘制图形的抽象类,它是java.awt包中的一部分。Graphics类提供了各种方法,可以在图形上绘制各种形状、文本和图像。这些方法包括画线、画矩形、画椭圆、画弧、绘制图像等。 1.2Graphics2…

什么是3D建模中的“高模”和“低模”?

3D建模中什么是高多边形和低多边形? 高多边形建模和低多边形建模之间的主要区别正如其名称所暗示的那样:您是否在模型中使用大量多边形或少量多边形。 然而,在决定每个模型的细节和多边形级别时,还需要考虑其他事项。最值得注意的…

Python框架篇(1):FastApi-快速入门

1.介绍 前言: 不管学什么语言,都应该至少掌握一个框架,方面我们后续,进行服务部署、服务对外支持等; 1.1 官网介绍 下面是来自FastAPI官网的介绍: FastAPI 是一个用于构建 API 的现代、快速(高性能)的 web 框架&#…

Java设计模式-结构型模式-适配器模式

适配器模式 适配器模式应用场景案例类适配器模式对象适配器模式接口适配器模式适配器模式在源码中的使用 适配器模式 如图:国外插座标准和国内不同,要使用国内的充电器,就需要转接插头,转接插头就是起到适配器的作用 适配器模式&…

浪潮信息KeyarchOS迁移体验

浪潮KOS迁移体验 文章目录 浪潮KOS迁移体验摘要CentOS 停更KOS简介 体验流程第一步,CentOS 体验第二部,迁移操作体验迁移评估迁移实施 第三步,软件功能验证操作系统验证终端登录 总结改进建议 关键字: 浪潮、 KOS、 X2Keyarch、…

第十五届全国大学生数学竞赛初赛试卷解析

参加了此次比赛,收获很多,两个半小时让我体会到了很多,所以想做个总结 第十五届全国大学生数学竞赛初赛试题 (非数学A类,2023年) 下面是答案解析,有兴趣的小伙伴可以做完对照一下。 直接使用洛必…

wireshark 抓包工俱使用一

一、场景一 查询某个Http请求的请求数据和响应数据 请求示例如下(请求机器IP 172.20.2.164,目标地址:10.30.2.171) 过滤条件分析,请求协议http,请求数据和响应数据(http通信中请求和响应实际是两…

【Ubuntu】Ubuntu20.04下安装视频播放器vlc和录屏软件ssr

【Ubuntu】Ubuntu20.04下安装视频播放器vlc和录屏软件ssr 文章目录 【Ubuntu】Ubuntu20.04下安装视频播放器vlc和录屏软件ssr1. 安装视频播放器vlc2. 安装录屏软件ssr 1. 安装视频播放器vlc sudo apt-get install vlcvlc是一款比较简洁的视频播放器,如下所示 2. 安…

ASP.NET限流器的简单实现

一、滑动时间窗口 我为RateLimiter定义了如下这个简单的IRateLimiter接口,唯一的无参方法TryAcquire利用返回的布尔值确定当前是否超出设定的速率限制。我只提供的两种基于时间窗口的实现,如下所示的基于“滑动时间窗口”的实现类型SliddingWindowRateL…

【LeetCode刷题-滑动窗口】--1658.将x减到0的最小操作数

1658.将x减到0的最小操作数 思路与算法: 根据题目描述,在每一次操作中,可以移除数组nums最左边和最右边的元素,因此,在所有的操作完成后,数组nums的一个前缀以及一个后缀被移除,并且它们的和恰…

6.1810: Operating System Engineering <LEC 1>

课程链接:6.1810 / Fall 2023 一、本节任务 实验环境: 二、introduction and examples 2.1 open(), read(), write(), close(), dup() 使用 open 打开或创建文件,得到文件描述符 fd,再对 fd 进行 read 或者 write 操作。每个进…