大师兄的贝叶斯网络学习笔记(十二):贝叶斯网络(七)

大师兄的贝叶斯网络学习笔记(十一):贝叶斯网络(六)

五、贝叶斯网络的应用

1. 机器学习
  • 机器学习是人工智能的一个子领域,它研究的是怎样让计算机模拟实现人的学习行为,从经验数据出发,通过学习不断提高自己完成某项任务的能力。
  • 分类(classification)聚类(clustering)是机器学习中的两个主要问题:
  • 分类是从一系列给定类别信息的数据出发,为下一个位置类别的数据归类。
  • 聚类是从一系列未知类别信息的数据出发,分析它们可以聚成几类,以及哪些数据属于哪一类。
  • 常见的分类模型包括朴素贝叶斯模型和TAN模型。
1.1 朴素贝叶斯模型
  • 朴素贝叶斯模型(naive Bayes model)又称为朴素贝叶斯分类器(naive Bayes classifier),是一个包含一个根节点,多个叶结点的树状贝叶斯网络。
  • 如图所示:
  • 其中叶结点A_1,...,A_n是属性变量,描述待分类对象的属性。
  • 根节点C是类别变量,描述对象的类别。
  • 用朴素贝叶斯模型进行分类就是给定一个数据点,即各属性变量的取值A_1=a,...,A_n=a_n,计算后验分布P(C|A_1=a_1,...,A_n=a_n),然后选择概率最大的那个C值作为这个数据点所属的类别。
  • 在医疗诊断中,C代表一系列疾病,A_1,...,A_n代表这些疾病可能导致的症状,诊断就是根据症状来确定疾病。
  • 朴素贝叶斯模型包含了一个所谓的局部独立(local independence)假设,即给定类别变量C,各属性变量A_i相互条件独立。
  • 这意味联合概率分布满足:P(C,A_1,...,A_n) = P(C)\prod^n_{i=1}P(A_i|C)
  • 朴素贝叶斯模型最早由Warner等提出,用于先天性心脏病的诊断,其主要优点是结构简单,计算复杂度低。
  • 尽管它所采用的局部独立假设显然过于理想化,但实现数据显示,其性能和其他常见的分类器不相上下。
1.2 TAN模型
  • 朴素贝叶斯模型中的局部独立假设在实际中往往不成立。
  • 为使模型更符合实际,可以在其中的各叶节点之间增加一些必要的边,以表示各属性之间的依赖关系。
  • 如果规定属性变量之间的关系成树状结构,那么模型就成为加树贝叶斯模型(tree augmented naive Bayes model),简称TAN模型。


  • TAN模型的联合概率分布为:P(C,A_1,...,A_n)=P(C)\prod^n_{i=1}P(A_i|\pi(A_i))
  • 这里的属性变量A_i的父节点\pi(A_i)不仅包括类别变量C,也可能包括其它属性变量。
  • 相比之下,在朴素贝叶斯模型中\pi(A_i)只包括C, 这说明,TAN模型不再要求局部独立假设成立。
  • 研究表明,TAN模型的分类效果往往比朴素贝叶斯要好。
2. 时序数据和动态模型
  • 实际中的许多随机现象都涉及一些随机时间变化的随机变量,如植物的生长、语音的产生以及连续变化的视觉图像等。
  • 为了能够对此类动态时变随机过程进行表达和推理,人们引入了动态贝叶斯网络(dynamic Bayesian networks,DBN)的概念。
  • 一个动态贝叶斯网络可以定义为(\beta_0,\beta_→),其中\beta_0是一个标准贝叶斯网络,定义了初始时刻的概率分布P(Z_0)\beta_→是一个包含两个时间片的贝叶斯网,定义了两个相邻时间片的各变量之间的条件分布,即P(Z_t|Z_{t-1}=\prod^N_{i=1}P(Z^i_t|\pi(Z^i_{t})))
  • 其中Z^i_t是位于时间t时的节点i
  • \pi(Z^i_t)Z^i_t的父节点。
  • \beta_→中前一个时间片中的节点可以不给出参数,第二个时间片中的每个节点都有一个条件概率分布P(Z^i_t|\pi(Z^i_{t})),t>0
  • 节点Z^i_t的父节点\pi(Z^i_t)可以在同一时间片内,也可以在前一时间片内。
  • 位于同一时间片内的边可以理解为瞬时作用,而跨越时间片的边可以理解为时变作用,反映了时间的流逝。


  • 图中所示的是一个动态贝叶斯网络:
  • 其中a是\beta_0,定义了初始时刻的分布P(Z_0)
  • b是\beta_→,定义了两相邻时间片之间的条件概率P(Z_t|Z_{t-1}),每个时间片包含3个节点。
  • 动态贝叶斯包含两个假设:
  • 一阶马尔科夫假设,即各节点之间的边或者位于同一时间片内,或者位于相邻时间片之间,不能跨越时间片。
  • 时齐性,即\beta_→中的参数不随时间变化。
  • 根据初始分布和相邻时间片之间的条件分布,可以将动态贝叶斯网络展开到第T个时间片,结果得到一个跨越多个时间片的联合概率分布:P(Z_o:T) = \prod^T_{t=1}\prod^N_{i=1}P(Z^i_t|\pi(Z^i_t))
  • 以下是两个动态贝叶斯网络的特例:
2.1 隐马尔科夫模型
  • 隐马尔科夫模型(HMM)是一个简单的时间序列模型,它的每个时间片由一个隐状态变量X_t和一个观测变量Y_t组成,它们都是离散变量。
  • 隐马尔科夫模型的名字正好反映了它的两个特质:
  • 首先,它假设时刻t时的观测值是由某个其状态隐藏的过程产生的。
  • 其次,这个隐藏的状态变量满足所谓的马尔科夫假设,即给定X_{t-1}的值,X_t与所有t-1时刻之间的状态无关。
  • HMM被广泛应用于语音识别和生物序列分析领域。
  • HMM是一个简单的动态贝叶斯网络,其中:
  • \beta_0:P(Z_0) = P(X_0,Y_0) = P(X_0)P(Y_0|X_0)
  • \beta_→:P(Z_t|Z_{t-1})=P(X_t,Y_t|X_{t-1},Y_{t-1})=P(X_t|X_{t-1})P(Y_t|X_t)
2.2 卡尔曼滤波器
  • 卡尔曼滤波器(KFM),又称线性动态系统(linear dynamic system),由Kalman提出,并被用于解决控制和通信领域中的线性滤波和预测问题。
  • KFM设计一个随时间变化的连续变量x,x随时间的演变以及对x的观测结果y都符合线性高斯分布即:
  • x_{t+1} = Ax_t + \omega_t,
  • y_t = Bx_t + v_t
  • 其中\omega \sim N(0,Q)是高斯过程噪声,v\sim N(0,R)是高斯测量噪声。
  • KFM的结构和HMM类似,唯一不同的是HMM的中的状态变量是离散的,而KFM中的状态变量和观测变量都是连续的,且服从线性高斯分布。
  • KFM也是动态贝叶斯网络的一个特例,是一个简单的连续型动态贝叶斯网络。
  • 它在控制和信号处理领域应用很很广,包括飞机导弹的雷达跟踪控制、视觉或声呐反射目标的跟踪、信号滤波等。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容