一看到贝叶斯,就想起了概率论与数理统计,emmm,很不喜欢概率论,然而又不得不学(╥╯^╰╥)
【贝叶斯公式】
不管怎么样,复习贝叶斯公式是关键。
通常把某事件
Y
Y
的发生概率叫做实验前概率,又叫先验概率,记作,若事件
X
X
和有某种关系,即
Y
Y
和不是互相独立的,那么
X
X
发生后,发生的概率被叫做条件概率或者实验后概率,又叫后验概率,记作
P(Y|X)
P
(
Y
|
X
)
P(Y|X)=P(YX)P(X)
P
(
Y
|
X
)
=
P
(
Y
X
)
P
(
X
)
(条件概率公式)
若
X1、X2、...Xn
X
1
、
X
2
、
.
.
.
X
n
这n个事件相互独立,即当且仅当
Xi
X
i
中任意一个发生时
Y
Y
才发生,则:
=∑i=1nP(Xi)P(Y|Xi)
=
∑
i
=
1
n
P
(
X
i
)
P
(
Y
|
X
i
)
(全概率公式)
又因为
P(Y|X)P(X)=P(X|Y)P(Y)
P
(
Y
|
X
)
P
(
X
)
=
P
(
X
|
Y
)
P
(
Y
)
(乘法公式)
所以
P(Xk|Y)=P(Y|Xk)P(Xk)P(Y)
P
(
X
k
|
Y
)
=
P
(
Y
|
X
k
)
P
(
X
k
)
P
(
Y
)
将
P(Y)=∑i=1nP(Xi)P(Y|Xi)
P
(
Y
)
=
∑
i
=
1
n
P
(
X
i
)
P
(
Y
|
X
i
)
带入上式,可得:
P(Xk|Y)=P(Y|Xk)P(Xk)∑i=1nP(Xi)P(Y|Xi)
P
(
X
k
|
Y
)
=
P
(
Y
|
X
k
)
P
(
X
k
)
∑
i
=
1
n
P
(
X
i
)
P
(
Y
|
X
i
)
【条件独立性】
举个《数据挖掘导论》上的例子,一个人的手臂长短和他的阅读能力之间的关系。我们可能会发现手臂较长的人阅读能力也较强,这种关系可以用另一个原因去解释,那就是年龄,小孩子的手臂较短,且相较于成年人,阅读能力也较弱。当我们固定年龄这一因素后,就会发现手臂长短和阅读能力之间的关系就消失了,因此可以得出结论,年龄一定时,手臂长短和阅读能力条件独立。
我们在朴素贝叶斯中会用到这一性质,即
x(1)i,x(2)i,...x(n)i
x
i
(
1
)
,
x
i
(
2
)
,
.
.
.
x
i
(
n
)
之间条件独立,对于样本
xi
x
i
来说,它的分类为
ck
c
k
的条件概率为:
P(Xi=xi|Y=ck)=P(X(1)i=x(1)i|Y=ck)P(X(2)i=x(2)i|Y=ck)...P(X(n)i=x(n)i|Y=ck)=∏j=1nP(X(j)i=x(j)i|Y=ck)
P
(
X
i
=
x
i
|
Y
=
c
k
)
=
P
(
X
i
(
1
)
=
x
i
(
1
)
|
Y
=
c
k
)
P
(
X
i
(
2
)
=
x
i
(
2
)
|
Y
=
c
k
)
.
.
.
P
(
X
i
(
n
)
=
x
i
(
n
)
|
Y
=
c
k
)
=
∏
j
=
1
n
P
(
X
i
(
j
)
=
x
i
(
j
)
|
Y
=
c
k
)
【朴素贝叶斯分类器】
基于
x(1)i,x(2)i,...x(n)i
x
i
(
1
)
,
x
i
(
2
)
,
.
.
.
x
i
(
n
)
特征之间条件独立假设,朴素贝叶斯学习输入、输出的联合概率分布,然后基于此模型,对给定的输入
x
x
,利用贝叶斯定理求出后验概率最大的输出。
假设
X
X
是定义在输入空间上的随机变量,是定义在输出空间上的随机变量。输入空间
xi∈
x
i
∈
{
x1,x2,...,xN
x
1
,
x
2
,
.
.
.
,
x
N
},第
i
i
个样本的第个特征有
m
m
个取值,即{
aj1,aj2,...,ajm
a
j
1
,
a
j
2
,
.
.
.
,
a
j
m
},输出空间的类有
yi∈
y
i
∈
{
c1,c2,...,cK
c
1
,
c
2
,
.
.
.
,
c
K
}
朴素贝叶斯分类器基本公式为(对于给定输入
x
x
,计算它的后验概率分布):
朴素贝叶斯分类器可表示为:
y=f(x)=argmaxckP(Y=ck)∏j=1nP(X(j)=x(j)|Y=ck)∑k=1KP(Y=ck)∏j=1nP(X(j)=x(j)|Y=ck)
y
=
f
(
x
)
=
a
r
g
max
c
k
P
(
Y
=
c
k
)
∏
j
=
1
n
P
(
X
(
j
)
=
x
(
j
)
|
Y
=
c
k
)
∑
k
=
1
K
P
(
Y
=
c
k
)
∏
j
=
1
n
P
(
X
(
j
)
=
x
(
j
)
|
Y
=
c
k
)
【朴素贝叶斯的参数估计】
对于我们训练出来的朴素贝叶斯分类器,我们希望对于每一个训练样本的正确分类的后验概率都是越大越好,比如对于样本 x1 x 1 ,它的真实标签是 c3 c 3 ,则我们希望 P(Y=c3|X=x1) P ( Y = c 3 | X = x 1 ) 在所有 P(Y=ck|X=x1) P ( Y = c k | X = x 1 ) 中的值最大。( k k 取)
极大似然估计
①先验概率
P(Y=ck)=∑i=1NI(yi=ck)(全部训练样本中类为ck的数量)N(训练样本的总数) P ( Y = c k ) = ∑ i = 1 N I ( y i = c k ) ( 全 部 训 练 样 本 中 类 为 c k 的 数 量 ) N ( 训 练 样 本 的 总 数 )
②条件概率
P(X(j)=ajl|Y=ck)=∑i=1NI(x(j)i=ajl,yi=ck)(全部样本中类为ck且第j个特征是ajl值的数量)∑i=1NI(yi=ck)(全部训练样本中类为ck的数量)
P
(
X
(
j
)
=
a
j
l
|
Y
=
c
k
)
=
∑
i
=
1
N
I
(
x
i
(
j
)
=
a
j
l
,
y
i
=
c
k
)
(
全
部
样
本
中
类
为
c
k
且
第
j
个
特
征
是
a
j
l
值
的
数
量
)
∑
i
=
1
N
I
(
y
i
=
c
k
)
(
全
部
训
练
样
本
中
类
为
c
k
的
数
量
)
比如X(1)有三种取值a11,a12,a13分别是A,B,C;X(2)有两种取值a21,a22分别是0,1。。。
比
如
X
(
1
)
有
三
种
取
值
a
11
,
a
12
,
a
13
分
别
是
A
,
B
,
C
;
X
(
2
)
有
两
种
取
值
a
21
,
a
22
分
别
是
0
,
1
。
。
。
③对于给定的实例 x=(x(1),x(2),...,x(m)) x = ( x ( 1 ) , x ( 2 ) , . . . , x ( m ) )
计算
P(Y=ck|X=x)=P(Y=ck)P(X(1)=x(1)|Y=ck)P(X(2)=x(2)|Y=ck)...P(X(m)=x(m)|Y=ck)=P(Y=ck)∏j=1mP(X(j)=x(j)|Y=ck)
P
(
Y
=
c
k
|
X
=
x
)
=
P
(
Y
=
c
k
)
P
(
X
(
1
)
=
x
(
1
)
|
Y
=
c
k
)
P
(
X
(
2
)
=
x
(
2
)
|
Y
=
c
k
)
.
.
.
P
(
X
(
m
)
=
x
(
m
)
|
Y
=
c
k
)
=
P
(
Y
=
c
k
)
∏
j
=
1
m
P
(
X
(
j
)
=
x
(
j
)
|
Y
=
c
k
)
求类为ck时实例x的所有特征的条件概率和类为ck的先验概率之积,
求
类
为
c
k
时
实
例
x
的
所
有
特
征
的
条
件
概
率
和
类
为
c
k
的
先
验
概
率
之
积
,
即P(Y=ck|X=x)
即
P
(
Y
=
c
k
|
X
=
x
)
比如实例x的第一个特征x(1)为C;第二个特征x(2)为1。。。
比
如
实
例
x
的
第
一
个
特
征
x
(
1
)
为
C
;
第
二
个
特
征
x
(
2
)
为
1
。
。
。
④确定实例的类
y=argmaxckP(Y=ck)∏j=1mP(X(j)=x(j)|Y=ck)
y
=
a
r
g
max
c
k
P
(
Y
=
c
k
)
∏
j
=
1
m
P
(
X
(
j
)
=
x
(
j
)
|
Y
=
c
k
)
对于每一个类别ck都用P(Y=ck)∏j=1mP(X(j)=x(j)|Y=ck)求一下概率,
对
于
每
一
个
类
别
c
k
都
用
P
(
Y
=
c
k
)
∏
j
=
1
m
P
(
X
(
j
)
=
x
(
j
)
|
Y
=
c
k
)
求
一
下
概
率
,
哪个类别概率最大,就将输入实例x划分为那个类别(ck∈(c1,c2,...,cK))
哪
个
类
别
概
率
最
大
,
就
将
输
入
实
例
x
划
分
为
那
个
类
别
(
c
k
∈
(
c
1
,
c
2
,
.
.
.
,
c
K
)
)
贝叶斯估计
由于用极大似然估计可能会出现要估计的概率值为0的情况(比如某个类为
ck
c
k
特征为
ajl
a
j
l
的样本在训练样本上没有出现过,那么
∑i=1NI(x(j)i=ajl,yi=ck)
∑
i
=
1
N
I
(
x
i
(
j
)
=
a
j
l
,
y
i
=
c
k
)
将会等于0,对于条件概率来说,分子为0了,条件概率也就为0了),这样会使后验概率(条件概率)的计算结果出现问题,导致分类产生偏差。
因此采用贝叶斯估计,即加上一个
λ≥0
λ
≥
0
,常取
λ=1
λ
=
1
,这时被称为拉普拉斯平滑
①先验概率
Pλ(Y=ck)=∑i=1NI(yi=ck)+λ(全部训练样本中类为ck的数量+λ)N+Kλ(训练样本的总数+λ×类的个数K) P λ ( Y = c k ) = ∑ i = 1 N I ( y i = c k ) + λ ( 全 部 训 练 样 本 中 类 为 c k 的 数 量 + λ ) N + K λ ( 训 练 样 本 的 总 数 + λ × 类 的 个 数 K )
②条件概率
Pλ(X(j)=ajl|Y=ck)=∑i=1NI(x(j)i=ajl,yi=ck)+λ(全部样本中类为ck且第j个特征是ajl值的数量+λ)∑i=1NI(yi=ck)+mλ(全部训练样本中类为ck的数量+λ×每个样本x中的特征数量m) P λ ( X ( j ) = a j l | Y = c k ) = ∑ i = 1 N I ( x i ( j ) = a j l , y i = c k ) + λ ( 全 部 样 本 中 类 为 c k 且 第 j 个 特 征 是 a j l 值 的 数 量 + λ ) ∑ i = 1 N I ( y i = c k ) + m λ ( 全 部 训 练 样 本 中 类 为 c k 的 数 量 + λ × 每 个 样 本 x 中 的 特 征 数 量 m )
③对于给定的实例 x=(x(1),x(2),...,x(m)) x = ( x ( 1 ) , x ( 2 ) , . . . , x ( m ) )
计算 P(Y=ck)P(X(1)=x(1)|Y=ck)P(X(2)=x(2)|Y=ck)...P(X(m)=x(m)|Y=ck)=P(Y=ck)∏j=1mP(X(j)=x(j)|Y=ck) P ( Y = c k ) P ( X ( 1 ) = x ( 1 ) | Y = c k ) P ( X ( 2 ) = x ( 2 ) | Y = c k ) . . . P ( X ( m ) = x ( m ) | Y = c k ) = P ( Y = c k ) ∏ j = 1 m P ( X ( j ) = x ( j ) | Y = c k )
④确定实例的类
y=argmaxckP(Y=ck)∏j=1mP(X(j)=x(j)|Y=ck) y = a r g max c k P ( Y = c k ) ∏ j = 1 m P ( X ( j ) = x ( j ) | Y = c k )
条件独立性是一个较强的假设,根据这个假设,朴素贝叶斯模型中包含的条件概率的数量大为减少,使得它的学习与预测大大简化,因而朴素贝叶斯法高效,且易实现,当然其缺点就是分类的性能不一定很高。(即对于无关属性来说,朴素贝叶斯是高效的,但对于相关属性来说,条件独立性的假设不成立,因此会降低分类性能)
对于孤立的噪声点,朴素贝叶斯是健壮的,因为在数据中估计条件概率时,这些点会被平均。
【半朴素贝叶斯分类器和贝叶斯信念网络】
关于半朴素贝叶斯分类器和贝叶斯信念网络,具体的内容就没有继续探究下去了,记了一下概念和常用的方法,心中有个印象,^_^等以后进阶再去读一读PRML。
半朴素贝叶斯分类器
周志华老师的西瓜书上还有提到一种半朴素贝叶斯分类器,其由来是因为在现实任务中,条件独立性假设往往很难成立,因此,我们对条件独立性进行一定程度的放松。即适当考虑一部分属性(特征)间的相互依赖信息,从而既不需要进行完全联合概率的计算,又不至于彻底忽略了比较强的属性依赖关系。
朴素贝叶斯的常用策略有:
ODE(One-Dependent Estimator,独依赖估计),独依赖即假设每个属性在类别之外最多仅依赖于其他一个属性。
SPODE(Super-Parent ODE),假设所有属性都依赖于同一个属性(超父属性),通过交叉验证等模型选择方法确定超父属性。
TAN(Tree Augmented naïve Bayes),在最大带权生成树基础上,将属性间依赖关系约简为树形结构。
AODE(Averaged One-Dependent Estimator),一种基于集成学习的独依赖分类器,它尝试将每个属性作为超父属性来构建SPODE,然后确定那些具有足够训练数据支撑的SPODE集成起来作为最终结果。
贝叶斯信念网络
贝叶斯信念网络(Bayesian belief networks,BBN),简称贝叶斯网络,它用图形表示一组随机变量之间的概率关系。主要有两个组成成分:
(1)有向无环图(Directed Acyclic Graph,DAG),用来刻画属性之间的依赖关系
(2)条件概率表(Conditional Probability Table,CPT),用来描述属性的联合概率分布,即把各节点和它的直接父节点关联起来。
参考文献:《统计学习方法》、《机器学习》、《数据挖掘导论》