贝叶斯分类器
朴素贝叶斯
朴素贝叶斯分类器
一个重要的前提
属性之间的独立性假设
P(a1,...,an∣vj)=ΠiP(ai∣vj)
形式
vNB=argvj∈VmaxP(vj)ΠiP(ai∣vj)
从训练数据中估计 P(ai∣vj) 要比直接估计联合密度估计要容易得多。
估计
从训练样本中进行估计
- 对任意目标值 vj
- 估计出 P^(vj)
- 对任意一个 aj,估计出 P^(ai∣vj)
- 模型形式为
-
vNB=argvj∈VmaxP^(vj)Πai∈xP^(ai∣vj)
- 计算出来的值再进行概率归一化即可
连续值属性
对于连续值属性的讨论
- 离散化
- 利用概率分布来进行估计
-
P(xj∣Cj)=2πσij1exp(−2σij2(xj−μij)2)
- 其中 μij 和 σij 分别为类 Ci 中随机变量 xi 的期望和标准差,利用对应的样本期望和标准差来进行估计
潜在问题
- 如果某一个属性的条件概率为 0,那么整个类的后验概率也为 0
- 训练样本不能覆盖那么多属性值时,不能分类某些测试记录
针对第一个问题,采用平滑技术
n+mnc+mp,p=k1
其中 p 是按均匀概率的观念点出发,如果有 k 个可能的属性值,则取值为 k1.
m 被称为等效样本.
那么修正式相当于 n 个实际观察加上 m 个按 p 分布的虚拟样本。
特点
- 对于孤立噪声点,朴素贝叶斯分类器是健壮的
- 可以处理属性值遗漏问题
- 可以处理无关属性
- 属性相关性高会降低朴素贝叶斯分类器的性能
贝叶斯信念网络
贝叶斯信念网络 (Bayes belief network,BBN)
概念
- 描述的是一组变量所遵循的概率分布,通过一组条件概率来指定一组条件独立性假设
- 可以表述变量自己上的条件独立性假设。比朴素贝叶斯分类器的限制更少。
- 如果一个节点的父母节点已知,则它条件独立于它的所有非后代节点。
贝叶斯信念网络的表示
- 一个无环有向图来标识
- 一个概率表,即一组局部条件概率的集合
训练
选择综合编码长度最短的贝叶斯网----最小长度描述准则
评分函数
S(B∣D)=f(θ)∣B∣−LL(B∣D)
其中 ∣B∣ 是贝叶斯网的参数个数; f(θ) 表示描述每个参数 θ 所需的字节数
其中 LL(B∣D)=i=1∑mlogPB(xi)
是贝叶斯网络的似然。
寻找一个贝叶斯网络 B 使得评分函数 S(B|D)最小
- 如果 f(θ)=1,则就是 AIC 准则
AIC(B∣D)=∣B∣−LL(B∣D)
- 如果 f(θ)=21logm,则就是 BIC 准则
BIC(B∣D)=2logm∣B∣−LL(B∣D)
- 如果 f(θ)=0 ,即不考虑进行编码长度,函数退化为对数似然。
S(B∣D)=−LL(B∣D)
参数 θxi∣πi=P^D(xi∣πi)。其中 P^D(⋅) 是 D 上的经验分布。所以只需要进行搜索得到最优参数。
拓扑结构的学习
主观专家的编码
- 设 T=(X1,...,Xd),表示变量的全序。
- 对于所有的 T 中的元素
-
XT(j) 表示 T 中第 j 个次序最高的变量
-
π(XT(j))={XT(1),...,XT(j−1)} 表示排在 XT(j) 前面的变量集合
- 从 π(XT(j)) 中去掉对 Xj 没有影响的变量。这是由先验知识得到的
- 在 XT(j) 和 π(XT(j)) 中剩余的变量画弧。
这是一个如何通过主观专家来构建合理网络结构的过程。
梯度提升训练
-
wijk 代表概率表的一个表项,即在给定 Ui 取值 uik 时,网络变量 Yi 值为 yij 的概率。
-
梯度的计算:
∂wijk∂lnP(D∣h)=d∈D∑wijkP(Yi=yij,Ui=uik∣d)
-
梯度的更新:
wijk←wijk+ηd∈D∑wijkPh(yij,uik∣d)
-
权重的归一化:
wijk←∑jwijkwijk
该算法可能找到的是局部最优解。
网络的推断
- 推断出的结果一把都是一个概率分布。
- 利用贝叶斯公式来进行概率的而计算
例如:
- 如果没有任何先验信息判断一个人是否会患心脏病:
- 计算过程
P(HD=Yes)=α∑β∑P(HD=Yes∣E=α,D=β)P(E=α,D=β)
=α∑β∑P(HD=Yes∣E=α,D=β)P(E=α)P(D=β)
=0.25∗0.7∗0.25+0.45∗0.7∗0.75+0.55∗0.3∗0.25+0.75∗0.3∗0.75=0.49
⇒P(HD=No)=1−P(HD=Yes)=0.51
- 已知该人有高血压
- 计算过程
P(BP=高)=∑P(BP=高∣HD=γ)P(HD=γ)
=0.85∗0.49+0.2∗0.51=0.5185
所以患心脏病的后验概率是:
P(HD=Yes∣BP=高)=P(BP=高)P(BP=高∣HD=Yes)P(HD=Yes)
=0.51850.85∗0.49=0.8033
P(HD=No∣BP=高)=0.1967
- 经常锻炼且饮食健康
- 计算方式
P(HD=Yes∣BP=高,D=健康,E=Yes)
=[P(BP=高∣D=健康,E=Yes)P(HD=Yes∣BP=高,D=健康,E=Yes)]∗P(HD=Yes∣D=健康,E=Yes)
=∑γP(BP=高∣HD=γ)P(HD=γ∣D=健康,E=Yes)P(BP=高∣HD=Yes)P(HD=Yes∣D=健康,E=Yes)
=0.85∗0.25+0.2∗0.750.85∗0.25=0.5862
则P(HD=No∣BP=高,D=健康,E=Yes)=0.4138
BBN 的特点
- 提供了一种图模型来捕获先验知识,还可以对变量之间的因果关系进行编码
- 构建网络结构的过程虽然费时费力,但是结构确定了,容易添加新的变量
- 贝叶斯网络很适合处理不完全数据
- 数据和先验信息以概率方式结合,所以可以避免过拟合问题。