Template Models
为了不对每一个问题都重复建立模型,而是对于一类模型使用一个统一的变量进行处理,我们提出了Template Model的概念,其是一种具有重复的结构以及共享参数的模型。从而使得模型的描述方式更加的紧凑,以便于可以使用更大的网络之中,主要由两个部分组成,分别是 Template Variables以及 Language.
所谓的Template Variable 是在图模型之中多次被使用的变量,比如说课程难度的变量是课程,智力的变量是学生,成绩的变量是课程与学生。这时候的课程与学生这两个变量就被重复使用了,因此是Template Variable.
Temporal Model
Temporal在时序上重复,自然与时间有关系,我们选定一个极小的时间片段$\Delta$,$X^{(t)}$指的是变量$X$在时间$t: \Delta$的这一个小小的时间区间内的值,而$X^{(t:t’)}$则是$t\leq t’$这个时间区间内的所有的$X^{(t)}$的集合。
我们最终想要得到的是,对于任意的$t,t’$,其从$t\to t’$的时间内,整个网络的联合概率分布,也就是$P(X^{t:t’})$,
而为了表达$P(X^{t:t’})$,我们引入马尔科夫假设。
Markov Assumption
Dynamic Bayesian Network
马尔科夫假设是在时间的基础上进行的,按照时间的变化,一步一步的对于模型之中的Variables进行更新,从本质上来说,就是模型的状态的不断的更新,对于任意的时候,我们都可以使用下面的一个公式来表示状态的转移,也就是 \textbf{Template Transition Model}.
$$P(X^{(t+1)}|X^{(t)}) = P(X’|X)$$
为了优化马尔科夫假设,我们现在使用多个状态来对于模型做更好的估计,现在举一个汽车位置检测的例子,对于对于汽车的位置检测,Weather取决于上一时刻的天气情况,Velocity取决于之前的天气和车的速度,Location取决于之前的位置和车的速度,Failure取决于天气是上一次是否正确检测到,Observation是检测的结果,取决里现在车所处的位置和是否成功检测到。做出图即
将模型写成条件概率的形式也就是
$$P(W’, V’,L’,F’,O’|W,V,L,F) $$
将其利用马尔科夫假设化简即有
$$P(W’|W)P(V’|W,V)P(L’|L,V) P(F’|F,W) P(O’|L’,F’) $$
在对于整个模型进行初始化的操作,也就是对于0时刻的模型做初始化,初始化的时候,就是一个简单的Bayesian网络:
- 节点包括了$X_1′,\cdots,X_n’$,以及其子集$X_1,\cdots,X_n$
- 只有节点$X_1′,\cdots,X_n’$有父节点和条件概率
$$P(X’|X) = \prod_{i=1}^{n}P(X_i’|Pa_{X_i’}) $$
Plate Model
Plate模型的出发点在于将 \textbf{整个模型之中会反复时候的部分独立出来},还是使用之前的学生成绩模型。班级之中的每一个学生的成绩肯定是独立的,并且在每一个学生的评定过程之中,假设仅仅是由Intelligence决定Grade,我们就可以将$I\to G$这一部分独立出来作为一个单独的部分,当然也会有其他的因素会对于其造成影响,但是其他的外部的因素都与Student无关。
如果将这个模型 \textbf{实例化},则是这样的模型结构.
上面是一种最简单的情况,如果将模型变得复杂一些,则引入另一个变量-课程的难度 :D.
还是对于学生成绩的评估,这里多加入了一个因素,就是课程的难度,每个学生要修很多门课,不同课程对于不同学生的影响也是独立的,在这个例子中,学生对于不同课程所要求的技能是不同的,学生技能在不同的课程中是相互独立的,例如学生1在美术上的能力强,在计算机方面的能力弱,也就是说学生在不同课程上的能力是相互独立的,而如果是对于相似的课程,所需要的能力一样的话,将intelligence作为courses c中的一部分是不对的,因此改进如下:
这样做就将intelligence只作为student的一部分,而不是作为courses的一部分,这样对于intelligence在不同课程中便是相互依赖的了。
Comments
Leave a Comment