1. 贝叶斯定理在分类中的应用
P ( Y ∣ X ) = P ( X ∣ Y ) P ( Y ) / P ( X ) P(Y | \mathbf X)= P(\mathbf X|Y)P(Y)/P(\mathbf X) P(Y∣X)=P(X∣Y)P(Y)/P(X)
在比较不同 Y Y Y值的后验概率时, P ( X ) P(\mathbf X) P(X)是常数,先验概率 P ( Y ) P(Y) P(Y)可以通过计算训练集中属于每个类的训练记录所占的比例很容易地估计,类条件概率 P ( X ∣ Y ) P(\mathbf X|Y) P(X∣Y)的估计我们介绍两种贝叶斯分类方法的实现:(1)朴素贝叶斯分类器(2)贝叶斯信念网
2. 朴素贝叶斯分类器
朴素贝叶斯分类器在估计类条件概率时假设属性之间条件独立,即
P ( X ∣ Y = y ) = ∏ i = 1 d P ( X i ∣ Y = y ) P(\mathbf X|Y=y)=\prod_{i=1}^dP(X_i|Y=y) P(X∣Y=y)=∏i=1dP(Xi∣Y=y)
每个属性集 X = { X 1 , X 2 , ⋯ , X d } \mathbf X = \left \{ X_1,X_2, \cdots, X_d \right \} X={X1,X2,⋯,Xd}
有了条件独立的假设,就不必计算 X \mathbf X X的每一组合的类条件概率,只需对给定的 Y Y Y,计算每一个 X i X_i Xi的条件概率
分类测试记录时,朴素贝叶斯分类器对每个类 Y Y Y计算后验概率:
P ( Y ∣ X ) = P ( Y ) ∏ i = 1 d P ( X i ∣ Y ) / P ( X ) P(Y | \mathbf X)= P(Y)\prod_{i=1}^d P(X_i|Y)/P(\mathbf X) P(Y∣X)=P(Y)∏i=1dP(Xi∣Y)/P(X)
分母为常数,故只要找出使得分子 P ( Y ) ∏ i = 1 d P ( X i ∣ Y ) P(Y)\prod_{i=1}^d P(X_i|Y) P(Y)∏i=1dP(Xi∣Y)最大的类就足够了
估计分类属性的条件概率
对分类属性
X
i
X_i
Xi,根据类
y
y
y中属性值等于
x
i
x_i
xi的训练实例的比例来估计条件概率
P
(
X
i
=
x
i
∣
Y
=
y
)
P(X_i=x_i|Y=y)
P(Xi=xi∣Y=y)
估计连续属性的条件概率
朴素贝叶斯分类器使用两种方法估计连续属性的类条件概率:
(1)把一个连续的属性离散化,通过计算类 y y y的训练记录落入 X i X_i Xi对应区间的比例来估计条件概率 P ( X i ∣ Y = y ) P(X_i|Y=y) P(Xi∣Y=y). 估计误差由离散策略和离散区间的数目决定
(2)假设连续变量服从某概率分布,然后使用训练数据估计分布的参数。高斯分布通常被用来表示连续属性的类条件概率分布:
P ( X i = x i ∣ Y = y ) = 1 2 π σ i j e − ( x i − μ i j ) 2 2 σ i j 2 P(X_i=x_i|Y=y)= \frac{1}{ \sqrt{2 \pi } \sigma_{ij} }e^{- \frac{(x_i-\mu_{ij})^2}{2\sigma_{ij}^2}} P(Xi=xi∣Y=y)=2πσij1e−2σij2(xi−μij)2
可以用类 y i y_i yi的所有训练记录关于 X i X_i Xi的样本均值 x ˉ \bar x xˉ估 μ i j \mu _{ij} μij,用训练记录的样本方差 s 2 s^2 s2估 σ i j 2 \sigma_{ij}^2 σij2
连续随机变量的密度函数在某一特定点的概率为0,故我们应该计算 X i X_i Xi落在区间 x i x_i xi到 x i + ε x_i+\varepsilon xi+ε的条件概率, ε \varepsilon ε是一个非常小的常数
P ( x i ⩽ X i ⩽ x i + ε ∣ Y = y i ) = ∫ x i x i + ε f d X i ≈ f × ε P(x_i\leqslant X_i \leqslant x_i + \varepsilon|Y=y_i)=\int_{x_i}^{x_i+\varepsilon}fdX_i \approx f \times \varepsilon P(xi⩽Xi⩽xi+ε∣Y=yi)=∫xixi+εfdXi≈f×ε
由于 ε \varepsilon ε是每个类的一个常量乘法因子,在对厚颜概率进行规范化的时候就抵消掉了
条件概率的m估计
有一个潜在问题:如果有一个属性的类条件概率等于0,则整个类的厚颜概率等于0. 仅使用记录比例来估计类条件概率的方法想的太脆弱,尤其当训练样例很少而且属性数目又很大
一种极端的情况是,当训练样例不能覆盖那么多的属性值时,我们可能就无法分类某些测试记录。解决该问题的途径是使用 m估计:
P ( x i ∣ y j ) = n c + m p n + m P(x_i|y_j) = \frac{n_c+mp}{n+m} P(xi∣yj)=n+mnc+mp
n n n是类 y j y_j yj中的实例总数, n c n_c nc是类 y j y_j yj的训练样例中取值为 x i x_i xi的样例数, m m m是称为等价样本大小的参数, p p p是用户指定的参数。如果没有训练集( n = 0 n=0 n=0),则 P ( x i ∣ y j ) = p P(x_i|y_j)=p P(xi∣yj)=p,因此 p p p可以看做是在类 y j y_j yj的记录中观察属性 x i x_i xi的先验概率。等价样本大小决定先验概率 p p p和观测概率 n c / n n_c/n nc/n之间的平衡
3. 朴素贝叶斯分类器的特征
- 面对鼓励的噪声点,朴素贝叶斯分类器是稳健的。因为从数据中估计条件概率时,这些点会被平均。通过在建模和分类时忽略样例,朴素贝叶斯分类器也可以处理属性值遗漏问题
- 面对无关属性,该分类器是稳健的。如果 X i X_i Xi是无关属性,那么 P ( X i ∣ Y P(X_i|Y P(Xi∣Y几乎变成了均匀分布。 X i X_i Xi的类条件概率不会对总的后验概率的计算产生影响
- 相关属性可能会降低朴素贝叶斯分类器的性能,因为对这些属性,条件独立的假设已不成立
4. 贝叶斯误差率
当先验概率不同时,决策边界朝着先验概率较小的类移动。
E
r
r
o
r
=
∫
o
x
^
P
(
鳄
鱼
∣
X
)
d
X
+
∫
x
^
∞
P
(
美
洲
鳄
∣
X
)
d
X
Error = \int_o^{\hat x}P(鳄鱼|X)dX+\int_{\hat x}^{\infty}P(美洲鳄|X)dX
Error=∫ox^P(鳄鱼∣X)dX+∫x^∞P(美洲鳄∣X)dX
5. 贝叶斯信念网络(BBN)
该方法不要求给定类的所有属性都条件独立,而是允许指定哪些属性条件独立。
5.1 模型表示
BBN用图形表示一组随机变量之间的概率关系,主要由两个部分组成:
(1)一个有向无环图,表示变量之间的依赖关系
(2)一个概率表,把各结点和它的直接父节点关联起来
图中每个结点表示一个变量,每条弧表示两个变量之间的依赖关系,如果从X到Y有一条弧,则X是Y的父母,Y是X的子女。另外,如果网络中存在一条从X到Z的有向路径,则X是Z的祖先,Z是X的后代
BNN的一个重要性质表述如下:
条件独立 贝叶斯网络中的一个结点,如果它的父母结点已知,则它条件独立于它的所有非后代结点
除了网络拓扑结构要求的条件独立性外,每个结点还关联一个概率表
(1)如果结点 X 没有父母结点,则表中只包含先验概率
P
(
X
)
P(X)
P(X)
(2)如果结点 X 只有一个父母结点 Y,则表中包含条件概率
P
(
X
∣
Y
)
P(X|Y)
P(X∣Y)
(3)如果结点 X 有多个父母结点 {Y1, Y2,…, Yk},则表中包含条件概率
P
(
X
∣
Y
1
,
Y
2
,
⋯
,
Y
k
)
P(X|Y_1,Y_2,\cdots,Y_k)
P(X∣Y1,Y2,⋯,Yk)
5.2 建立模型
BNN的建模包括两个步骤:(1)创建网络结构(2)估计没一个结点的概率表中的概率值。网络拓扑结构可以通过对主观的领域专家知识编码获得。
我们对变量采用不同的排序方案,得到的网络拓扑结构可能会有变化某些拓扑结构可能质量很差,因为它在不同的结点对之间产生了很多条弧。从理论上讲,可能需要检查所有
d
!
d!
d!种可能的排序才能确定最佳的拓扑结构,这样计算量相当之大。替代的方法是吧把变量分为原因变量和结果变量,然后从各原因变量向其对应的结果变量画弧
一旦找到了适合的拓扑结构,与各结点关联的概率表就确定了。对这些概率的估计与朴素贝叶斯分类器中所用方法一样
5.3 BBN的特点
- BBN提供了一种图形模型来捕捉特定领域的先验知识的方法。网络还恶意用来对变量间的因果依赖关系进行编码
- 构造网络费时费力,一旦网络确定下来,添加新变量就十分容易
- BBN很适合处理不完全的数据,对有属性遗漏的实例可以通过对该属性的所有可能取值的概率求和或求积分加以处理
- 因为数据和先验知识以概率的方式结合起来了,所以该方法对模型的过拟合问题是非常鲁棒的