论文阅读(二):理解概率图模型的两个要点:关于推理和学习的知识
1.论文链接:Essentials to Understand Probabilistic Graphical Models: A Tutorial about Inference and Learning
摘要:
本章的目的是为没有概率图形模型背景或没有深入背景的科学家提供一个高级教程。对于更熟悉这些模型的读者,本章将作为定义和一般方法的概要,供随意浏览。这一章是有意自成一体的,首先提醒人们注意一些基本的定义,如边缘独立和有条件独立的区别。然后,本章布里介绍了最流行的几类概率图模型:马尔可夫链、贝叶斯网络和马尔可夫随机域。接下来,在贝叶斯网络上下文中解释和说明概率推断。最后给出了参数学习和结构学习的方法。
关键词:概率图模型,贝叶斯网络,马尔可夫随机场,参数学习,结构学习,概率推理
背景:
本章的目的是为没有概率图形模型背景或没有深入背景的科学家提供一个高级教程。对于更熟悉这些模型的读者,本章将被用作定义和一般方法的纲要,可以随意浏览。
本章首先从提醒基本定义开始。特别是边缘独立性和条件独立性,利用概率图模型的关键概念之一之间的区别会详细解释。因子图和链图分别被描述为马尔可夫和贝叶斯网络的统一模型和扩展模型。
第2.4节专门讨论贝叶斯网络中的概率推理。作为介绍,三个主要的规范推理查询提到:证据的概率,最可能的解释,最大后验假设。然后,本节概述了用于推理的各种方法的基本原理和技术。精确的推理说明变量消除,消息传递算法,包括和产品算法(或信念传播),条件,和消息传播连接树。特别是,后一个主题引起了围绕图道德化,图三角剖分和连接树建设的发展。近似推理是通过循环和广义的信念传播,随机抽样和变分方法。三个标准的抽样方法适用于近似推理概述吉布斯抽样,大都会黑斯廷斯算法,和重要性抽样。重点放在重要性抽样和变分方法的机制。
2.5节讨论了贝叶斯网络类的参数和结构学习。首先,通过三种标准方法回顾了从完全数据中进行参数学习的过程:一种统计方法(似然最大化)和两种贝叶斯方法(最大后验估计和期望后验估计)。在不完全数据的情况下,描述了一个涉及标准期望最大化(EM)的通用框架。处理结构学习的方法可分为两类。基于约束的方法依赖于依赖性分析。在这一类别中,简短概述了IC和PC算法,并综述了相关概念(独立映射、依赖映射)。在第二类中,启发式策略的基石是使用可分解的和马尔可夫等价的分数。描述了这样的分数,其或者求助于信息论域或者贝叶斯范式。除了启发式搜索有向图的空间,这一节还提到了导航可替换搜索空间的方法;这样的空间是变量排序的空间(与标准K2算法相关)和由贪婪等价搜索方法导航的完全部分有向无环图的空间。为了将基于分数的算法的范围扩展到不完全数据,结构期望最大化提供了一个通用框架,其被解释为通过在每次移动时在参数上嵌入EM的结构空间爬山。最后对隐变量的特殊情况进行了分析。
第2.6节介绍了马尔可夫随机数类的参数和结构学习。在完整数据和一般无向图的情况下,这两个任务仍然比贝叶斯网络更具挑战性。迭代方法,如梯度下降和二阶方法是解决最大化可能性的解决方案。然而,导数的评估需要在马尔可夫网络中进行推理,这也是一个困难的任务,除了三角图。另一方面,通过使用伪似然,有效地规避了似然棘手性。相比之下,三角化图是易于处理的,因为它们表现出联合概率的特殊因子分解。在一般图的情况下,结构学习可以通过使用惩罚伪似然来处理。除了基于分数的算法之外,对优度度量和复杂度度量的凸逼近确保了全局最优值的获得。在这种情况下,说明了一个L1正则化技术。最后,三角图的情况下,表示一类属性来自图论状态如何建立现任图的邻居图,在本地搜索过程中。
在2.7节中,重点是因果网络,它们与贝叶斯网络的区别,以及用于学习其结构的策略。特别是,主动学习的两种模式-批量干预和顺序干预。最后,一个参考文献列表引导读者阅读几本关于概率图模型的著名书籍,以及更具体地关注推理或学习的书籍章节。
2.1 介绍
概率图模型(PGMs)为不确定性和独立性的表示和推理提供了一个定性框架。PGM的定性部分是变量之间的依赖关系的图形表示,例如,由有向无环图(DAG)、无向图(UG)或链图表示,即,可以具有有向和无向边但没有任何有向环的图。关于变量之间的定性依赖关系的不确定性知识是借助于称为参数的概率分布形式化的。参数代表模型的定量部分。在这一介绍性章节中,我们首先简要介绍了最流行的几种PGM,包括马尔可夫随机场(MRF)及其一些变体,贝叶斯网络(BN),一个由因子图类组成的统一模型,以及代表MRF和BN扩展的链图类。然后,我们展示了用于实现概率推理的各种机制,主要是在贝叶斯网络中。随后,我们概述了学习PGMs的突出策略。在大多数应用中,特别是在高维数据的情况下,很少有专家可以指定图形模型的图形结构。因此,不仅需要学习模型的参数,还需要学习图形结构和参数,这在对数据的忠实性和易处理性方面代表了一个艰巨的挑战。在模型学习的教程中,我们还提到了概率图模型依赖于潜变量或隐变量的情况。最后,我们用一个简短的部分来讨论BN和因果网络之间的区别。我们概述了用于学习因果结构的原则。
关于图形模型的文献是大量的。增加这一贡献的动力来自于公认的对介于经典调查和广泛汇编之间的文献的需要。前者的省略风格赋予读者更深的知识。详细的汇编并不是一个综合的观点。因此,我们提供本教程。
这篇文章中提到的参考文献必然代表了一种任意的选择,很大程度上受到作者个人观点和兴趣的影响。在下文中,除非另有明确说明,否则我们将把框架约束为离散随机变量。大写字母表示随机变量。将使用非大写字母表示观察结果。此外,为了简化符号,我们有时会把(对于true或1)和
(对于false or 0)分别表示为
和
。此外,为了简洁起见,我们有时会缩写
为
。
2.2 基本概念
在本节中,我们回顾了联合分布、边际分布和条件分布等基本概念,以及贝叶斯框架的基石元素。
定义2.1(联合分布、链式法则(或乘积法则)):
两个二元随机变量和
的联合(二元)分布定义了事件的概率
。这个概念推广到任意数量的随机变量
定义一个多变量分布。
链式法则提供了联合分布:
,这里
代表
取值的域
为了简便,我们仅仅这样写:
定义2.2(边际分布)
给定,有
,以及通过将
映射到
得到的随机变量集合
,
的联合分布就是
的边缘分布,通过在
中其他变量的域上对概率进行求和(“边缘化”)得到。被忽略的变量被称为被边缘化。
边缘化过程的表达式为:
因此,条件概率分布可以通过将联合分布除以一个(或多个)变量的边际分布来计算。
定义2.3(双变量情况下的条件分布)
性质2.1(边际分布和条件分布之间的关系)
图2.1和表2.1所示的例子说明了这些概念及其在三变量情况下的关系。
例如,边缘化和
得到:
这也可以利用在
,
,
,
条件下的四个条件分布来计算,分别用先验(即非条件)概率加权:
现在我们回想一下贝叶斯定理,它以最简单的形式将两个条件概率联系起来。
定义2.4(贝叶斯定理)
给定两个随机变量和
,假设
条件独立的概念对于概率图模型是基础性的。让我们首先回顾一下独立性的概念,也称为统计独立性或边缘独立性。
定义2.5(独立性(或边际独立性))
给定两个随机变量和
,
和
之间的独立性(记作
)定义为:
。不相等意味着两个变量是依赖的(
)。上述定义与独立性的直观概念之间的联系也可以通过条件概率的使用来表达。独立性的概念可以通过以下三个等价条件中的任何一个来重新表述,前提是
不等于 0 和 1(这两个值都对应于平凡情况):
这意味着,如果知道事件 发生或不发生,或者对
的发生没有了解,都不会影响事件
发生的概率,那么
和
是独立的。当
和
互换时,这种解释仍然成立。
结合表 2.2,并使用网格单元格,图 2.2说明了独立性意味着“ 在
中的比例”与“
在所有可能性中的比例”保持一致。从而突出了
对
没有影响。解释独立性的另一种方式是注意到
的概率分布对于
的所有值都是相同的,
的概率分布对于
的所有值也都是相同的:对其中一个变量的任何值进行条件化不会改变另一个变量的概率分布。表 2.3 强调了这一点。
定义2.6(条件独立性)
给定三个变量,
,
。
和
在给定
的状态下的条件独立性
定义为:
。当
时,等价于
。
需要注意的是,例如,上述定义中的第二个命题确实意味着以下内容:对于所有和
,当
(或者通过交换 A 和 B 对称地得到);也就是说,A 和 B 在给定 C 的条件下是条件独立的,当且仅当,给定 C 的任何值,A 的概率分布对于 B 的所有值都保持不变(这等价于说,给定 C 的任何值,B 的概率分布对于 A 的所有值都保持不变)。对于边际独立性,只需检查。由于这个问题高度受限,这个等式意味着其他三个等式也得到满足。不那么正式地说,A 和 B 在给定 C 的条件下是条件独立的,当且仅当,给定是否发生 C 的知识,知道 B 是否发生不会提供关于 A 发生概率的信息(这也意味着,对称地,知道 A 是否发生不会提供关于 B 发生概率的信息)。不满足所需约束条件意味着两个变量在给定 C 的条件下是条件相关的,记作
。
图 2.3 提供了一个图形说明。它通过建立由对于
对于
以及对于所有
所隐含的约束系统来构建,然后设置网格的表面(n=40)并固定最小数量的参数以解决约束系统。表 2.4 检查对称约束系统是否得到验证。
定义2.7(给定一组变量的条件独立性)
给定变量的一个子集,
和
在知道
的状态下的条件独立性(记作
定义为:
。不等式意味着在知道
(的状态)的情况下,两个变量是条件相关的,这记作
。
2.3各类概率图模型
在本节中,我们布里简单回顾了概率图模型的一些流行实例,即无向马尔可夫网络模型或马尔可夫随机数,贝叶斯网络类,以及统一的模型类,因子图和由链图组成的扩展模型。我们记得,我们限制到离散变量的情况。
2.3.1马尔可夫链和隐马尔可夫模型
2.3.2马尔科夫随机场
马尔可夫随机场(MRF)是一种概率图模型,其结构是一个无向图(UG)。必须注意的是,与贝叶斯网络相反,马尔可夫随机场允许循环依赖。另一方面,马尔可夫随机场不能代表贝叶斯网络可以编码的某些依赖,例如诱导依赖。
2.3.3马尔可夫随机场概念的变体
隐马尔可夫随机场
条件随机场
2.3.4贝叶斯网络
最流行的概率图模型之一是贝叶斯网络(BN)。BN在广泛的自动推理应用中发挥着核心作用,包括诊断,传感器验证,概率风险分析,信息融合和纠错码解码。BN的图形组件是有向无环图(DAG)。该DAG确定了联合概率分布的条件分解,从而大大简化了联合分布的计算。该属性减少了描述联合概率分布所需的参数数量。
表2.5概括了当以集合S为条件时,顶点C关闭或打开顶点A和B之间的路径的情况。
2.3.5统一模型和模型扩展
马尔可夫随机数和贝叶斯网络可以用因子图的统一类来表示。另一方面,链图类代表了马尔可夫随机数和贝叶斯网络的扩展。
因子图
基本上,因子图编码了一个可以分解为因子的全局函数[27,51]。例如,图2.6A所示的因子图表示函数的因子分解
链图
链图表示一类图形模型,包括马尔可夫网络和贝叶斯网络作为特殊情况。当变量之间既存在响应解释关系又存在对称关系时,链图是最合适的,而贝叶斯网络更特别地关注前一类关联,而马尔可夫随机场则专门解决后者。作为一个混合图,链图允许有向边和无向边;它的特征在于不存在半有向(或部分有向)圈(见图2.7)。
2.4概率推理
在本节中,我们概述了用于概率推理的各种机制,为了简洁起见,主要关注贝叶斯网络。然而,其中一些方法适用于贝叶斯网络和马尔可夫随机场的推理。推理是查询图形模型的任务。有三个标准的推理查询需要解决。
更复杂的查询可以从以前的查询中构建。贝叶斯网络的推理算法主要分为两种:精确和近似。精确推理查询通过边缘化不相关的变量来求值。一般来说,所需的全部求和是不容易处理的。PE的决策版本是PP-完全的,其中PP代表“概率多项式时间”:问题可以通过运行一个随机的多项式时间算法足够(但有界)的次数来解决到任何指定的准确度。MPE的决策版本是NP-完全的,这意味着它不能以任何已知的方式在多项式时间内求解。MAP的决策版本仍然更加困难。然而,可以开发出易处理的精确算法。
2.4.1精确推理
在这一节中,我们给出了可用于精确推理的各种方法。除非特别艾德,否则下面的方法可以解决贝叶斯网络中的推理问题。然而,贝叶斯网络和马尔可夫随机分布都可以用因子图表示。因此,两类图形模型可以共享用于推断的公共解决方案。
所有精确方法通过系统地利用贝叶斯网络图中编码的条件独立性来计算边缘概率。提出了两类精确方法。第一类方法通过沿着无环图的箭头传播消息来实现感兴趣概率的计算。这一类包括变量消除和树的消息传递,后来扩展到多树。多树是一种不允许无向环的有向无环图(DAG)。通过添加循环切割集条件,消息传递的原理被推广到图中。第二类方法通过道德化和三角剖分从原始图构建一个新结构—一个连接树;然后在这个图的新表示上应用一个适应的消息传播方案。
变量消除
在变量消去法中,由于联合概率分布的因式分解形式,边缘化过程中的一些步骤被简化:因式分解决定了连续边缘化(即消除)的变量的顺序[99,25,56]。这种边缘化相当于一系列当地产品和当地边缘化。消除变量的具体方法取决于手头的查询。特别是,如果目标是解决证据的概率,那么通过求和来消除变量。在MPE查询中,通过最大化变量来消除变量。为了求解MAP,需要执行两种类型的消除。我们用一个玩具例子来说明消除过程:
消息传递算法
条件
连接树中的消息传播
第二类方法依赖于连接树中的消息传播[56,41,72]。在这样的树中,节点是原始图中顶点的簇;因此这些方法被称为聚类方法。其中,消息传播依赖于势的概念以及将联合概率分布分解为集团和分隔符的势。第一步为原始图构建一个连接树,应用道德化,然后三角剖分。我们在下面定义这些概念。
2.4.2近似推理
最常见的近似推理算法有循环置信传播法、广义置信传播法、随机马尔可夫链蒙特卡罗模拟法和变分法等。
循环和广义置信传播
必须注意的是,和积算法也可以应用于具有循环的因子图,因为所有更新都是局部的。更一般地说,循环置信传播是指在包含循环(即无向循环)的BN上使用消息传递方案,例如众所周知的Pearl polytree算法[69]。由于这些循环,将导致没有自然终止的迭代算法,消息在给定的边缘上传递多次。虽然循环置信传播算法的结果不能被解释为精确的边际函数,但这种近似方案在诸如纠错码的主要应用中表现出惊人的性能[60]。直觉是,如果循环很长,那么循环的效果会随着消息的传播而逐渐消失:随着时间的推移,所有的消息都会趋于某种稳定的平衡。循环置信传播确保收敛的条件仍然没有得到很好的理解;例如,已知包含单个循环的图保证收敛,但获得的概率可能是不正确的[64,88]。
[92]中提出了广义置信传播,以科普一般图中的消息传递。简而言之,它表明,信念传播只能收敛到自由能函数的近似值的一个稳定点,在统计物理学中称为贝特自由能:即,边缘后验概率是信念传播算法的x点,当且仅当它们是贝特自由能梯度为零的点。广义置信传播版本是基于更精确的自由能近似(称为菊池近似)开发的[45]。这些新算法可以比原来的算法更准确,在用户可调的复杂性增加。
随机采样
一个突出的近似推理方法依赖于随机抽样方法,以及许多变体。其中,马尔可夫链蒙特卡罗(MCMC)方法被设计为通过构建具有期望分布作为其平衡分布的马尔可夫链来从感兴趣的概率分布进行采样。然后,在链运行大量步骤(老化阶段)之后,从链中进行采样,以近似变量之一或变量的某个子集的目标边际分布。吉布斯采样和Metropolis-Hastings算法是这类算法中最流行的[31]。重要性抽样代表了另一类方法。
Gibbs抽样
Metropolis-Hastings算法
重要抽样
变分方法
总之,联合概率分布的形式通过适当选择变分变换来简化艾德,从而简化了推理问题。此外,一些或所有变量(即,顶点)可以被变换,这导致两类变分方法,顺序方法和块方法。在序贯方法中,变量一次转换一个,顺序在推理过程中确定。这一顺序取决于证据的具体形式。然而,在某些情况下,提前确定要变换的变量可能是有利的:因此,当图中已知某些特殊的子结构时,块方法适用。
块的方法,它只转换一些变量,这意味着精确的方法被用作变分近似框架内的子程序。在该方案中,图的部分变换可以保持一些原始图形结构不变;或者可以引入新的图形结构,其支持精确推理方法的应用;或者可以考虑这两种方式。在有限的范围内使用变分近似,将图变换成可应用精确方法的简化艾德图是贝内的。这通常提供比不考虑易处理的子结构而变换整个图的算法更接近的边界。
图形模型中变分推理的变体有很多。广泛的文献参考,特别是开创性的作品,允许对这个问题进行更深入的研究(见[43,57,84,85]仅举几例)。有关完整的细节,工作的例子,以及其他推理策略的其他见解,读者可以参考[67]的汇编。
2.5贝叶斯网络学习
2.5.1参数学习
完整数据
不完整数据
2.5.2结构学习
本节专门讨论贝叶斯网络中的结构学习,组织如下。首先,我们提出了基于约束的方法,该方法基于数据中条件独立性的识别来学习结构。然后,我们处理基于分数的方法,浏览空间的结构,同时优化分数。下一小节布里伊提到了混合方法。第四,我们提到如何基于分数的方法可以适应处理不完整的数据。最后,一个小节讨论了使用潜变量学习贝叶斯网络的更具体的情况。
基于约束的算法
基于约束的算法执行统计测试来学习条件独立性。为了呈现这两个主要策略,我们需要以下定义:
基于分数的算法
理解使用等价分数导航DAG搜索空间的必要性是至关重要的。给定数据,唯一可以访问的知识是数据编码的条件依赖和独立集合。然而,一个给定的数据集,它提供了一个独特的条件依赖性和独立性,可以与几个DAG,都属于同一个马尔可夫等价类。在学习BN的结构时,没有理由对这些等效DAG候选者中的任何一个有利。因此,当通过评分函数评估时,这些候选DAG返回相同的值是至关重要的。特别是,这一基本原理解释了将贝叶斯狄利克雷(BD)分数(不是等效分数)重新转换为BDe分数(等效分数)的努力。明智地调整先验(尽管保持足够的通用性)是这种适应的关键。
与评分函数和邻域的定义一起,实现结构学习所需的第三个要素是搜索策略。为了防止标准局部搜索(或爬山)[36]的常见缺点,即陷入局部最优,迭代爬山从多个解开始搜索(随机重新开始)。或者,使用其他启发式搜索方法,例如模拟退火[36],禁忌搜索[8],遗传算法[54,90],可变邻域搜索[24],蚁群优化[22],贪婪随机自适应搜索程序(GRASP)[23]和分布估计算法[7]。
大多数学习算法使用DAG搜索空间。可能的替代方案包括浏览变量的排序空间,完成的PDAG空间(见定义2.26)或所谓的RPDAG空间(受限的PDAG)。在[24]和[53]中,主搜索过程探索变量的排序空间。然后,对于每个候选排序,评分函数评估通过在与该拓扑排序兼容的DAG的子空间中执行的二次搜索(通常为K2算法)获得的最佳贝叶斯网络。另一方面,提出了在马尔可夫等价空间中的贪婪搜索,以节省生成具有相等得分的结构所浪费的时间。[61]和[12]中的开创性工作为贪婪等价搜索(GES)奠定了基础,它只依赖于两个操作(在特定有效性条件下插入或删除弧),并由两个阶段组成。简而言之,第一个贪婪阶段迭代地增加完整的PDAG结构,直到达到局部最大值;对称地,第二个阶段简化完整的PDAG结构,直到达到局部最大值(参见例如[13])。同样,使用等效分数是必要的。
类似于完整的PDAG,RPDAG也允许在DAG的马尔可夫等价类中导航;然而,为了效率,两个不同的RPDAG可以表示相同的等价类(参见例如[1])。
混合方法
为了实现结构学习,有几种方法结合了联合收割机测试条件独立性和使用分数。例如,在[77]和[81]中,通过条件独立性测试产生拓扑排序;然后运行K2算法。在[91]中,运行在依赖性分析下游的算法是遗传算法。与之前的方案相比,其他方法进行启发式搜索,依赖于传统的基于约束的技术。在[21]中,该算法使用基于依赖分析的启发式搜索已完成的PDAG的空间;然后将每个PDAG转换为DAG,并用贝叶斯得分对其进行评分。
基于分数的算法在不完全数据中的应用
结构EM可以被解释为通过结构空间爬山,在DAG空间中的每次移动时将EM嵌入参数。[28]和[29]的开创性工作分别依赖于信息理论得分(BIC,MDL)和贝叶斯框架(贝叶斯得分)。另外,进化算法也被提出[65]。
EM算法提供了一个自然的框架来估计潜在变量。在这条线上,变分EM方法近似后验分布到更简单的,从而允许使用的边缘似然的下限。该方案通过保持潜变量和参数的后验分布来推广EM算法[4]。
潜变量
处理潜变量的问题是双重的:一个必须发现这些变量,一个必须调整它们的基数(在离散变量的情况下)。我们在上面提到,EM算法提供了一个自然的框架来估计潜在变量。这说明,结构EM为基础的计划是解决结构学习在这些条件下的一般答案。
此外,在潜在变量的情况下,对效率的追求可能迫使我们在贝叶斯网络的一个子类中处理学习任务。在这方面,潜在树模型(LTM)--以前被称为层次潜在类模型--受到了广泛的研究,这些研究始于[100]中的开创性工作。LTM的结构被限制到仅允许将潜在变量连接到其子节点的链路的层。此外,最常见的情况是,底层由所有观察到的变量组成,而且只由它们组成。在这种情况下,LTM的结构可以被解释为基于潜在类模型(LCM)的基本结构的分形拓扑(参见图2.9)。用于学习语言记忆的方法有两种类型:传统的基于搜索的方法和基于变量聚类的方法。在第一类中,提出了各种爬山方法来搜索规则LTM的空间。
为了搜索常规LTM的空间,可能的开始可以是LCM。探索给定LTM的邻域所涉及的操作包括添加或移除潜在顶点以及邻域重定位。互补操作旨在通过添加或删除给定潜在顶点的状态来优化潜在变量的基数。这些操作可以顺序或同时执行[11,97,98],允许在给定当前结构的情况下进行细粒度的探索。
有效的替代方案利用层次结构来开发基于变量聚类的上升构造策略。给定聚类中的所有变量本质上表示要创建的潜在变量的子变量。最简单的方法是处理二叉树的方法[33,39],也可能限制潜变量具有二元基数[39]。必须注意的是,在[39]中,基于二叉树的LTM可以用兄弟节点之间的连接来扩充。然而,二叉树并不总是容易解释的。它们也没有优化潜在变量的数量。为了放松这种结构约束,使用了几种策略:例如,从二叉树开始,相邻隐变量之间的成对独立性测试允许我们检测冗余,并因此消除两个邻居中的一个,并将其子女重新移植为另一个顶点变量的子女[87];其他学习算法构建层次结构的当前层,从前一层的观测变量或估算潜变量构建LCM:在[86]中,在递增构造的每一步,用两个子变量初始化的LCM通过贪婪添加其他变量来丰富,直到满足某个有效性标准;在[59]和[62]中,在每一步,为前一层的变量获得一个划分为集团的划分。每一个这样的集团组成对的依赖变量,代表尽可能多的候选人包含一个共同的潜在变量。在[63]中提供了对潜在树模型的全面调查。
2.6学习马尔可夫随机场
除了在三角马尔可夫随机ELDs的情况下,归一化常数的存在使得马尔可夫随机ELDs的学习任务变得棘手。关于参数学习,我们主要考虑完整数据的情况。我们首先为理解基于梯度的方法和二阶方法如何解决这个问题奠定基础,将其转换为无约束优化问题。或者,可以通过使用似然的近似(所谓的伪似然)来实现易处理的解决方案。最后,为了说明马尔可夫随机场中的结构学习,我们选择了一种基于分数的方法,该方法依赖于最小绝对收缩和选择算子(LASSO)技术。
2.6.1参数学习
完整数据
一般图
除了梯度和二阶方法,另一种选择是选择一个目标函数近似的联合概率,这是易于处理的,相反的可能性。所谓的伪似然度量为棘手性提供了一个简单的解决方案[6]。
三角化图
不完整数据
在不完全数据的情况下,似然性失去了凹度性质。至于贝叶斯网络,期望最大化仍然是万灵药,并将提供一个局部最大值。读者可以参考[10],例如,一个称为Gibbsian EM的过程将EM算法推广到马尔可夫随机域的环境中。
2.6.2结构学习
马尔可夫随机域(MRF)的结构学习问题已经引起了很多研究者的关注。对于贝叶斯网络,解决这一问题的方法是基于约束或基于评分。基于约束的方法使用相关性测试从数据中估计条件独立性,然后确定表示这些独立性的图[78]。为了给一个候选图打分,基于分数的方法联合收割机一个度量t的优度的度量和一个度量图的复杂度的度量。在标准的基于分数的方法中涉及的爬山过程由于可能的图的数量而使得问题是NP-难的,这在变量的数量上是超指数的。此外,MRF的结构学习必然包括参数估计,这对于一般的无向模型来说是一个非常复杂的任务。再次,伪似然性代表了开发基于有效分数的方法的基石,这些方法旨在浏览可能结构的空间。为了避免溢出,一个简单的方法是考虑将分数规则化,例如下面的类似MDL的分数:
块正则化在精神上与LASSO组相似[95]。Group LASSO通过对预测变量的某些特征的权重进行分组,在组级别上扩展了LASSO:然后,根据正则化参数,整个预测变量组可能会退出模型,从而导致组的稀疏选择。组LASSO对MRF结构学习的适应是双重的:(1)预测器的平方误差之和被替换为对对数似然的近似;以及(2)边缘的所有特征权重被分组。为了避免过度填充和密集连接的结构,使用块L1正则化优化对数似然
2.7因果网络
被动学习(即仅使用观察数据)只关注两个变量是否在统计上相关,这可以通过许多不同的潜在因果结构来解释。一个显著的例外是,因果网络中的所有 v-结构都可以从观察数据中发现。此外,已有多项工作致力于识别在仅考虑观察数据的情况下,可以可靠评估某些因果假设的条件[79, 70]。在主动学习框架中,干预数据允许我们通过对观察系统的扰动来推断因果关系[80]。形式上,对单个变量的干预可以通过插入一个额外的变量作为该变量的额外父节点来建模。
这种对网络的“手术”可能会打破贝叶斯网络之间的马尔可夫等价性。然而,除了在简单情况下,干预不太可能对识别真实因果结构最有效(最大效果意味着这种干预将允许我们区分马尔可夫等价类中的不同 DAG)。相反,通常通过随机实验,马尔可夫等价类 DAG 被顺序细化为一些更小的子类。然后可以在 PDAG的每个所谓的链组件中分别进行边的方向化,代表马尔可夫等价类。
参考文献
略
相关文章:
论文阅读(二):理解概率图模型的两个要点:关于推理和学习的知识
1.论文链接:Essentials to Understand Probabilistic Graphical Models: A Tutorial about Inference and Learning 摘要: 本章的目的是为没有概率图形模型背景或没有深入背景的科学家提供一个高级教程。对于更熟悉这些模型的读者,本章将作为…...
《OpenCV》——图像透视转换
图像透视转换简介 在 OpenCV 里,图像透视转换属于重要的几何变换,也被叫做投影变换。下面从原理、实现步骤、相关函数和应用场景几个方面为你详细介绍。 原理 实现步骤 选取对应点:要在源图像和目标图像上分别找出至少四个对应的点。这些对…...
【16届蓝桥杯寒假刷题营】第2期DAY4
【16届蓝桥杯寒假刷题营】第2期DAY4 - 蓝桥云课 问题描述 幼儿园小班的浩楠同学有一个序列 a。 他想知道有多少个整数三元组 (i,j,k) 满足 1≤i,j,k≤n 且 aiajak。 输入格式 共2行,第一行一个整数 n,表示序列的长度。 第二行 n 个整数&#x…...
用 HTML、CSS 和 JavaScript 实现抽奖转盘效果
顺序抽奖 前言 这段代码实现了一个简单的抽奖转盘效果。页面上有一个九宫格布局的抽奖区域,周围八个格子分别放置了不同的奖品名称,中间是一个 “开始抽奖” 的按钮。点击按钮后,抽奖区域的格子会快速滚动,颜色不断变化…...
【人工智能学习笔记 一】 AI分层架构、基本概念分类与产品技术架构
新的一年2025要对AI以及LLM有个强化的学习,所以第一篇先对整体有个大概的认知,一直分不清LLM和AI的关系,在整个体系里的位置,以及AIGC是什么东西,AI AGENT类似豆包等和大语言模型的具体关系是什么,整个AI的…...
windows10 配置使用json server作为图片服务器
步骤1:在vs code中安装json server, npm i -g json-server 注意:需要安装对应版本的json server,不然可能会报错,比如: npm i -g json-server 0.16.3 步骤2:出现如下报错: json-server 不是…...
【Elasticsearch 基础入门】Centos7下Elasticsearch 7.x安装与配置(单机)
Elasticsearch系列文章目录 【Elasticsearch 基础入门】一文带你了解Elasticsearch!!!【Elasticsearch 基础入门】Centos7下Elasticsearch 7.x安装与配置(单机) 目录 Elasticsearch系列文章目录前言单机模式1. 安装 J…...
【MySQL】语言连接
语言连接 一、下载二、mysql_get_client_info1、函数2、介绍3、示例 三、其他函数1、mysql_init2、mysql_real_connect3、mysql_query4、mysql_store_result5、mysql_free_result6、mysql_num_fields7、mysql_num_rows8、mysql_fetch_fields9、mysql_fetch_row10、mysql_close …...
【零拷贝】
目录 一:了解IO基础概念 二:数据流动的层次结构 三:零拷贝 1.传统IO文件读写 2.mmap 零拷贝技术 3.sendFile 零拷贝技术 一:了解IO基础概念 理解CPU拷贝和DMA拷贝 我们知道,操作系统对于内存空间&…...
四、GPIO中断实现按键功能
4.1 GPIO简介 输入输出(I/O)是一个非常重要的概念。I/O泛指所有类型的输入输出端口,包括单向的端口如逻辑门电路的输入输出管脚和双向的GPIO端口。而GPIO(General-Purpose Input/Output)则是一个常见的术语,…...
qt-Quick3D笔记之官方例程Runtimeloader Example运行笔记
qt-Quick3D笔记之官方例程Runtimeloader Example运行笔记 文章目录 qt-Quick3D笔记之官方例程Runtimeloader Example运行笔记1.例程运行效果2.例程缩略图3.项目文件列表4.main.qml5.main.cpp6.CMakeLists.txt 1.例程运行效果 运行该项目需要自己准备一个模型文件 2.例程缩略图…...
IM 即时通讯系统-01-概览
前言 有时候希望有一个 IM 工具,比如日常聊天,或者接受报警信息。 其实主要是工作使用,如果是接收报警等场景,其实DD这种比较符合场景。 那么有没有必要再创造一个DD呢? 答案是如果处于个人的私有化使用࿰…...
二叉树——429,515,116
今天继续做关于二叉树层序遍历的相关题目,一共有三道题,思路都借鉴于最基础的二叉树的层序遍历。 LeetCode429.N叉树的层序遍历 这道题不再是二叉树了,变成了N叉树,也就是该树每一个节点的子节点数量不确定,可能为2&a…...
Baklib构建高效协同的基于云的内容中台解决方案
内容概要 随着云计算技术的飞速发展,内容管理的方式也在不断演变。企业面临着如何在数字化转型过程中高效管理和协同处理内容的新挑战。为应对这些挑战,引入基于云的内容中台解决方案显得尤为重要。 Baklib作为创新型解决方案提供商,致力于…...
MP4基础
一、什么是MP4? MP4是一套用于音频、视频信息的压缩编码标准,由国际标准化组织(ISO)和国际电工委员会(IEC)下属的“动态图像专家组”(Moving Picture Experts Group,即MPEGÿ…...
年化18%-39.3%的策略集 | backtrader通过xtquant连接qmt实战
原创内容第785篇,专注量化投资、个人成长与财富自由。 大年初五,年很快就过完了。 其实就是本身也只是休假一周,但是我们赋予了它太多意义。 周五咱们发布发aitrader v4.1,带了backtraderctp期货的实盘接口: aitra…...
通过Redisson构建延时队列并实现注解式消费
目录 一、序言二、延迟队列实现1、Redisson延时消息监听注解和消息体2、Redisson延时消息发布器3、Redisson延时消息监听处理器 三、测试用例四、结语 一、序言 两个月前接了一个4万的私活,做一个线上商城小程序,在交易过程中不可避免的一个问题就是用户…...
RAG是否被取代(缓存增强生成-CAG)吗?
引言: 本文深入研究一种名为缓存增强生成(CAG)的新技术如何工作并减少/消除检索增强生成(RAG)弱点和瓶颈。 LLMs 可以根据输入给他的信息给出对应的输出,但是这样的工作方式很快就不能满足应用的需要: 因…...
MiniMax:人工智能领域的创新先锋
MiniMax:人工智能领域的创新先锋 在人工智能领域,MiniMax正以其强大的技术实力和创新的模型架构,成为全球关注的焦点。作为一家成立于2021年12月的通用人工智能科技公司,MiniMax专注于开发多模态、万亿参数的MoE(Mixt…...
pytorch基于GloVe实现的词嵌入
PyTorch 实现 GloVe(Global Vectors for Word Representation) 的完整代码,使用 中文语料 进行训练,包括 共现矩阵构建、模型定义、训练和测试。 1. GloVe 介绍 基于词的共现信息(不像 Word2Vec 使用滑动窗口预测&…...
Unity实现按键设置功能代码
一、前言 最近在学习unity2D,想做一个横版过关游戏,需要按键设置功能,让用户可以自定义方向键与攻击键等。 自己写了一个,总结如下。 二、界面效果图 这个是一个csv文件,准备第一列是中文按键说明,第二列…...
C++ 入门速通-第3章【黑马】
内容来源于:黑马 集成开发环境:CLion 先前学习完了C第1章的内容: C 入门速通-第1章【黑马】-CSDN博客 C 入门速通-第2章【黑马】-CSDN博客 下面继续学习第3章: 数组: 字符数组: 多维数组: …...
JavaScript 中的 CSS 与页面响应式设计
JavaScript 中的 CSS 与页面响应式设计 JavaScript 中的 CSS 与页面响应式设计1. 引言2. JavaScript 与 CSS 的基本概念2.1 CSS 的作用2.2 JavaScript 的作用3. 动态控制样式:JavaScript 修改 CSS 的方法3.1 使用 `document.styleSheets` API3.2 使用 `classList` 修改类3.3 使…...
100.3 AI量化面试题:解释配对交易(Pairs Trading)的原理,并说明如何选择配对股票以及设计交易信号
目录 0. 承前1. 配对交易基本原理1.1 什么是配对交易1.2 基本假设 2. 配对选择方法2.1 相关性分析2.2 协整性检验 3. 价差计算方法3.1 简单价格比率3.2 回归系数法 4. 交易信号设计4.1 标准差方法4.2 动态阈值方法 5. 风险管理5.1 止损设计5.2 仓位管理 6. 策略评估6.1 回测框架…...
[SAP ABAP] Debug Skill
SAP ABAP Debug相关资料 [SAP ABAP] DEBUG ABAP程序中的循环语句 [SAP ABAP] 静态断点的使用 [SAP ABAP] 在ABAP Debugger调试器中设置断点 [SAP ABAP] SE11 / SE16N 修改标准表(慎用)...
WSL2中安装的ubuntu开启与关闭探讨
1. PC开机后,查询wsl状态 在cmd或者powersell中输入 wsl -l -vNAME STATE VERSION * Ubuntu Stopped 22. 从windows访问WSL2 wsl -l -vNAME STATE VERSION * Ubuntu Stopped 23. 在ubuntu中打开一个工作区后…...
走向基于大语言模型的新一代推荐系统:综述与展望
HightLight 论文题目:Towards Next-Generation LLM-based Recommender Systems: A Survey and Beyond作者机构:吉林大学、香港理工大学、悉尼科技大学、Meta AI论文地址: https://arxiv.org/abs/2410.1974 基于大语言模型的下一代推荐系统&…...
【深度分析】DeepSeek 遭暴力破解,攻击 IP 均来自美国,造成影响有多大?有哪些好的防御措施?
技术铁幕下的暗战:当算力博弈演变为代码战争 一场针对中国AI独角兽的全球首例国家级密码爆破,揭开了数字时代技术博弈的残酷真相。DeepSeek服务器日志中持续跳动的美国IP地址,不仅是网络攻击的地理坐标,更是技术霸权对新兴挑战者的…...
双指针算法思想——OJ例题扩展算法解析思路
大家好!上一期我发布了关于双指针的OJ平台上的典型例题思路解析,基于上一期的内容,我们这一期从其中内容扩展出来相似例题进行剖析和运用,一起来试一下吧! 目录 一、 基于移动零的举一反三 题一:27. 移除…...
初始Linux(7):认识进程(下)
1. 进程优先级 cpu 资源分配的先后顺序,就是指进程的优先权( priority )。 优先权高的进程有优先执行权利。配置进程优先权对多任务环境的 linux 很有用,可以改善系统性能。 还可以把进程运行到指定的CPU 上,这样一来…...
人工智能第2章-知识点与学习笔记
结合教材2.1节,阐述什么是知识、知识的特性,以及知识的表示。人工智能最早应用的两种逻辑是什么?阐述你对这两种逻辑表示的内涵理解。什么谓词,什么是谓词逻辑,什么是谓词公式。谈谈你对谓词逻辑中的量词的理解。阐述谓词公式的解…...
Kotlin 协程 与 Java 虚拟线程对比测试(娱乐性质,请勿严谨看待本次测试)
起因 昨天在群里聊到虚拟线程的执行效率问题的时候虽然最后的结论是虚拟线程在针对IO密集型任务时具有很大的优势。但是讨论到虚拟线程和Kotlin 的协程的优势对比的话,这时候所有人都沉默了。所以有了本次的测试 提前声明:本次测试是不严谨的࿰…...
C++中的拷贝构造器(Copy Constructor)
在C中,拷贝构造器(Copy Constructor)是一种特殊的构造函数,用于创建一个新对象,该对象是另一个同类型对象的副本。当使用一个已存在的对象来初始化一个新对象时,拷贝构造器会被调用。 拷贝构造器的定义 拷…...
Spring Boot项目如何使用MyBatis实现分页查询
写在前面:大家好!我是晴空๓。如果博客中有不足或者的错误的地方欢迎在评论区或者私信我指正,感谢大家的不吝赐教。我的唯一博客更新地址是:https://ac-fun.blog.csdn.net/。非常感谢大家的支持。一起加油,冲鸭&#x…...
独立开发经验谈:如何借助 AI 辅助产品 UI 设计
我在业余时间开发了一款自己的独立产品:升讯威在线客服与营销系统。陆陆续续开发了几年,从一开始的偶有用户尝试,到如今线上环境和私有化部署均有了越来越多的稳定用户,在这个过程中,我也积累了不少如何开发运营一款独…...
笔灵ai写作技术浅析(三):深度学习
笔灵AI写作的深度学习技术主要基于Transformer架构,尤其是GPT(Generative Pre-trained Transformer)系列模型。 1. Transformer架构 Transformer架构由Vaswani等人在2017年提出,是GPT系列模型的基础。它摒弃了传统的循环神经网络(RNN)和卷积神经网络(CNN),完全依赖自…...
https数字签名手动验签
以bing.com 为例 1. CA 层级的基本概念 CA 层级是一种树状结构,由多个层级的 CA 组成。每个 CA 负责为其下一层级的实体(如子 CA 或终端实体)颁发证书。层级结构的顶端是 根 CA(Root CA),它是整个 PKI 体…...
为什么LabVIEW适合软硬件结合的项目?
LabVIEW是一种基于图形化编程的开发平台,广泛应用于软硬件结合的项目中。其强大的硬件接口支持、实时数据采集能力、并行处理能力和直观的用户界面,使得它成为工业控制、仪器仪表、自动化测试等领域中软硬件系统集成的理想选择。LabVIEW的设计哲学强调模…...
C# 操作符重载对象详解
.NET学习资料 .NET学习资料 .NET学习资料 一、操作符重载的概念 在 C# 中,操作符重载允许我们为自定义的类或结构体定义操作符的行为。通常,我们熟悉的操作符,如加法()、减法(-)、乘法&#…...
git:恢复纯版本库
初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 源码指引:github源…...
java异常处理——try catch finally
单个异常处理 1.当try里的代码发生了catch里指定类型的异常之后,才会执行catch里的代码,程序正常执行到结尾 2.如果try里的代码发生了非catch指定类型的异常,则会强制停止程序,报错 3.finally修饰的代码一定会执行,除…...
【架构面试】二、消息队列和MySQL和Redis
MQ MQ消息中间件 问题引出与MQ作用 常见面试问题:面试官常针对项目中使用MQ技术的候选人提问,如如何确保消息不丢失,该问题可考察候选人技术能力。MQ应用场景及作用:以京东系统下单扣减京豆为例,MQ用于交易服和京豆服…...
A4988一款常用的步进电机驱动芯片
A4988 是一款常用的步进电机驱动芯片,广泛应用于 3D 打印机、CNC 机床和小型自动化设备中。它可以驱动多种类型的步进电机,但需要根据电机的参数(如电压、电流、相数等)进行合理配置。 一、A4988 的主要特性 驱动能力:…...
TypeScript语言的语法糖
TypeScript语言的语法糖 TypeScript作为一种由微软开发的开源编程语言,它在JavaScript的基础上添加了一些强类型的特性,使得开发者能够更好地进行大型应用程序的构建和维护。在TypeScript中,不仅包含了静态类型、接口、枚举等强大的特性&…...
A星算法两元障碍物矩阵转化为rrt算法四元障碍物矩阵
对于a星算法obstacle所表示的障碍物障碍物信息,每行表示一个障碍物的坐标,例如2 , 3; % 第一个障碍物在第二行第三列,也就是边长为1的正方形障碍物右上角横坐标是2,纵坐标为3,障碍物的宽度和高度始终为1.在rrt路径规划…...
什么情况下,C#需要手动进行资源分配和释放?什么又是非托管资源?
扩展:如何使用C#的using语句释放资源?什么是IDisposable接口?与垃圾回收有什么关系?-CSDN博客 托管资源的回收有GC自动触发,而非托管资源需要手动释放。 在 C# 中,非托管资源是指那些不由 CLR(…...
【最长上升子序列Ⅱ——树状数组,二分+DP,纯DP】
题目 代码(只给出树状数组的) #include <bits/stdc.h> using namespace std; const int N 1e510; int n, m; int a[N], b[N], f[N], tr[N]; //f[i]表示以a[i]为尾的LIS的最大长度 void init() {sort(b1, bn1);m unique(b1, bn1) - b - 1;for(in…...
day37|完全背包基础+leetcode 518.零钱兑换II ,377.组合总和II
完全背包理论基础 完全背包与01背包的不同在于01背包的不同物品每个都只可以使用一次,但是完全背包的不同物品可以使用无数次 在01背包理论基础中,为了使得物品只被使用一次,我们采取倒序遍历来控制 回顾:>> for(int j …...
【VM】VirtualBox安装ubuntu22.04虚拟机
阅读本文之前,请先根据 安装virtualbox 教程安装virtulbox虚拟机软件。 1.下载Ubuntu系统镜像 打开阿里云的镜像站点:https://developer.aliyun.com/mirror/ 找到如图所示位置,选择Ubuntu 22.04.3(destop-amd64)系统 Ubuntu 22.04.3(desto…...
Qt事件处理:理解处理器、过滤器与事件系统
1. 事件 事件 是一个描述应用程序中、发生的某些事情的对象。 在 Qt 中,所有事件都继承自 QEvent ,并且每个事件都有特定的标识符,如:Qt::MouseButtonPress 代表鼠标按下事件。 每个事件对象包含该事件的所有相关信息ÿ…...