统计机器学习--朴素贝叶斯法

虽然进度很慢,但是我还是继续做统计机器学习的学习记录,今天要记录的是朴素贝叶斯。

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

1.1 基本方法

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

                                                                $P\left(Y=c_{k}\right), \quad k=1,2, \cdots, K$

条件概率分布

                              $P\left(X=x | Y=c_{k}\right)=P\left(X^{(1)}=x^{(1)}, \cdots, X^{(n)}=x^{(n)} | Y=c_{k}\right), \quad k=1,2, \cdots, K$

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

朴素贝叶斯法对条件概率分布作了条件独立性的假设,由于这是一个较强的假设,朴素贝叶斯法也由此得名。具体地,条件独立性假设是

                                           $\begin{aligned} P\left(X=x | Y=c_{k}\right) &=P\left(X^{(1)}=x^{(1)}, \cdots, X^{(n)}=x^{(n)} | Y=c_{k}\right) \\ &=\prod_{j=1}^{n} P\left(X^{(j)}=x^{(j)} | Y=c_{k}\right) \end{aligned}$  (4.3)

哎呀,抄书一时爽,一直抄书一直爽,好了,抄到这里也该开始解释解释了。

其实以上的内容都很清晰的,不过首先要明确一点,为什么要计算这个东西出来呢,因为为了计算后验概率(哈哈,宛如废话),所以接下来贴后面的公式。(其实还是因为书已经很简洁了,我才只能抄书的,贼委屈)。

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

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

 将式(4.3)代入式(4.4)有

                               P\left(Y=c_{k} | X=x\right)=\frac{P\left(Y=c_{k}\right) \prod_{j} P\left(X^{(j)}=x^{(j)} | Y=c_{k}\right)}{\sum_{k} P\left(Y=c_{k}\right) \prod_{j} P\left(X^{(j)}=x^{(j)} | Y=c_{k}\right)}, \quad k=1,2, \cdots, K

 这是朴素贝叶斯法分类的基本公式,于是,朴素贝叶斯分类器可表示为

                                        y=f(x)=\arg \max _{c_{k}} \frac{P\left(Y=c_{k}\right) \prod_{j} P\left(X^{(j)}=x^{(j)} | Y=c_{k}\right)}{\sum_{k} P\left(Y=c_{k}\right) \prod_{j} P\left(X^{(j)}=x^{(j)} | Y=c_{k}\right)}  (4.6)

能这么写的原因是,上面提到,将后验概率最大的类作为x的类输出,所以y值得到的是一个类别的概率,并且这个类别是概率最大的那个类别。

注意到,在式(4.6)中分母对所有c_{k}都是相同的,所以,

                                                   y=\arg \max _{c_{k}} P\left(Y=c_{k}\right) \prod_{j} P\left(X^{(j)}=x^{(j)} | Y=c_{k}\right)

1.2 后验概率最大化的含义

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

                                                    L(Y, f(X))=\left\{\begin{array}{ll}{1,} & {Y \neq f(X)} \\ {0,} & {Y=f(X)}\end{array}\right.

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

                                                         R_{\exp }(f)=E[L(Y, f(X))]

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

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

为了使期望风险最小化,只需对X=x逐个极小化(我想,这就是最关键的地方,毕竟这是体现其朴素所在),由此得到:

                                               \begin{aligned} f(x) &=\arg \min _{y \in \mathcal{Y}} \sum_{k=1}^{K} L\left(c_{k}, y\right) P\left(c_{k} | X=x\right) \\ &=\arg \min _{y \in \mathcal{Y}} \sum_{k=1}^{K} P\left(y \neq c_{k} | X=x\right) \\ &=\arg \min _{y \in \mathcal{Y}}\left(1-P\left(y = c_{k} | X=x\right)\right) \\ &=\arg \max _{y \in \mathcal{Y}} P\left(y=c_{k} | X=x\right) \end{aligned}

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

                                                         f(x)=\arg \max _{c_{k}} P\left(c_{k} | X=x\right)

即朴素贝叶斯法所采用的原理。

这部分内容还是比较清晰的,主要就是两部分,一部分就是极小化损失,一部分就是每个x独立,可以单独极小化损失。

二. 朴素贝叶斯法的参数估计

2.1 极大似然估计

在朴素贝叶斯法中,学习以为着估计P\left(Y=c_{k}\right)\bg_white 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}, \quad k=1,2, \cdots, K{\color{DarkOrange} }

emmm,难道别的极大似然估计不是这么写的吗?

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

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

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

学渣想知道什么是指示函数,然后我就去百度了一下,emmm,我果然是学渣。

2.2 学习与分类算法

我大概将流程贴一下好了,这一部分其实还是蛮简单的,基本得流程和朴素贝叶斯法的特性都有体现,但其中省略了降低损失的细节。

输入:训练数据:T=\left\{\left(x_{1}, y_{1}\right),\left(x_{2}, y_{2}\right), \cdots,\left(x_{N}, y_{N}\right)\right\}

输出:实例x的分类

算法流程:

1. 计算先验概率及条件概率。(参照4.2.1)

2. 对给定的实例,计算每个类别的概率

3. 确定实例x的类,选择概率最大的类别。

2.3 贝叶斯估计

所谓的贝叶斯估计就是在极大似然估计的基础上加上平滑项,防止出现概率值为0的情况。

 

总结:朴素贝叶斯法的复杂性并不高,甚至可以说是比之前的模型还要简单,不过就是使用了概率整个麻烦的东西,有时候真的并不是很好理解。

三. 引用

1. 《统计机器学习》 -- 李航

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值