本篇博文主要总结贝叶斯网络相关知识。

复习之前的知识点

相对熵

相对熵,又称互熵,交叉熵,鉴别信息,KullbackKullbackKullback 熵,Kullback−LeibleKullback-LeibleKullbackLeible 散度等 。

p(x)、q(x)p(x)、q(x)p(x)q(x)XXX 中取值的两个概率分布,则pppqqq 的相对熵是 :
D(p∣∣q)=∑xp(x)logp(x)q(x)=Ep(x)logp(x)q(x)D(p||q)=\sum_{x}^{}p(x)log\frac{p(x)}{q(x)}={E}_{p(x)}log\frac{p(x)}{q(x)}D(pq)=xp(x)logq(x)p(x)=Ep(x)logq(x)p(x)

  • 相对熵可以度量两个随机变量的“距离”。
  • 一般的,D(p∣∣q)≠D(q∣∣p)D(p||q)\neq D(q||p)D(pq)=D(qp)
  • D(p∣∣q)≥0,D(q∣∣p)≥0D(p||q)\geq 0,D(q||p)\geq 0D(pq)0D(qp)0

互信息

两个随机变量X,YX,YXY 的***互信息***,定义为X,YX,YXY 的***联合分布和独立分布乘积的相对熵***。
I(X,Y)=D(P(X,Y)∣∣P(x)P(Y)I(X,Y)=D(P(X,Y)||P(x)P(Y)I(X,Y)=D(P(X,Y)P(x)P(Y)
I(X,Y)=∑x,yP(x,y)logP(x,y)p(x)p(y)I(X,Y)=\sum_{x,y}^{}P(x,y)log\frac{P(x,y)}{p(x)p(y)}I(X,Y)=x,yP(x,y)logp(x)p(y)P(x,y)

  • 显然当X,YX,YX,Y 互相独立时,P(X,Y)=P(X)P(Y)P(X,Y)=P(X)P(Y)P(X,Y)=P(X)P(Y) 这个时候,X,YX,YX,Y距离最短,互信息为零。

信息增益

信息增益表示得知特征AAA 的信息而使得类XXX 的信息的不确定性减少的程度。

定义:特征AAA 对训练数据集DDD 的信息增益 g(D,A)g(D,A)g(D,A),定义为集合DDD 的经验熵H(D)H(D)H(D) 与特征 AAA 给定条件下DDD 的经验条件熵H(D∣A)H(D|A)H(DA) 之差, 即:
g(D,A)=H(D)−H(D∣A)g(D,A)=H(D)-H(D|A)g(D,A)=H(D)H(DA)

对于两个随机变量X,YX,YX,Y,关于熵和互信息的一些总结公式:

  • H(Y∣X)=H(X,Y)−H(X)H(Y|X)=H(X,Y)-H(X)H(YX)=H(X,Y)H(X)
  • H(Y∣X)=H(Y)−I(X,Y)H(Y|X)=H(Y)-I(X,Y)H(YX)=H(Y)I(X,Y)
  • H(Y∣X)<H(Y)H(Y|X)<H(Y)H(YX)<H(Y)
  • H(X∣Y)<H(X)H(X|Y)<H(X)H(XY)<H(X)
  • I(X,Y)=H(X)+H(Y)−H(X,Y)I(X,Y)=H(X)+H(Y)-H(X,Y)I(X,Y)=H(X)+H(Y)H(X,Y)

显然,这即为训练数据集DDD 和特征AAA 的互信息。

贝叶斯公式和最大后验估计

贝叶斯估计是一种生成式模型。所谓生成式和判别式模型的区别在于:

  • 通过P(y∣x)P(y|x)P(yx) 直接得出的模型称为判别式模型。
  • P(y∣x)P(y|x)P(yx) 是由P(x∣y)P(x|y)P(xy) 得出的模型叫做生成式模型,也就是在类别已知的情况下,样本是怎么生成出来的。

P(A∣D)=P(D∣A)p(D)P(A|D)=\frac{P(D|A)}{p(D)}P(AD)=p(D)P(DA)

给定某些样本DDD ,在这些样本中计算某结论A1、A2……AnA1、 A2……AnA1A2An 出现的概率,即P(Ai∣D)P(Ai|D)P(AiD)

这里写图片描述

  • 第一个等式:贝叶斯公式;
  • 第二个等式:样本给定,则对于任何Ai,P(D)Ai,P(D)Ai,P(D) 是常数,即分母仅为归一化因子
  • 第三个箭头:若这些结论A1、A2……AnA1、A2……AnA1A2An 的先验概率相等 (或近似),***即P(A1)=P(A2)=...P(An)P({A}_{1})=P({A}_{2})=...P({A}_{n})P(A1)=P(A2)=...P(An)***, 则得到最后一个等式:即第二行的公式,这时候其实是转成了求最大似然估计。

朴素贝叶斯

朴素贝叶斯的假设

一个特征出现的概率,与其他特征(条件)独立 (特征独立性)

  • 其实是:对于给定分类的条件下,特征独立

每个特征***同等重要***(特征均衡性)

朴素贝叶斯的推导

朴素贝叶斯(Naive Bayes,NB)是基于“特征之间是独立的”这一朴素假设,应用贝叶斯定理的***监督学习*** 算法。

对于给定的特征向量X1,X2,...,Xn{X}_{1},{X}_{2},...,{X}_{n}X1,X2,...,Xn

类别yyy 的概率可以根据贝叶斯公式得到:

这里写图片描述

使用朴素的***独立性*** 假设:
P(xi∣y,x1,...,xi−1,xi+1,...,xn)=P(xi∣y)P({x}_{i}|y,{x}_{1},...,{x}_{i-1},{x}_{i+1},...,{x}_{n})=P({x}_{i}|y)P(xiy,x1,...,xi1,xi+1,...,xn)=P(xiy)

类别yyy 的概率可简化为:
P(y∣x1,x2,..,xn)=P(y)P(x1,x2,...,xn∣y)p(x1,x2,...,xn)=P(y)∏i=1nP(xi∣y)p(x1,x2,...,xn)P(y|{x}_{1},{x}_{2},..,{x}_{n})=\frac{P(y)P({x}_{1},{x}_{2},...,{x}_{n}|y)}{p({x}_{1},{x}_{2},...,{x}_{n})}=\frac{P(y)\prod_{i=1}^{n}P({x}_{i}|y)}{p({x}_{1},{x}_{2},...,{x}_{n})}P(yx1,x2,..,xn)=p(x1,x2,...,xn)P(y)P(x1,x2,...,xny)=p(x1,x2,...,xn)P(y)i=1nP(xiy)

在给定样本的前提下, p(x1,x2,...,xn)p({x}_{1},{x}_{2},...,{x}_{n})p(x1,x2,...,xn) 是常数:
P(y∣x1,x2,...,xn)∝P(y)∏i=1nP(xi∣y)P(y|{x}_{1},{x}_{2},...,{x}_{n})\propto P(y)\prod_{i=1}^{n}P({x}_{i}|y)P(yx1,x2,...,xn)P(y)i=1nP(xiy)

从而:
y^=arg maxP(y)∏i=1nP(xi∣y)\hat{y}=arg\ maxP(y)\prod_{i=1}^{n}P({x}_{i}|y)y^=arg maxP(y)i=1nP(xiy)

以上就是朴素贝叶斯通用化的推导,所有的朴素贝叶斯都可以这样推导出来。

根据样本使用MAP(MaximumAPosteriori)MAP(Maximum A Posteriori)MAP(MaximumAPosteriori) 估计P(y)P(y)P(y),建立合理的模型估计P(xi∣y)P({x}_{i}|y)P(xiy),从而得到样本的类别。y^=arg maxP(y)∏i=1nP(xi∣y)\hat{y}=arg\ maxP(y)\prod_{i=1}^{n}P({x}_{i}|y)y^=arg maxP(y)i=1nP(xiy)

高斯朴素贝叶斯

根据样本使用MAP(MaximumAPosteriori)MAP(Maximum A Posteriori)MAP(MaximumAPosteriori) 估计P(y)P(y)P(y),建立合理的模型估计 P(xi∣y)P({x}_{i}|y)P(xiy),从而得到样本的类别。y^=arg maxP(y)∏i=1nP(xi∣y)\hat{y}=arg\ maxP(y)\prod_{i=1}^{n}P({x}_{i}|y)y^=arg maxP(y)i=1nP(xiy)

假设特征服从高斯分布,即:

这里写图片描述

参数使用MLEMLEMLE (最大似然估计)估计即可。

多项分布朴素贝叶斯

假设特征服从多项分布,从而,对于每个类别y, 参数为 θy=(θy1,θy2,θy2,...,θyn){\theta }_{y}=({\theta }_{y1},{\theta }_{y2},{\theta }_{y2},...,{\theta }_{yn})θy=(θy1,θy2,θy2,...,θyn),其中nnn 为特征的数目,P(xi∣y)P({x}_{i}|y)P(xiy) 的概率为 ,θyi,{\theta }_{yi},θyi

参数θyi{\theta }_{yi}θyi 使用MLEMLEMLE 估计的结果为:

这里写图片描述

假定训练集为TTT,有:

这里写图片描述

其中:

  • α=1\alpha =1α=1 称为LaplaceLaplaceLaplace 平滑。
  • α<1\alpha <1α<1 称为LidstoneLidstoneLidstone 平滑。
  • 平滑操作除了避免出现零,还有增加模型的泛化能力的作用。

以文本分类为例

问题描述

  • 样本:100010001000 封邮件,每个邮件被标记为垃圾邮件或者非垃圾邮件 。
  • 分类目标:给定第100110011001 封邮件,确定它是垃圾邮件还是非垃圾邮件。
  • 方法:朴素贝叶斯

问题分析

类别ccc :垃圾邮件c1c1c1,非垃圾邮件c2c2c2
词汇表,两种建立方法:

  • 使用现成的单词词典;
  • 将所有邮件中出现的单词都统计出来,得到词典。

记单词数目为NNN

将每个邮件mmm 映射成维度为NNN 的向量xxx

若单词wiwiwi 在邮件mmm 中出现过,则xi=1xi=1xi=1,否则,xi=0xi=0xi=0。即邮件的向量化:m=(x1,x2……xN)m=(x1,x2……xN)m=(x1,x2xN)

贝叶斯公式:P(c∣x)=P(x∣c)∗P(c)/P(x)P(c|x)=P(x|c)*P(c) / P(x)P(cx)=P(xc)P(c)/P(x) ,注意这里xxx 是向量。

特征条件独立假设P(x∣c)=P(x1,x2…xN∣c)=P(x1∣c)∗P(x2∣c)…P(xN∣c)P(x|c)=P(x1,x2…xN|c)=P(x1|c)*P(x2|c)…P(xN|c)P(xc)=P(x1,x2xNc)=P(x1c)P(x2c)P(xNc)

特征独立假设:P(x)=P(x1,x2…xN)=P(x1)∗P(x2)…P(xN)P(x)=P(x1,x2…xN)=P(x1)*P(x2)…P(xN)P(x)=P(x1,x2xN)=P(x1)P(x2)P(xN)

带入公式: P(c∣x)=P(x∣c)∗P(c)/P(x)P(c|x)=P(x|c)*P(c) / P(x)P(cx)=P(xc)P(c)/P(x)
实际情况下,不需要考虑P(x)P(x)P(x),故只剩下***特征条件独立假设***。

等式右侧各项的含义:

  • P(xi∣cj)P(xi|cj)P(xicj):在cjcjcj (此题目,cjcjcj 要么为垃圾邮件1,要么为非垃圾邮件2)的前提下,第iii 个单词xixixi出现的概率 。
  • P(xi)P(xi)P(xi) :在所有样本中,单词xixixi 出现的概率。
  • P(cj)P(cj)P(cj) :在所有样本中,邮件类别cjcjcj 出现的概率。

由上面例子可以看出,朴素贝叶斯基于以下两条假设:

  • 一个特征出现的概率,与其他特征(条件)独立(特征独立性),即是:对于给定分类的条件下,特征独立 。
  • 每个特征同等重要(特征均衡性) 。

以上两条假设不一定正确,但是基于这两条假设的朴素贝叶斯在一些应用中效果却是不错的。

贝叶斯网络

把某个研究系统中涉及的随机变量,根据是否***条件独立*** 绘制在一个***有向图*** 中,就形成了贝叶斯网络。

贝叶斯网络(BayesianNetworkBayesian NetworkBayesianNetwork),又称有向无环图模型(directed acyclic graphical model,DAG)(directed\ acyclic\ graphical\ model ,DAG)(directed acyclic graphical model,DAG),是一种概率图模型,根据概率图的拓扑结构,考察一组随机变量X1,X2...Xn{X1,X2...Xn}X1,X2...Xn 及其nnn 组条件概率分布
(Conditional Probability Distributions,CPD)(Conditional\ Probability\ Distributions, CPD)(Conditional Probability Distributions,CPD) 的性质。

一般而言,贝叶斯网络的有向无环图中的节点表示随机变量,它们可以是可观察到的变量,或隐变量、未知参数等。连接两个节点的箭头代表此两个随机变量是具有***因果关系(或非条件独立***)。若两个节点间以一 个单箭头连接在一起,表示其中一个节点是“因(parents)(parents)(parents)”,另一个是“果(children)(children)(children)”,两节点就会产生一个条件概率值。

每个结点在给定其直接前驱时,条件独立 于其非后继。

一个简单的贝叶斯网络

P(a,b,c)=P(c∣a,b)P(b∣a)P(a)P(a,b,c)=P(c|a,b)P(b|a)P(a)P(a,b,c)=P(ca,b)P(ba)P(a),其对应的无向图如下:

![这里写图片描述](https://img-blog.csdnimg.cn/img_convert/5abf3a46467d427ac4a5628231052592.png)

P(x1,x2,x3,x4∣y)=P(x1∣y)∗P(x2∣y)∗P(x3∣y)∗P(x4∣y)P({x}_{1},{x}_{2},{x}_{3},{x}_{4}|y)=P({x}_{1}|y)*P({x}_{2}|y)*P({x}_{3}|y)*P({x}_{4}|y)P(x1,x2,x3,x4y)=P(x1y)P(x2y)P(x3y)P(x4y),其对应的无向图如下:

这里写图片描述

朴素贝叶斯就是把特征(x1,x2,x3,x4)(x1,x2,x3,x4)(x1,x2,x3,x4)之间的有向边都删掉了。

全连接贝叶斯网络

每一对结点之间都有边连接:

这里写图片描述

一个“正常”的贝叶斯网络:

这里写图片描述

  • 有些边缺失

  • 直观上:
    x1x1x1x2x2x2 独立
    x6x6x6x7x7x7x4x4x4 给定的条件下独立

  • x1,x2,…x7x1,x2,…x7x1,x2,x7 的联合分布:

这里写图片描述

对一个实际贝叶斯网络的分析:

这里写图片描述

贝叶斯网络的形式化定义

BN(G,Θ)BN(G, Θ)BN(G,Θ)

  • G:有向无环图
  • G的结点:随机变量
  • G的边:结点间的***有向依赖***
  • Θ:所有条件概率分布的参数集合
  • 结点XXX 的条件概率:P(X∣parent(X))P(X|parent(X))P(Xparent(X))
    这里写图片描述

通过贝叶斯网络判定条件独立—1

这里写图片描述

根据图模型,得:P(a,b,c)=P(c)∗P(a∣c)∗P(b∣c)P(a,b,c)=P(c)*P(a|c)*P(b|c)P(a,b,c)=P(c)P(ac)P(bc)
从而: P(a,b,c)/P(c)=P(a∣c)∗P(b∣c)P(a,b,c)/P(c)= P(a|c)*P(b|c)P(a,b,c)/P(c)=P(ac)P(bc)
因为 P(a,b∣c)=P(a,b,c)/P(c)P(a,b|c)=P(a,b,c)/P(c)P(a,bc)=P(a,b,c)/P(c)
得:P(a,b∣c)=P(a∣c)∗P(b∣c)P(a,b|c)=P(a|c)*P(b|c)P(a,bc)=P(ac)P(bc)

即:ccc 给定的条件下, a,ba,bab 被阻断(blocked)(blocked)(blocked) 是独立的。

通过贝叶斯网络判定条件独立—2

P(a,b,c)=P(a)∗P(c∣a)∗P(b∣c)P(a,b,c)=P(a)*P(c|a)*P(b|c)P(a,b,c)=P(a)P(ca)P(bc)

这里写图片描述

这里写图片描述

即:ccc 给定的条件下,a,ba,bab 被阻断(blocked),是独立的

通过贝叶斯网络判定条件独立—3

这里写图片描述

这里写图片描述

ccc 未知的条件下,a,ba,bab 被阻断(blocked),是独立的: head-to-head

以上三种情况的举例说明

这里写图片描述

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐