西瓜书+实战+吴恩达机器学习(二一)概率图模型之贝叶斯网络

文章目录

  • 0. 前言
  • 1. 贝叶斯网络结构
  • 2. 近似推断
    • 2.1. 吉布斯采样
  • 3. 隐马尔可夫模型HMM

如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~

0. 前言

概率图模型是一类用图来表达变量相关关系的概率模型。图中的节点代表变量,图中的边代表变量之间存在某种联系。

贝叶斯网络利用有向无环图DAG来刻画变量之间的依赖关系。 B = < G , θ > B=<G,\theta> B=<G,θ> B B B表示贝叶斯网络, G G G表示有向无环图, θ \theta θ表示参数,假设变量 x i x_i xi的父节点为 π i \pi_i πi,则 θ x i ∣ π i = P B ( x i ∣ π i ) \theta_{x_i\mid\pi_i}=P_B(x_i\mid\pi_i) θxiπi=PB(xiπi)

马尔可夫链:系统下一时刻的状态仅由当前状态决定,不依赖于以往任何状态。

1. 贝叶斯网络结构

贝叶斯网络的联合概率分布定义为:
P B ( x 1 , . . . , x d ) = ∏ i = 1 d P B ( x i ∣ π i ) = ∏ i = 1 d θ x i ∣ π i P_B(x_1,...,x_d)=\prod_{i=1}^dP_B(x_i\mid \pi_i)=\prod_{i=1}^d\theta_{x_i\mid\pi_i} PB(x1,...,xd)=i=1dPB(xiπi)=i=1dθxiπi

有以下三种贝叶斯网络结构(图源:机器学习):
西瓜书+实战+吴恩达机器学习(二一)概率图模型之贝叶斯网络_第1张图片
其中,在同父结构中,给定 x 1 x_1 x1的值, x 3   x 4 x_3\ x_4 x3 x4条件独立,在顺序结构中,给定 x x x的值, y   z y\ z y z条件独立,在V型结构中,给定 x 4 x_4 x4的值, x 1   x 2 x_1\ x_2 x1 x2必不独立,但是如果 x 4 x_4 x4的取值未知,则 x 1   x 2 x_1\ x_2 x1 x2相互独立。

判断有向图中条件独立性的方法,将有向图改为无向图:

  1. 找出图中的V型结构,在两个父节点之间加上无向边,称为“道德化”
  2. 将所有的有向边改为无向边
  3. 若变量 x   y x\ y x y在图上被变量集合 z z z分开,但是去掉变量集合 z z z之后, x   y x\ y x y分属两个连通分支
  4. 则称为 x   y x\ y x y z z z有向分离, x ⊥ y ∣ z x\perp y\mid z xyz

2. 近似推断

利用已知变量推断未知变量的分布称为“推断”,其核心是基于可观测变量推测出未知变量的条件分布。

2.1. 吉布斯采样

贝叶斯网络的近似推断常采用吉布斯采样(Gibbs sampling),这是MCMC方法之一。

Q Q Q表示待查询变量, q q q为取值, E E E表示证据变量, e e e为取值,目标是计算 P ( Q = q ∣ E = e ) P(Q=q\mid E=e) P(Q=qE=e),吉布斯采样算法如下所示(图源:机器学习):
西瓜书+实战+吴恩达机器学习(二一)概率图模型之贝叶斯网络_第2张图片
吉布斯采样实际上是一个马尔可夫链随机漫步,当 t → ∞ t\rightarrow \infty t时,收敛于一个平稳分布,这恰好是 P ( Q = q ∣ E = e ) P(Q=q\mid E=e) P(Q=qE=e)

由于马尔可夫链通常需要很长时间才收敛,因此吉布斯采样的收敛速度较慢。

3. 隐马尔可夫模型HMM

隐马尔可夫模型(Hidden Markov Model)是结构最简单的动态贝叶斯网络。

HMM变量可以分为两组:

  1. 状态变量 y i y_i yi表示第 i i i个时刻的系统状态,通常假定系统状态是隐变量
  2. 观测变量 x i x_i xi表示第 i i i个时刻的观测值

HMM图结构如下图所示(图源:机器学习):
西瓜书+实战+吴恩达机器学习(二一)概率图模型之贝叶斯网络_第3张图片
联合概率分布定义为:
P ( x 1 , y 1 , . . . , x n , y n ) = P ( y 1 ) P ( x 1 ∣ y 1 ) ∏ i = 2 n P ( y i ∣ y i − 1 ) P ( x i ∣ y i ) P(x_1,y_1,...,x_n,y_n)=P(y_1)P(x_1\mid y_1)\prod_{i=2}^nP(y_i\mid y_{i-1})P(x_i\mid y_i) P(x1,y1,...,xn,yn)=P(y1)P(x1y1)i=2nP(yiyi1)P(xiyi)
状态转移概率:模型在各个状态间的转换概率,记为矩阵 A A A
a i j = P ( y t + 1 = s j ∣ y t = s i ) ,    i ⩽ i , j ⩽ N a_{ij}=P(y_{t+1}=s_j\mid y_t=s_i),\ \ i\leqslant i,j\leqslant N aij=P(yt+1=sjyt=si),  ii,jN
输出观测概率:模型根据当前状态获得各个观测值的概况,记为矩阵 B B B
b i j = P ( x t = o j ∣ y t = s i ) ,    1 ⩽ i ⩽ N , 1 ⩽ j ⩽ N b_{ij}=P(x_t=o_j\mid y_t=s_i),\ \ 1\leqslant i\leqslant N,1\leqslant j\leqslant N bij=P(xt=ojyt=si),  1iN,1jN
初始状态概率:模型在初始时刻各状态出现的概率,记为 π \pi π
π i = P ( y 1 = s i ) \pi_i=P(y_1=s_i) πi=P(y1=si)


如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~

你可能感兴趣的:(机器学习)