统计学习方法第四章----朴素贝叶斯法

朴素贝叶斯法是基于贝叶斯定理特征条件独立假设的分类方法。

4.1 朴素贝叶斯法的学习与分类

4.1.1 基本方法

输入空间\chi \subseteq R^{n}n维向量的集合,输出空间为标记集合Y=\left \{ c_{1},c_{2},...,c_{K} \right \}.P(X,Y)是X和Y的联合概率分布。训练数据集

T=\left \{ \left ( x_{1} ,y_{1}\right ) ,\left ( x_{2} ,y_{2}\right ),...,\left ( x_{N} ,y_{N}\right )\right \}由P(X,Y)独立同分布产生。

朴素贝叶斯法通过训练数据集学习联合概率分布P(X,Y)。具体的,学习以下先验概率分布及条件概率分布。

先验概率分布P(Y=c_{k}),k=1,2,...,K                                                                                           (4.1)

条件概率分布P\left ( X=x|Y=c_{k} \right )=P\left ( X^{\left ( 1 \right )}=x^{\left ( 1 \right )} ,...,X^{\left ( n \right )}=x^{\left ( n\right )}|Y=c_{k}\right ),k=1,2,...,K      (4.2) 

于是学习到联合概率分布P\left ( X,Y \right )

朴素贝叶斯法对条件概率分布做了条件独立性假设

P\left ( X=x|Y=c_{k} \right )=P\left ( X^{\left ( 1 \right )}=x^{\left ( 1 \right )} ,...,X^{\left ( n \right )}=x^{\left ( n\right )}|Y=c_{k}\right )=\prod_{j=1}^{n}P\left ( X^{\left ( j \right )}=x^{\left ( j\right )}|Y=c_{k} \right )          (4.3)

朴素贝叶斯法实际上学习到生成数据机制,所以属于生成模型。条件独立假设等于是说用于分类的特征在类确定的条件下都是条件独立的。

朴素贝叶斯法分类时,对给定的输入x,通过学习到的模型计算后验概率分布P(Y=c_{k}|X=x),将后验概率最大的类作为x的类输出。后验概率计算根据贝叶斯定理进行:

P(Y=c_{k}|X=x)=\frac{P(X=x|Y=c_{k})P\left ( Y=c_{k} \right )}{\sum _{k}P(X=x|Y=c_{k})P\left ( Y=c_{k} \right )}                    (4.4)

将(4.3)带入(4.4)中得

P(Y=c_{k}|X=x)=\frac{P\left ( Y=c_{k} \right )\prod_{j=1}^{n}P\left ( X^{\left ( j \right )}=x^{\left ( j\right )}|Y=c_{k} \right )}{\sum _{k}P\left ( Y=c_{k} \right )\prod_{j=1}^{n}P\left ( X^{\left ( j \right )}=x^{\left ( j\right )}|Y=c_{k} \right )}          (4.5)

朴素贝叶斯分类器可表示为

y=f\left ( x \right )=argmax(c_{k})\frac{P\left ( Y=c_{k} \right )\prod_{j=1}^{n}P\left ( X^{\left ( j \right )}=x^{\left ( j\right )}|Y=c_{k} \right )}{\sum _{k}P\left ( Y=c_{k} \right )\prod_{j=1}^{n}P\left ( X^{\left ( j \right )}=x^{\left ( j\right )}|Y=c_{k} \right )}        (4.6)

因为4.6中分母对所有c_{k}都是相同的,所以

y=argmax(c_{k}){P\left ( Y=c_{k} \right )\prod_{j=1}^{n}P\left ( X^{\left ( j \right )}=x^{\left ( j\right )}|Y=c_{k} \right )}                          (4.7)

4.1.2 后验概率最大化的含义

朴素贝叶斯法将实例分到后验概率最大的类中。等价于将期望风险最小化。假设选择0-1损失函数:

L\left ( Y,f\left ( x \right ) \right )=\left\{\begin{matrix} 1,Y\neq f\left ( x \right ) & \\ 0,Y=f\left ( x \right ) & \end{matrix}\right.

式中f\left ( x \right )是分类决策函数。这时,期望风险函数为

R_{exp}\left ( f \right )=E\left [ L(Y,f\left ( x \right )) \right ]

期望是对联合分布P(X,Y)取的。由此取条件期望

R_{exp}\left ( f \right )=E_{X}\sum_{k=1}^{K}[L\left ( c_{k},f\left ( X \right ) \right )]P\left ( c_{k} |X\right )

为了使期望风险最小化,只需对X=x逐个极小化,由此得到:

f\left ( x \right )=argmin_{y\in Y}\sum_{k=1}^{K}[L\left ( c_{k} ,y )]P\left ( c_{k}|X=x\right )=argmin_{y\in Y}\sum_{k=1}^{K}P\left ( y\neq c_{k} |X=x\right )=argmin_{y\in Y}\left ( 1- P\left ( y= c_{k} |X=x\right )\right )=argmax_{y\in Y}P\left ( y= c_{k} |X=x\right )

根据期望风险最小化准则,得到了后验概率最大化准则:

f\left ( x \right )=argmax_{y\in Y}P\left (c_{k} |X=x\right )

这就是朴素贝叶斯法所采用的原理。

4.2 朴素贝叶斯法的参数估计

4.2.1 极大似然估计

在朴素贝叶斯法中,学习意味着估计P\left ( Y=c_{k} \right )P\left ( X^{j}=x^{j}|Y=c_{k} \right ),可以用极大似然估计法估计相应的概率。先验概率P\left ( Y=c_{k} \right )的极大似然估计是

P\left ( Y=c_{k} \right )=\frac{\sum_{i=1}^{N}I\left ( y_{i}=c_{k} \right )}{N},k=1,2,...,K                                        (4.8)

设第j个特征x^{j}可能取值的集合为\left \{ a_{j1}, a_{j2},...,a_{jS_{j}}\right \},条件概率P\left ( X^{\left ( j \right )}=a_{jl}|Y=c_{k} \right )的极大似然估计是

P\left ( X^{\left ( j \right )}=a_{jl}|Y=c_{k} \right )=\frac{\sum_{i=1}^{n}I\left ( X_{i}^{\left ( j \right )}=a_{jl},y_{i}=c_{k} \right )}{ \sum_{i=1}^{N}I\left (y_{i}=c_{k} \right )}                          (4.9)

式中x_{i}^{\left ( j\right )}是第i个样本的第j个特征,a_{jl}是第j个特征的第l个值;I为指示函数。

4.2.2 学习与分类算法

算法4.1(朴素贝叶斯算法)

输入:训练数据T=\left \{ \left ( x_{1} ,y_{1}\right ),\left ( x_{2} ,y_{2}\right ),...,\left ( x_{N} ,y_{N}\right ) \right \},其中x_{i}=\left ( x_{i}^{1} ,x_{i}^{2},...,x_{i}^{n} \right )^{T},x_{i}^{(j)}=\left \{ a_{j1} ,a_{j2},...,a_{jS_{j}}\right \},y_{i}\in \left \{ c_{1} ,c_{2},...,c_{K}\right \};实例x;

输出:实例x的分类。

(1)计算先验概率及条件概率

P\left ( Y=c_{k} \right )=\frac{\sum_{i=1}^{N}I\left ( y_{i}=c_{k} \right )}{N},k=1,2,...,K

P\left ( X^{\left ( j \right )}=a_{jl}|Y=c_{k} \right )=\frac{\sum_{i=1}^{n}I\left ( X_{i}^{\left ( j \right )}=a_{jl},y_{i}=c_{k} \right )}{ \sum_{i=1}^{N}I\left (y_{i}=c_{k} \right )}

(2)对于给定的实例x=\left ( x^{\left ( 1 \right )}, x^{\left ( 2 \right )},..., x^{\left ( n \right )}\right )^{T},计算

P\left ( Y=c_{k} \right )\prod_{j=1}^{n}P\left ( X^{\left ( j \right )} =x^{\left ( j \right )}|Y=c_{k}\right )

4.2.3 贝叶斯估计

用极大似然估计可能会出现所要估计的概率值为0的情况。这时会用影响到后验概率的计算结果,使分类产生偏差。解决这一问题的方法是采用贝叶斯估计。条件概率的贝叶斯估计是

P_{\lambda }\left ( X^{\left ( j \right )}=a_{jl}|Y=c_{k} \right )=\frac{\sum_{i=1}^{n}I\left ( X_{i}^{\left ( j \right )}=a_{jl},y_{i}=c_{k}\right )+\lambda }{ \sum_{i=1}^{N}I\left (y_{i}=c_{k} \right )+S_{j}\lambda }                           (4.10)

\lambda \geqslant 0。等价于在随机变量各个取值的频数上赋予一个正数。当\lambda =0时就是极大似然估计。\lambda =1,为拉普拉斯平滑。

先验概率的贝叶斯估计是

P_{\lambda }\left ( Y=c_{k} \right )=\frac{\sum_{i=1}^{N}I\left ( y_{i}=c_{k} \right )+\lambda }{N+K\lambda }                                                                    (4.11)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值