• 机器学习--贝叶斯网


    1-概念

    贝叶斯网(Bayesian network)亦称信念网,它借助有向无环图DAG,来刻画属性自己建得依赖关系,并使用条件概率表来描述属性得联合概率分布。是一种经典的概率图模型

    贝叶斯网络(BN)是一种概率图形模型,用于在医学,生物学,流行病学,经济和社会科学等各个领域的不确定性下进行推理。

    具体来说,BN用于回答诸如“这种干预的可能效果是什么?”或“哪些因素与这种影响相关?”之类的问题
    一个贝叶斯网B由结构有向无环图(DAG)G参数θ两部分构成。B=

    • 网络结构G是一个有向无环图,每个节点对应一个属性,若两个属性有直接依赖关系,则它们由一条边连接起来 G=(X,E)
    • 参数θ定量描述这种依赖关系

    2-DAG示例

    在这里插入图片描述

    在癌症DAG中,“污染”和“吸烟者”是“癌症”的父母,他们也被称为“癌症”的直接原因。这种有向边缘编码依赖性独立性的关系,例如,“污染”和“吸烟者”是独立的,“吸烟者”和“癌症”是依赖的。

    参数集 θ 表示基于这些依赖性和独立性的条件概率,例如:
    P ( X R a y ∣ C a n c e r , S m o k e r ) = P ( X R a y ∣ C a n c e r ) \textcolor {green}{P(XRay∣ Cancer, Smoker )=P(XRay∣ Cancer )} P(XRayCancer,Smoker)=P(XRayCancer)
    概率分布可以是离散的,也可以是连续的。如果分布是离散的,则通常表示为表格概率。

    在这里插入图片描述

    推断DAG,G参数集θ,是BN两个主要问题。参数集是在知道DAG后确定的,因此我们专注与Bayesian network structure learning

    西瓜书种给出一个例子,西瓜问题的一种贝叶斯网结构和属性"根蒂"的条件概率表 从图中网络结构可看出 色泽" 直接依赖于 "好瓜 “和"甜度”,而"根蒂"则直接依赖于"甜度"进一步从条件概率表能得到"根蒂"对"甜度"量化依赖关系?如 P( 根蒂=硬挺 |甜度=高)= 0.1等。

    在这里插入图片描述

    3-BN结构

    学习BN的结构是一个NP-hard问题,Robinson(1973)表明递归关系:
    ∣ G n ∣   =   ∑ i = 1 n ( − 1 ) i − 1 ( i n ) 2 i ( n − i ) ∣ G n − i ∣ |G_n|\space=\space\sum^n_{i=1}(-1)^{i-1}\big(^n_i\big) 2^{i(n-i)}|G_{n-i}| Gn = i=1n(1)i1(in)2i(ni)Gni
    它是 n 个变量的可能 DAG 数。如果我们有8个变量,则可能的DAG数将为7.8e11,随着变量数的增加,DAG的数量呈超指数级增长
    贝叶斯网结构有效地表达了属性间的条件独立性。给定父结点集,贝叶斯网假设每个属性与它的非后裔属性独立,于是 B = < G , θ > 将属性 X 1 , x 2 , . . . , X d 联合概率分布定义为 P B ( x 1 , x 2 , . . . , x d ) = ∏ i = 1 d P B ( x i ∣ π i ) = ∏ i = 1 d θ x i π i 以上图为例,联合概率分布定义为 P ( x 1 , x 2 , x 3 , x 4 , x 5 ) = P ( x 1 ) P ( x 2 ) P ( x 3 ∣ x 1 ) P ( x 4 ∣ x 1 , x 2 ) P ( x 5 ∣ x 2 ) 显然 x 3 , x 4 在给定的取值时独立 , x 4 和 x 5 在给定 x 2 的取值时独立,分别简记 x 3 ⊥ x 4 ∣ x 1 和 x 4 ⊥ x 5 ∣ x 2 贝叶斯网结构有效地表达了属性间的条件独立性。给定父结点集,贝叶斯网假设每个属性与它的非后裔属性独立 ,于是\\B=将属性 X1,x2,...,Xd 联合概率分布定义为\\ \textcolor{red}{P_B(x_1,x_2,...,x_d)=\prod^d_{i=1}P_B(x_i|\pi_i)=\prod^d_{i=1}θ_{x_i\pi_i}}\\ 以上图为例,联合概率分布定义为\\ P(x_1,x_2,x_3,x_4,x_5)=P(x_1)P(x_2)P(x_3|x_1)P(x_4|x_1,x_2)P(x_5|x_2)\\ 显然x_3,x_4在给定的取值时独立,x_4和x_5在给定x_2的取值时独立,分别简记x_3\perp x_4|x_1和x_4\perp x_5|x_2 贝叶斯网结构有效地表达了属性间的条件独立性。给定父结点集,贝叶斯网假设每个属性与它的非后裔属性独立,于是B=<G,θ>将属性X1,x2,...,Xd联合概率分布定义为PB(x1,x2,...,xd)=i=1dPB(xiπi)=i=1dθxiπi以上图为例,联合概率分布定义为P(x1,x2,x3,x4,x5)=P(x1)P(x2)P(x3x1)P(x4x1,x2)P(x5x2)显然x3,x4在给定的取值时独立,x4x5在给定x2的取值时独立,分别简记x3x4x1x4x5x2

    4-BN中3个变量之间的依赖关系

    在这里插入图片描述

    同父结构:给定父结点町的取值,则 x 3 , x 4 条件独立 . 顺序结构:给定 x 的值,则 y 和 z 条件独立                   V 型结构:亦称为冲撞结构,给定子节点 x 4 的取值, x 1 和 x 2 必不独立。 奇妙的是,若 x 4 的取值完全未知,则 V 型结构下 x l , x 2 却是相互独立的 : P ( x 1 , x 2 ) = ∑ x 4 P ( x 1 , x 2 , x 4 ) = ∑ x 4 P ( x 4 ∣ x 1 , x 2 ) P ( x 1 ) P ( x 2 ) = P ( x 1 ) P ( x 2 ) 这种独立成为边际独立 x 1 ⫫ x 2 同父结构:给定父结点町的取值,则 x_3,x_4条件独立.\\ 顺序结构:给定x的值,则y和z条件独立 \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space\\ V型结构:亦称为冲撞结构,给定子节点x_4的取值,x_1和x_2必不独立。\\ 奇妙的是,若x_4的取值完全未知,则V型结构下 x_l,x_2 却是相互独立的:\\ P(x_1,x_2)=\sum_{x_4}P(x_1,x_2,x_4)=\sum_{x_4}P(x_4|x_1,x_2)P(x_1)P(x_2)=P(x_1)P(x_2)\\ 这种独立成为 边际独立x_1⫫x_2 同父结构:给定父结点町的取值,则x3,x4条件独立.顺序结构:给定x的值,则yz条件独立                  V型结构:亦称为冲撞结构,给定子节点x4的取值,x1x2必不独立。奇妙的是,若x4的取值完全未知,则V型结构下xl,x2却是相互独立的:P(x1,x2)=x4P(x1,x2,x4)=x4P(x4x1,x2)P(x1)P(x2)=P(x1)P(x2)这种独立成为边际独立x1x2
    由于BN的网络结构是不知道的,因此BN learning 的首要任务是根据训练数据集找出结构最”恰“的BN,评分搜索是求解这一问题的常用办法。

    评分搜索,我们先定义一个评分函数(score function) ,以此来评估BN与训练数据的契合程度,然后基于这个评分函数来寻找结构最优的贝叶斯网.
    给定训练集 D = { x 1 , x 2 , . . . , x m } , 贝叶斯网 B = < G , θ > 在 D 上的评分函数可写为: s ( B ∣ D ) = f ( θ ) ∣ B ∣ − L L ( B ∣ D ) 给定训练集D=\{x_1,x_2,...,x_m\},贝叶斯网B=在D上的评分函数可写为:\\\\ s(B|D)=f(θ)|B|-LL(B|D) 给定训练集D={x1,x2,...,xm},贝叶斯网B=<G,θ>D上的评分函数可写为:s(BD)=f(θ)BLL(BD)

    ∣ B ∣ 是 B N 的参数个数; f ( θ ) 表示描述每个参数 θ 所需的字节数 L L ( B ∣ D ) = ∑ i = 1 m l o g P B ( x i ) 贝叶斯网 B 的对数似然。 |B|是BN的参数个数;\\f(θ)表示描述每个参数θ所需的字节数\\ \textcolor{red}{LL(B|D)=\sum^m_{i=1}logP_B(x_i)}贝叶斯网B的对数似然。 BBN的参数个数;f(θ)表示描述每个参数θ所需的字节数LL(BD)=i=1mlogPB(xi)贝叶斯网B的对数似然。

    目标:寻找一个贝叶斯网B使得评分函数s( B| D)最小
    f ( θ ) = 1 ,表示每个参数用 1 个字节描述,得到 A I C 评分函数 A k a i k e   I n f o r m a t i o n   C r i t e r i o n                       A I C 评分函数: A I C ( B ∣ D ) = ∣ B ∣ − L L ( B ∣ D ) f ( θ ) = l o g m 2 ,表示每个参数用 l o g m 2 个字节描述,得到 B I C 评分函数 B a y e s i a n   I n f o r m a t i o n   C r i t e r i o n B I C 评分函数: B I C ( B ∣ D ) = l o g m 2 ∣ B ∣ 一 L L ( B ∣ D ) f ( θ ) = 0 , ,则评分函数退化为负对数似然,相应的,学习任务退化为极大似然估计 .                                      f(θ)=1,表示每个参数用1个字节描述,得到AIC评分函数Akaike \space Information \space Criterion \space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\\AIC评分函数:AIC(B | D) = |B| - LL(B |D)\\\\ f(θ)=\frac{logm}{2},表示每个参数用\frac{logm}{2}个字节描述,得到BIC评分函数Bayesian \space Information \space Criterion\\ BIC评分函数:BIC(B | D)=\frac{logm}{2}|B| 一 LL(B | D)\\\\ f(θ)=0,,则评分函数退化为负对数似然,相应的,学习任务退化为极大似然估计.\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space f(θ)=1,表示每个参数用1个字节描述,得到AIC评分函数Akaike Information Criterion                     AIC评分函数:AIC(BD)=BLL(BD)f(θ)=2logm,表示每个参数用2logm个字节描述,得到BIC评分函数Bayesian Information CriterionBIC评分函数:BIC(BD)=2logmBLL(BD)f(θ)=0,,则评分函数退化为负对数似然,相应的,学习任务退化为极大似然估计.                                    
    推导结果
    若贝叶斯网 B = < G , θ > 的网络结构固定 , 则评分函数 s ( B ∣ D ) 的第一项为常数 . 此时,最小化 s ( B ∣ D ) 等价于对参 数 θ 的极大似然估计 , L L ( B ∣ D ) = ∑ i = 1 m l o g P B ( x i ) 和 P B ( x 1 , x 2 , . . . , x d ) = ∏ i = 1 d P B ( x i ∣ π i ) = ∏ i = 1 d θ x i π i 可知 , 参数 θ x i ∣ π i 能直接在训练数据 D 上通过经验估计获得 : θ x i ∣ π i = P ^ D ( x i ∣ π i ) , 其中 P ^ ( ⋅ ) 是 D 上的经验分布, 为了最小化评分函数只需对网络结构进行搜索,而候选结构的最优参数可直接在训练集上计算得到 . 若贝叶斯网B =的网络结构固定,则评分函数s(B|D) 的第一项为常数.此时,最小化s(B|D)等价于对参\\数\theta的极大似然估计,\textcolor{red}{LL(B|D)=\sum^m_{i=1}logP_B(x_i)}和\textcolor{red}{P_B(x_1,x_2,...,x_d)=\prod^d_{i=1}P_B(x_i|\pi_i)=\prod^d_{i=1}θ_{x_i\pi_i}}可知\\,参数θ_{x_i|\pi_i}能直接在训练数据D上通过经验估计获得:\textcolor{green}{θ_{x_i|\pi_i}=\hat P_D(x_i|\pi_i)},其中\hat P(·)是D上的经验分布,\\为了最小化评分函数只需对网 络结构进行搜索,而候选结构的最优参数可直接在训练集上计算得到. 若贝叶斯网B=<Gθ>的网络结构固定,则评分函数s(BD)的第一项为常数.此时,最小化s(BD)等价于对参θ的极大似然估计,LL(BD)=i=1mlogPB(xi)PB(x1,x2,...,xd)=i=1dPB(xiπi)=i=1dθxiπi可知,参数θxiπi能直接在训练数据D上通过经验估计获得:θxiπi=P^D(xiπi),其中P^()D上的经验分布,为了最小化评分函数只需对网络结构进行搜索,而候选结构的最优参数可直接在训练集上计算得到.

    5-吉布斯采样算法

    推断-这样通过已知变量观测值来推测待查询变量的过程
    证据-己知变量观测值

    在现实应用中,BN的近似推断常使用吉布斯采样(Gibbs sampling)来完成

    在这里插入图片描述

    P ( Q = q   ∣   E = e ) ≃ n q T P(Q=q\space|\space E=e)≃\frac{n_q}{T} P(Q=q  E=e)Tnq
    吉布斯采样算法

    在这里插入图片描述

    需注意的是,由于马尔可夫链通常需很长时间才能趋于平稳分布,因此吉布斯采样算法的收敛速度较慢.
    此外,若贝叶斯网中存在极端概率 “0"或"1”则不能保证马尔可夫链存在平稳分布,此时吉布斯采样会给出错误的估计结果。

    基于约束的方法,基于一系列条件独立性测试(CI tests)消除和定向边缘。基于分数的方法代表了一种传统的机器学习方法,其目的是搜索不同的图形,从而最大化目标函数。结合基于分数和基于约束的方法的混合算法。

    6-代码部分

    #可视化安装graphviz
    pip install graphviz
    #光pip是不够的,需要去官网下载graphviz,配置环境变量
    #安装贝叶斯网
    pip install pgmpy
    
    • 1
    • 2
    • 3
    • 4
    • 5

    pgmpy 参数说明

    #部分待更新。。。。。。。。。
    
    • 1
  • 相关阅读:
    MetaMask-RPC API
    115个Java面试题和答案——终极列表
    多路转接(使用poll实现)
    数据结构与算法课后题-第三章(顺序队和链队)
    使用微信开发者工具模拟微信小程序定位
    软件测评中心▏软件功能测试和非功能测试的区别和联系简析
    flume的安装配置笔记
    HighCharts点击无响应问题
    痞子衡嵌入式:说说职业生涯第一个十年
    DSPE-PEG-TH,TH-PEG-DSPE,磷脂-聚乙二醇-PH响应性细胞穿膜肽TH
  • 原文地址:https://blog.csdn.net/Elvis__c/article/details/126291939