• 4、概率图模型:Template Modles


      本章总结几个模板模型:动态贝叶斯、隐马尔科夫和Plate模型

    1 OverView of Template Models

      为了达到不用每一都对问题建立模型,而是每次都对某一类问题有一个统一的模型进行处理,而提出了模板模型。模板模型(template model)编码了具有重复结构共享参数的模型。从而使图模型的描述方式更加的紧凑,可以应用于无限大的贝叶斯网络。主要包括模板变量(Template variables)语言(language)。

      模板变量(Template variables)是图模型中多次被实例化的变量;模版模型语言(language)描述了模版变量如何从模版中继承依赖关系。典型的Template Models可以分为两类:

      1)时序过程上的重复(Temporal Models): 动态贝叶斯模型(DBN)、隐马尔科夫模型(HMM) 
      2)对象关系上的重复(Plate Models): 有向或无向

    2 DBNs 动态贝叶斯网络(时序模型)

      对于一个贝叶斯网络,可能在下一时刻,模型中的variables不仅仅依赖于当前时刻的其他variables,还可能依赖于上一个时刻的variables,整个模型内variables的变化是动态的,因此要将时间这一个因素考虑进去,并且当前时刻的variables中的values,会被下一个时刻的values所替代,因此整个variables没有变化,变化的是里面的values,这也是一种Template Model。

    2.1 轨迹(Trajectory

      表示的是在时间点 t 时,系统的状态变量(Template variables)集 X 。

      如课程中所描述,我们最终想要得到的是,从最开始的时刻到现在的时刻,整个网络的联合概率分布。是基于时间上的描述,定义了上面的几个变量,将整个时间段划分成为许多个时间碎片(time slice),每个时间碎片用 Δ  来表示,则表示时间点,X(t)表示的则是在当前时间点到下一时间点期间的 Δ 时间内的 variables。 X(t:t')则表示在 t 到 t' 时间段内所有variables的集合。最终要求的便是 P(x(0:t'))。一般有以下两种方法:马尔科夫假设和转移模型

    2.2 马尔科夫假设

      这是一个无限分布的网络,可以将每一个时间节点 t 时刻的所有variables想象成大的贝叶斯网络的一个variable,根据之前的链式法则,可以得到下面第一行的公式,得到 P(x(0:T)的概率分布。

      马尔科夫假设:假设在给定现在的条件下,未来与过去独立。也被叫做遗忘假设(forgeting assumption),当知道了当前的状态之后,就不在乎之前的所有状态。这样,就可以得到下图中最后一行的公式。

      但是现在这种假设并不是完全正确的,比如对于机器人位置的估计模型,机器人下一次的位置只是与当前的位置有关,与其他因素没有关系。这显然是不对的,下一次的位置不只是与当前的位置有关,还与速度矢量有关,因此解决这个问题,可以添加状态,添加大的variables,例如添加速度矢量,每一次估计下一个位置的时候,与当前的位置和速度矢量都有关。

      满足 Markov Assumption 的系统为 Markov System.

    2.3 时间不变性-转移模型

      前面的马尔科夫假设是在时间的基础上进行的,按照时间的推进,一步一步更新模型中的Variables,那么其从本质上来说就是模型状态的不断转移,对于任意时刻,都可以用下面的公式来表达状态的转移。这便是模板转移模型(template transition model)。

      为了改正上面马尔科夫假设的一些不稳定性因素,会加入多个状态 X,Y,Z 等等来对整个模型做更好的估计。

      下面是一个例子,是关于对汽车检测的例子,对于汽车的位置检测,Weather取决于上一时刻的天气情况,Velocity取决于之前的天气和车的速度,Location取决于之前的位置和车的速度,Failure取决于天气是上一次是否正确检测到,Observation是检测的结果,取决里现在车所处的位置和是否成功检测到。可以将这个模型写成条件概率的形式,如下图右边。

      当然还要对整个模型进行初始化的操作,要对0时刻时的模型做初始化,初始化的时候,便是一个简单的Bayesian网络:

      一层一层的循环下去,便可以得到一个动态的Bayesian网络:

    2.4 2-time-slice Bayesian网络

      将上面的情况总结下来,就是转换模型(trainsition model 2TBN)。

      ——节点包括 X1', X2', ..., Xn',和 X1, X2, ..., Xn,X' 取决于 X。

      ——只有节点X1', X2', ..., Xn'有父节点和条件概率。

      整个模型的表达式可以写成:

      以上便是动态贝叶斯的描述。

    3 隐马尔科夫模型(Hidden Markov Models——HMMs)

       隐马尔科夫模型可以看做是动态贝叶斯的子类。

      从上面例子中的状态-观测模型引出隐马尔可夫模型(Hidden Markov Model),即观测就在其单独过程中发生的观测,系统可以视为关于其自身的自然进化。它基于两个独立性假设:

    • 状态变量以马尔可夫方式进化,故满足马尔可夫假设 (X(t+1)X(0:(t1))|X(t))
    • 给定时刻 t 的状态时,此时观测变量与整个状态序列独立:(O(t)X(0:(t1)),X(t+1:)|X(t)).

       所以可以认为概率模型由两部分组成:转移模型 P(X|X) 和观测模型 P(O|X)。即为上面例子中的两个部分。

      隐马尔科夫网络有很多的应用如:

    • Robot localization
    • Speech recognition
    • Biological sequence analysis
    • Text annotation

    4 Plate模型

      Plate模型的出发点在于,将整个模型中会反复用的部分独立出来,例如对一个班级的所有学生的课程学习情况做评估,如下图所示,那么对于每个学生之间,肯定是独立的,并且每个学生的评定中,都是Intelligence决定Grade(最简单的例子),那么我们就可以把 Intelligence->Grade 这一部分独立出来作为单独的一部分,当然还可能有其他因素对其影响,但是其他外部的因素都不属于Student的一部分。这很像是在编程中对于类的封装,一个类中的所有变量是他自己独有的元素,如果外部程序想要对这些变量进行操作,只能通过类的对象来使用,这里用的也是相同的思想,将结构封装起来。

      再举一个例子,如下图所示:

      还是对于学生成绩的评估,这里多加入了一个因素,就是课程的难度,每个学生要修很多门课,不同课程对于不同学生的影响也是独立的,因此便出现了上图的封装,下面两个model表示的则是课程1对学生1、2的影响课程2对学生1、2的影响,这样用plate的方式进行表达有普遍性。在这个例子中,学生对于不同课程所要求的技能是不同的,学生技能在不同的课程中是相互独立的,例如学生1在美术上的能力强,在计算机方面的能力弱,也就是说学生在不同课程上的能力是相互独立的,而如果是对于相似的课程,所需要的能力一样的话,将intelligence作为courses c中的一部分是不对的,因此改进如下:

      这样做就将intelligence只作为student的一部分,而不是作为courses的一部分,这样对于intelligence在不同课程中便是相互依赖的了。

      更普遍的说法来说就是:

      其中U1,U2,...,Um表示的是不同的variables,例如上面说的Intelligence、Difficulty等等,而A(U1,...,UK)表示的则是上面提到的G(I1,D1)一样。

  • 相关阅读:
    reset password for local admin on Windows2016 by Powershell
    解决AOP嵌套失效的问题
    在SpringBoot中使用Docker(利用dockerfile-maven-plugin插件)
    Docker启动的问题解决笔记
    SpringBoot中各配置文件的优先级及加载顺序
    【转】SpringBoot启动服务的三种方式
    【转】详解springboot-修改内置tomcat版本
    Unable to start web server; nested exception is org.springframework.context.ApplicationContextException: Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean.
    SpringCloud搭建Eureka集群
    SpringCloud警告(Eureka):EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT. RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEING EXPIRED JUST TO BE SAFE.
  • 原文地址:https://www.cnblogs.com/yangrenzhi/p/7499392.html
Copyright © 2020-2023  润新知