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

用观测结点表示观测到的数据, 用隐含结点表示潜在的知识, 用边来描述知识与数据的相互关系, 最后基于这样的关系图获得一个概率分布 。
概率图中的节点分为隐含节点和观测节点, 边分为有向边和无向边。 从概率论的角度, 节点对应于随机变量, 边对应于随机变量的依赖或相关关系, 其中有向边表示单向的依赖, 无向边表示相互依赖关系。
概率图模型分为贝叶斯网络(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采用的是贝叶斯学派的思想, 认为待估计的参数(主题分布和词分布) 不再是一个固定的常数, 而是服从一定分布的随机变量。 这个分布符合一定的先验概率分布(即狄利克雷分布) , 并且在观察到样本信息之后, 可以对先验分布进行修正, 从而得到后验分布。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

点成方案丨使用细胞计数仪监控CAR-T细胞疗法的生产

一、概述 嵌合抗原受体(CAR)是经过改造后赋予T细胞靶向特定抗原的新能力的受体蛋白。这些受体是嵌合的,因为它们将抗原结合和T细胞激活功能结合到一个受体中。CAR-T细胞疗法使用经过CAR改造的T细胞来治疗癌症。CAR-T免疫疗法的前提是修改T细…

基于Genio 700 (MT8390)芯片的AR智能眼镜方案

AR眼镜是一种具有前所未有发展机遇的设备,无论是显示效果、体积还是功能都有明显的提升。AR技术因其智能、实时、三维、多重交互和开放世界的特点备受关注。 AR眼镜集成了AR技术、语音识别、智能控制等多项高科技功能,可以帮助用户实现更加便捷、高效、个…

智能导诊系统:基于机器学习和自然语言处理技术,可快速推荐合适的科室和医生

智能导诊系统是一种基于人工智能技术的新型系统,它能够为医院提供患者服务和管理,提高医院的管理效率和服务水平。 技术架构:springbootredismybatis plusmysqlRocketMQ 以下是智能导诊系统的应用场景和功能特点: 应用场景 1.患…

pg运维之checkpoint

How PostgreSQL writes data 在我们更详细地讨论检查点之前,了解PostgreSQL如何写数据是很重要的。让我们看一下下面的图片。 最重要的是,我们必须假设崩溃可能在任何时候发生。为什么会有这样的关系?嗯,我们要确保你的数据库永…

微信聚合聊天,自动回复

微信,这款融合通讯、社交、娱乐、小程序于一体的平台,已经深深融入我们的日常生活。作为我们日常生活中不可或缺的社交工具,尤其在工作中,我们需要通过微信来沟通客户,这个时候我们就会希望有快速回复客户的方式秒回客…

Shopee个人能入驻开店吗?Shopee一个站点可以开几个店铺?

Shopee允许每个用户在同一个站点上开设多个店铺,这为商家提供了更多的经营灵活性和选择。同时,Shopee也鼓励个人用户入驻开店,提供便捷的入驻方式和丰富的支持工具。下面来看看具体介绍。 shopee个人能入驻开店吗 与许多电子商务平台相比&a…

Linux C 编程入门 (GCC 和 Makefile的使用和编写)

Linux C 编程入门 在 Windows 下我们可以使用各种各样的 IDE 进行编程,比如强大的 Visual Studio。Ubuntu 下也有一些可以进行编程的工具,但是大多都只是编辑器,也就是只能进行代码编辑,如果要编译的话就需要用到 GCC 编译器&…

手机,蓝牙开发板,TTL/USB模块,电脑四者之间的通讯

一,意图 通过手机蓝牙连接WeMosD1R32开发板,开发板又通过TTL转USB与电脑连接.手机通过蓝牙控制开发板上的LED灯的开,关,闪等动作,在电脑上打开串口监视工具观察其状态.也可以通过电脑上的串口监视工具来控制开发板上LED灯的动作,而在手机蓝牙监测工具中显示灯的状态. 二,原料…

推荐一份适合所有人做的副业,尤其是程序员!

我建议每个人都去尝试一下网上接单,这是一个门槛低、类型多样的方式,尤其适合程序员! 在接单平台上,你可以看到各种类型的兼职。以freelancer为例,你可以在这里找到技术、设计、写作等类型的兼职,只要发挥…

MongoDB(一):CentOS7离线安装MongoDB单机版与简单使用

CentOS7离线安装MongoDB单机版与简单使用 1、概述2、安装社区版2.1、前置条件2.2、下载.tgz文件2.3、解压文件2.4、安装MongoDB Shell 3、运行MongoDB服务端3.1、关于ulimit3.2、目录设置3.3、创建mongod.conf3.4、运行MongoDB3.5、检查MongoDB是否已运行 4、使用MongoDB4.1、操…

算不上最全,但都是必备——Spring这些不会不行啊

Spring 篇 Spring框架中的单例bean是线程安全的吗? 不是线程安全的 Spring bean并没有可变的状态(比如Service类和DAO类),所以在某种程度上说Spring的单例bean是线程安全的。 Spring框架中有一个Scope注解,默认的值就是singleton&#xff0…

Java基础(第七期):Java面向对象和类 类的封装 Java构造器 JavaBean标准

Java基础专栏 Java基础(第七期) 面相对象 面向对象(Object-oriented)是一种编程思想和方法,它将程序的设计和组织建立在对象的概念上。在Java中,每个对象都是类的一个实例,而类定义了相同类型对…

博流BL602芯片 - 烧录配置

硬件介绍 淘宝上买的核心板,大概结构如上。 直接插入电脑usb,即可实现供电、下载(控制BOOT/EN)、串口通讯 固件包 1、环境配置 1.1串口 开发板使用了 CH340G 的 USB 转串口芯片,自行安装CH340串口驱动。 1.2编译环境…

mysql之搭建MMM架构实现高可用

实验目的 解决mysql的主从服务器单点故障问题,实现高可用 实验思路 实验条件: 主机名 作用 IP地址 组件 mysql1 master01 20.0.0.13 mysql服务、mysql-mmm mysql2 masert02 20.0.0.23 mysql服务、mysql-mmm mysql3 slave01 20.0.0.33 …

WorkPlus AI助理知识问答机器人,助力企业级私有化AI构建

ChatGPT以及其他大语言模型展现了令人惊叹的广博知识、语义理解能力与创造能力。它们能够在会话中承认自身错误并进行改正,还能进行一定程度的逻辑推理,具备多语种翻译与多语言编程等"超能力",可胜任多种自然语言处理任务。 然而&…

小黑完成了最后一节健身课,顺利完成了跳绳比赛,乘飞机到达南京准备第二天领物资和南京城内闲逛的leetcode之旅:215. 数组中的第K个最大元素

小黑代码 class Solution:def findKthLargest(self, nums: List[int], k: int) -> int:# 数组长度n len(nums)nums list(map(lambda x:-x, nums))q []for i in range(n):heapq.heappush(q, nums[i])# 出堆target -1for i in range(k):target heapq.heappop(q)return -…

【Python+selenium】自动化生成测试报告

批量执行完用例后,生成的测试报告是文本形式的,不够直观,为了更好的展示测试报告,最好是生成HTML格式的。 unittest里面是不能生成html格式报告的,需要导入一个第三方的模块:HTMLTestRunner 一、入HTMLTe…

jQuery 【关于jQuery 、 jQuery简介、基础选择器、属性选择器、jQuery扩展】(一)-全面详解(学习总结---从入门到深化)

目录 关于jQuery jQuery简介 选择器之基础选择器(一) 选择器之基础选择器(二) 选择器之属性选择器(一) 选择器之属性选择器(二) 选择器之jQuery扩展(一) 选择器之jQuery扩展(二) 关于jQuery 现在是否还需要学习jQuery,毫无疑问到目前为止,我们仍然…

CentOS to KeyarchOS 系统迁移体验

1. KOS(KeyarchOS)——云峦操作系统简介 KeyarchOS 即云峦操作系统(简称 KOS)是浪潮信息基于 Linux 内核、龙蜥等开源技术自主研发的一款服务器操作系统,支持x86、ARM 等主流架构处理器,广泛兼容传统 CentOS 生态产品和创新技术产品,可为用户…

【Docker】实现JMeter分布式压测

一个JMeter实例可能无法产生足够的负载来对你的应用程序进行压力测试。如本网站所示,一个JMeter实例将能够控制许多其他的远程JMeter实例,并对你的应用程序产生更大的负载。JMeter使用Java RMI[远程方法调用]来与分布式网络中的对象进行交互。JMeter主站…