• 机器学习笔记之高斯网络(二)高斯贝叶斯网络


    引言

    上一节介绍了高斯网络及其条件独立性,本节将介绍高斯贝叶斯网络

    回顾

    高斯网络

    高斯网络最核心的特点是:随机变量集合中的随机变量均是连续型随机变量,并且均服从高斯分布
    已知某随机变量集合 X \mathcal X X中包含 p p p个特征,整个高斯网络中所有结点的联合概率分布服从多元高斯分布
    X = ( x 1 , x 2 , ⋯   , x p ) T P ( X ) = 1 ( 2 π ) p 2 ∣ Σ ∣ 1 2 exp ⁡ [ − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) ] X=(x1,x2,,xp)TP(X)=1(2π)p2|Σ|12exp[12(xμ)TΣ1(xμ)]

    XP(X)=(x1,x2,,xp)T=(2π)2pΣ211exp[21(xμ)TΣ1(xμ)]
    其中期望 μ \mu μ协方差矩阵 Σ \Sigma Σ表示如下:
    μ = ( μ 1 μ 2 ⋮ μ p ) p × 1 σ = ( σ 11 , σ 12 , ⋯   , σ 1 p σ 21 , σ 22 , ⋯   , σ 2 p ⋮ σ p 1 , σ p 2 , ⋯   , σ p p ) p × p \mu = (μ1μ2μp)
    _{p \times 1} \quad \sigma = (σ11,σ12,,σ1pσ21,σ22,,σ2pσp1,σp2,,σpp)
    _{p \times p}
    μ=μ1μ2μpp×1σ=σ11,σ12,,σ1pσ21,σ22,,σ2pσp1,σp2,,σppp×p

    • 随机变量之间的边缘独立性:如果随机变量 x i , x j ( i , j ∈ { 1 , 2 , ⋯   , p } ; i ≠ j ) x_i,x_j (i,j \in \{1,2,\cdots,p\};i\neq j) xi,xj(i,j{1,2,,p};i=j)对应协方差矩阵的结果 C o v ( x i , x j ) = σ i j = 0 Cov(x_i,x_j) = \sigma_{ij} = 0 Cov(xi,xj)=σij=0,那么称 x i , x j x_i,x_j xi,xj不相关的。也称 x i , x j x_i,x_j xi,xj边缘独立或者绝对独立
      σ i j = 0 ⇒ x i ⊥ x j \sigma_{ij} = 0 \Rightarrow x_i \perp x_j σij=0xixj
    • 随机变量之间的条件独立性:如果随机变量 x i , x j ( i , j ∈ { 1 , 2 , ⋯   , p } ; i ≠ j ) x_i,x_j(i,j \in \{1,2,\cdots,p\};i \neq j) xi,xj(i,j{1,2,,p};i=j)对应精度矩阵(Precision Matrix)结果 λ i j = 0 \lambda_{ij} = 0 λij=0,称给定除去 x i , x j x_i,x_j xi,xj之外其他结点的条件下, x i , x j x_i,x_j xi,xj相互独立
      其中 Λ = [ λ i j ] p × p \Lambda = [\lambda_{ij}]_{p \times p} Λ=[λij]p×p表示精度矩阵,它是协方差矩阵的‘逆矩阵’。
      λ i j = 0 ⇒ x i ⊥ x j ∣ x − i − j \lambda_{ij} = 0 \Rightarrow x_i \perp x_j \mid x_{-i-j} λij=0xixjxij

    贝叶斯网络:因子分解

    基于贝叶斯网络有向图的性质,针对随机变量集合 X \mathcal X X联合概率分布 P ( X ) \mathcal P(\mathcal X) P(X)进行表达。
    已知随机变量集合 X \mathcal X X包含 p p p个维度特征,因而 X \mathcal X X联合概率分布 P ( X ) \mathcal P(\mathcal X) P(X)表示如下:
    P ( X ) = P ( x 1 , x 2 , ⋯   , x p ) \mathcal P(\mathcal X) = \mathcal P(x_1,x_2,\cdots,x_p) P(X)=P(x1,x2,,xp)
    针对联合概率分布求解,最朴素的方式是条件概率的链式法则(Chain Rule):
    P ( x 1 , x 2 , ⋯   , x p ) = P ( x 1 ) ⋅ ∏ i = 2 p P ( x i ∣ x 1 , ⋯   , x i − 1 ) \mathcal P(x_1,x_2,\cdots,x_p) = \mathcal P(x_1) \cdot \prod_{i=2}^p \mathcal P(x_i \mid x_1,\cdots,x_{i-1}) P(x1,x2,,xp)=P(x1)i=2pP(xix1,,xi1)
    但如果随机变量集合 X \mathcal X X维度过高,这种链式法则计算代价很大。可以将对应的概率图模型视作完全图——任意两个特征之间都需要求解其关联关系
    贝叶斯网络的条件独立性 可以极大程度地简化运算过程。给定贝叶斯网络的表达方式,可以直接写出各节点的联合概率分布
    P ( x 1 , x 2 , ⋯   , x p ) = ∏ i = 1 p P ( x i ∣ x p a ( i ) ) \mathcal P(x_1,x_2,\cdots,x_p) = \prod_{i=1}^p \mathcal P(x_i \mid x_{pa(i)}) P(x1,x2,,xp)=i=1pP(xixpa(i))
    其中 x p a ( i ) x_{pa(i)} xpa(i)表示 x i x_i xi结点的父节点组成的集合

    高斯贝叶斯网络:因子分解

    已知贝叶斯网络中一共包含 p p p个结点,它的联合概率分布(因子分解)表示如下:
    P ( X ) = ∏ i = 1 p P ( x i ∣ x p a ( i ) ) \mathcal P(\mathcal X) = \prod_{i=1}^p \mathcal P(x_i \mid x_{pa(i)}) P(X)=i=1pP(xixpa(i))

    全局模型(Global Model) 角度观察,高斯贝叶斯网络是基于线性高斯模型(局部模型(Local Model))的模型架构。

    • 局部模型架构:对于线性高斯模型并不陌生,在卡尔曼滤波中对线性高斯模型又了一定认识。

      从宏观角度认识线性高斯模型,即模型中某节点与父结点之间存在线性关系,并且噪声服从高斯分布
      可以理解为:高斯贝叶斯网络中的‘有向边’表示节点与父节点之间的‘具有高斯分布噪声的线性关系’。
      这里已知 X , Y \mathcal X,\mathcal Y X,Y是两个随机变量集合 X \mathcal X X的边缘概率分布 P ( X ) \mathcal P(\mathcal X) P(X)条件概率分布 P ( Y ∣ X ) \mathcal P(\mathcal Y \mid \mathcal X) P(YX)表示如下:
      { P ( X ) ∼ N ( μ X , Σ X ) P ( Y ∣ X ) ∼ N ( A X + B , Σ Y ) {P(X)N(μX,ΣX)P(YX)N(AX+B,ΣY)

      {P(X)N(μX,ΣX)P(YX)N(AX+B,ΣY)
      局部模型描述结点之间的关联关系 表示如下:
      高斯贝叶斯网络——局部模型
      同理,关于结点 Y \mathcal Y Y边缘概率分布 P ( Y ) \mathcal P(\mathcal Y) P(Y)以及 P ( X ) , P ( Y ∣ X ) \mathcal P(\mathcal X),\mathcal P(\mathcal Y \mid \mathcal X) P(X),P(YX)推断结果 P ( X ∣ Y ) \mathcal P(\mathcal X \mid \mathcal Y) P(XY)同样服从高斯分布。具体结果表示如下:
      推导过程详见:高斯分布——推断任务之边缘概率分布与条件概率分布
      P ( Y ) ∼ N ( A μ + B , A Σ X A T + Σ Y ) P ( X ∣ Y ) ∼ N ( Σ { A T Σ Y − 1 ( Y − B ) + A μ } , Σ ) Σ = Σ X − 1 + A T Σ Y − 1 A − 1 P(Y)N(Aμ+B,AΣXAT+ΣY)P(XY)N(Σ{ATΣ1Y(YB)+Aμ},Σ)Σ=Σ1X+ATΣ1YA1
      P(Y)P(XY)N(Aμ+B,AΣXAT+ΣY)N(Σ{ATΣY1(YB)+Aμ},Σ)Σ=ΣX1+ATΣY1A1

    实际上,卡尔曼滤波(Kalman Filter)自身就是一个特殊的高斯贝叶斯网络。它的概率图模型表示如下:
    卡尔曼滤波——示例
    由于齐次马尔可夫假设、观测独立性假设的约束,概率图中无论是观测变量 O = { o 1 , ⋯   , o T } \mathcal O = \{o_1,\cdots,o_T\} O={o1,,oT}还是隐变量 I = { i 1 , ⋯   , i T } \mathcal I = \{i_1,\cdots,i_T\} I={i1,,iT},它们均仅有一个父节点

    • 基于齐次马尔可夫假设,相邻隐变量 i t , i t − 1 i_t,i_{t-1} it,it1之间的条件概率表示为:
      P ( i t ∣ i t − 1 ) ∼ N ( A ⋅ i t − 1 + B , Q ) \mathcal P(i_t \mid i_{t-1}) \sim \mathcal N(\mathcal A \cdot i_{t-1} + \mathcal B,\mathcal Q) P(itit1)N(Ait1+B,Q)
    • 基于观测独立性假设隐变量 i t i_t it对应时刻观测变量 o t o_t ot之间的条件概率表示为:
      P ( o t ∣ i t ) ∼ N ( C ⋅ i t + D , R ) \mathcal P(o_t \mid i_t) \sim \mathcal N(\mathcal C\cdot {i_t} + \mathcal D,\mathcal R) P(otit)N(Cit+D,R)

    基于上述假设,对随机变量之间关联关系的表示(Representation)描述为:
    之所以将噪声均值设置为0 -> 均值偏差可以归纳到对应偏置项 B , D \mathcal B,\mathcal D B,D中。
    { i t = A ⋅ i t − 1 + B + ϵ ϵ ∼ N ( 0 , Q ) o t = C ⋅ i t + D + δ δ ∼ N ( 0 , R ) {it=Ait1+B+ϵϵN(0,Q)ot=Cit+D+δδN(0,R)

    {it=Ait1+B+ϵϵN(0,Q)ot=Cit+D+δδN(0,R)

    相比之下,高斯贝叶斯网络并没有假设约束,结点中可能存在多个父节点组成的集合。
    给定一个高斯贝叶斯网络的局部图如下:
    这里仅讨论 x i x_i xi与其父节点们之间的关系,其余部分略掉了。
    高斯贝叶斯网络——局部
    很明显: x 1 , x 2 , ⋯   , x k x_1,x_2,\cdots,x_k x1,x2,,xk均是 x i x_i xi父节点,将局部模型延伸到一个更大的局部模型
    这里 x 1 , x 2 , ⋯   , x k x_1,x_2,\cdots,x_k x1,x2,,xk以及 x i x_i xi均是一维随机变量

    • 假设 x i x_i xi父节点集合中仅包含一个随机变量( x 1 x_1 x1为例),那么 P ( x i ∣ x p a ( i ) ) \mathcal P(x_{i} \mid x_{pa(i)}) P(xixpa(i))可表示为:

      • 这里定义的 μ i , σ i 2 \mu_i,\sigma_i^2 μi,σi2是表示 x 1 , x i x_1,x_i x1,xi之间线性关系中噪声的高斯分布,但是高斯贝叶斯网络中定义的噪声 ϵ ∼ N ( 0 , σ i 2 ) \epsilon\sim \mathcal N(0,\sigma_i^2) ϵN(0,σi2),因而相当于 μ i \mu_i μi单独被提出来,因为 μ i \mu_i μi就是表示关于分布的‘位置信息’。因此,下面公式中的 ϵ \epsilon ϵ才是真正噪声的分布形态。
      • 因而参数 μ i \mu_i μi是自然存在的。文章参考:概率密度函数角度认识最小二乘法
        x i = w i 1 ⋅ x 1 + ϵ ϵ ∼ N ( μ i , σ i 2 ) P ( x i ∣ x p a ( i ) ) → P ( x i ∣ x 1 ) ∼ N ( w i 1 ⋅ x 1 + μ i , σ i 2 ) xi=wi1x1+ϵϵN(μi,σ2i)P(xixpa(i))P(xix1)N(wi1x1+μi,σ2i)
        xiP(xixpa(i))=wi1x1+ϵϵN(μi,σi2)P(xix1)N(wi1x1+μi,σi2)

      对应 x i , x 1 x_i,x_1 xi,x1随机变量之间关联关系的表示 为:
      x i = μ i + w i 1 ⋅ ( x 1 − μ 1 ) + σ i ⋅ ϵ i ϵ ∼ i N ( 0 , 1 ) x_i = \mu_i + w_{i1} \cdot (x_1 - \mu_1) + \sigma_{i}\cdot \epsilon_i \quad \epsilon \sim_i \mathcal N(0,1) xi=μi+wi1(x1μ1)+σiϵiϵiN(0,1)
      关于上述公式的一些个人理解

      • 多出来的 μ 1 \mu_1 μ1是哪来的:
        为了简化运算,通常对‘随机变量的分布’进行平移’,就是去中心化。
      • 执行线性运算之后,方差必然会发生变化。应变化为 w i 1 2 ⋅ σ i 2 w_{i1}^2 \cdot \sigma_i^2 wi12σi2,但是 P ( x i ∣ x 1 ) \mathcal P(x_i \mid x_1) P(xix1)并没有变化,依旧是 σ i 2 \sigma_i^2 σi2:方差变化是 x i x_i xi的边缘概率分布 P ( x i ) \mathcal P(x_i) P(xi),而不是 P ( x i ∣ x 1 ) \mathcal P(x_i \mid x_1) P(xix1),这也是线性高斯模型的假设方式。
      • 偏置项去哪了:最终都需要‘去中心化’,将分布的均值(中心)回归零点,因而被省略掉了,或者也可理解为‘合并到’ μ i \mu_i μi中。

      欢迎小伙伴们交流讨论。

    • 同理,父结点集合中包含多个随机变量,将父结点集合看成向量形式,因而 x p a ( i ) x_{pa(i)} xpa(i)以及对应权重信息 W i \mathcal W_i Wi表示如下:
      x p a ( i ) = ( x 1 , x 2 , ⋯   , x k ) k × 1 T W i = ( w i 1 , w i 2 , ⋯   , w i k ) k × 1 T xpa(i)=(x1,x2,,xk)Tk×1Wi=(wi1,wi2,,wik)Tk×1

      xpa(i)=(x1,x2,,xk)k×1TWi=(wi1,wi2,,wik)k×1T
      至此, P ( x i ∣ x p a ( i ) ) \mathcal P(x_i \mid x_{pa(i)}) P(xixpa(i))表示如下:
      P ( x i ∣ x p a ( i ) ) = N ( W i T x p a ( i ) + μ i , σ i 2 ) = N ( ( x 1 ⋅ w i 1 + ⋯ + x k ⋅ w i k ) + μ i , σ i 2 ) P(xixpa(i))=N(WTixpa(i)+μi,σ2i)=N((x1wi1++xkwik)+μi,σ2i)
      P(xixpa(i))=N(WiTxpa(i)+μi,σi2)=N((x1wi1++xkwik)+μi,σi2)

      因而 x i , x p a ( i ) x_i,x_{pa(i)} xi,xpa(i)随机变量之间的关联关系表示为
      x i − μ i = W i T ( x p a ( i ) − μ p a ( i ) ) + σ i ⋅ ϵ i = ( w i 1 , w i 2 , ⋯   , w i k ) 1 × k [ ( x 1 x 2 ⋮ x k ) − ( μ 1 μ 2 ⋮ μ k ) ] k × 1 + σ i ⋅ ϵ i = ∑ j ∈ x p a ( i ) w i j ( x j − μ j ) + σ i ⋅ ϵ i xiμi=WTi(xpa(i)μpa(i))+σiϵi=(wi1,wi2,,wik)1×k[(x1x2xk)(μ1μ2μk)]k×1+σiϵi=jxpa(i)wij(xjμj)+σiϵi
      xiμi=WiT(xpa(i)μpa(i))+σiϵi=(wi1,wi2,,wik)1×kx1x2xkμ1μ2μkk×1+σiϵi=jxpa(i)wij(xjμj)+σiϵi

    下一节将介绍:高斯马尔可夫随机场

    相关参考:
    机器学习-高斯网络(2)-高斯贝叶斯网络

  • 相关阅读:
    再聊Java Stream的一些实战技能与注意点
    nginx--启动脚本
    C语言指针进阶
    微信小程序入门级
    设计模式之兼容不同厂家的相机
    R语言和医学统计学(5):多因素方差分析
    分享两个实用的shell脚本
    Flink学习:Flink支持的数据类型
    [MAUI程序设计]界面多态与实现
    Scala006--Scala中的数据结构【集合】之列表
  • 原文地址:https://blog.csdn.net/qq_34758157/article/details/128032321