【机器学习】贝叶斯分类器

一看到贝叶斯,就想起了概率论与数理统计,emmm,很不喜欢概率论,然而又不得不学(╥╯^╰╥)

【贝叶斯公式】

不管怎么样,复习贝叶斯公式是关键。
通常把某事件 Y Y 的发生概率叫做实验前概率,又叫先验概率,记作P(Y),若事件 X X Y有某种关系,即 Y Y X不是互相独立的,那么 X X 发生后,Y发生的概率被叫做条件概率或者实验后概率,又叫后验概率,记作 P(Y|X) P ( Y | X )
         P(Y|X)=P(YX)P(X) P ( Y | X ) = P ( Y X ) P ( X ) (条件概率公式)
X1X2...Xn X 1 、 X 2 、 . . . X n 这n个事件相互独立,即当且仅当 Xi X i 中任意一个发生时 Y Y 才发生,则:
P(Y)=P(X1)P(Y|X1)+P(X2)P(Y|X2)+...+P(Xn)P(Y|Xn) =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 ,利用贝叶斯定理求出后验概率最大的输出y
假设 X X 是定义在输入空间上的随机变量,Y是定义在输出空间上的随机变量。输入空间 xi x i ∈ { x1,x2,...,xN x 1 , x 2 , . . . , x N },第 i i 个样本的第j个特征有 m m 个取值,即xi(j){ 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 ,计算它的后验概率分布):
P(Y=ck|X=x)=P(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)=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 1,2,..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)(ckjajl)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,a13A,B,CX(2)a21,a220,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 )
ckxck 求 类 为 c k 时 实 例 x 的 所 有 特 征 的 条 件 概 率 和 类 为 c k 的 先 验 概 率 之 积 ,
P(Y=ck|X=x) 即 P ( Y = c k | X = x )
xx(1)Cx(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 )
ckP(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 ) 求 一 下 概 率 ,
xck(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)+λ(ckjajl+λ)i=1NI(yi=ck)+mλ(ck+λ×xm) 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),用来描述属性的联合概率分布,即把各节点和它的直接父节点关联起来。

参考文献:《统计学习方法》、《机器学习》、《数据挖掘导论》

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值