统计学习方法 李航第三章 朴素贝叶斯

朴素贝叶斯法(通俗易懂版本)

一.先验概率与后验概率

1.先验概率

对于一个未知的事情根据经验产生的概率称之为先验概率,不需要样本数据,也不受任何数据影响。

2.后验概率

概率论中贝叶斯公式就是计算后验概率的。先验概率与后验概率是相互依存,不可分开的,即具有后验概率肯定是知道先验概率,而先验概率是后验概率的基础。

3.两者的具体区分与例子

例子1:一个学校有60%的男生,40%的女生,学校有10%的学生戴眼镜,假设随机挑选一个同学,戴眼镜的男生概率是15%,戴眼镜的女生概率是5%,那么随机挑选一个戴眼镜的学生,学生为男生的后验概率P(男生|戴眼镜)。

请注意,在这个题目中问的是学生是男生的后验概率,P(男生)=0.6是这道题目的先验概率,不受戴眼镜的因素的影响,而P(戴眼镜)=0.15不是先验概率,只是一个普通的概率,一定要注意先验概率与后验概率的相互依存性,根据题目的设定而定
例子2:一个水果店出售两种水果:苹果和橙子,60%是苹果,40%是橙子,已经苹果中有10%是绿色的,橙子中有20%是绿色的,那么随机体现一个绿色的果实,这个果实是苹果的后验概率P(苹果|绿色)
在这个例子中,问的是果实是苹果的后验概率,则P(苹果)=0.6,是先验概率

二.朴素贝叶斯法

1.概念

朴素贝叶斯法是根据贝叶斯公式和特征条件独立假设的分类方法,即朴素贝叶斯法在应用时最主要的两个原则就是贝叶斯公式和独立假设,因为独立假设使得问题简单化,所以称为朴素贝叶斯或者简单贝叶斯。
对于给定的训练集,首先通过学习得到输入输出的联合分布的模型,然后根据此模型,对于给定的输入x,利用贝叶斯定理求出后验概率最大的输出y。后验概率最大化等价于第一章提到的期待风险最小化。

由浅入深例子:上述的例子2中,随机取出一个绿色的果实,如果果实是苹果的后验概率是0.78,而果实是橙子的后验概率是0.35,则对于任意的一个绿色果实,机器模型给出的结果就是苹果。

2.朴素贝叶斯法涉及到的概率知识

1.如果X和Y 相互独立,则P(X,Y)=P(X)P(Y);P(X,Y)=P(X)P(Y);P(X,Y)=P(X)P(Y);
2.条件概率公式:P(Y∣X)=P(X,Y)/P(X)P(X∣Y)=P(X,Y)/P(Y)得到P(Y∣X)=P(X∣Y)P(Y)/P(X).P(Y|X)=P(X,Y)/P(X) \\ P(X|Y)=P(X,Y)/P(Y)\\ 得到 P(Y|X)=P(X|Y)P(Y)/P(X).PYX=P(X,Y)/P(X)P(XY)=P(X,Y)/P(Y)得到P(YX)=P(XY)P(Y)/P(X).

深刻理解:上面的最后一个公式已经深刻描述了朴素贝叶斯的精髓P(X|Y)与P(Y|X)的关系。

根据上面的公式来理解一个常见的例子,垃圾邮件分类,别人给我发来一个邮件,如何根据邮件内容判断是否为垃圾邮件?
就是求P(垃圾邮件|邮件内容),我们可以知道的是根据大量的垃圾邮件来训练,知道这些垃圾邮件经常出现的邮件内容,即知道P(邮件内容|垃圾邮件)。
根据上面的公式 P(垃圾邮件∣邮件内容)=P(邮件内容∣垃圾邮件)∗P(垃圾邮件)P(邮件内容)P(垃圾邮件|邮件内容)=\frac{P(邮件内容|垃圾邮件)*P(垃圾邮件)}{P(邮件内容)} P(垃圾邮件邮件内容)=P(邮件内容)P(邮件内容垃圾邮件)P(垃圾邮件)
P(非垃圾∣邮件内容)=P(邮件内容∣非垃圾邮件)∗P(非垃圾)P(邮件内容)P(非垃圾|邮件内容)=\frac{P(邮件内容|非垃圾邮件)*P(非垃圾)}{P(邮件内容)} P(非垃圾邮件内容)=P(邮件内容)P(邮件内容非垃圾邮件)P(非垃圾)
注意一点就是:其实P(邮件内容)的概率是没有用处的,因为判断是否为垃圾邮件,最重要的是上面分子的概率。
此时问题转化为求这两个概率,P(邮件内容|垃圾邮件)与P(垃圾邮件)。
其中P(垃圾邮件)是这道题目的先验概率,是根据以往的数据集训练出来的。

利用大数定律,当样本足够多时,垃圾邮件出现的频率就是P(垃圾邮件)。

关键在于P(邮件内容|垃圾邮件),每一封邮件作为一个样本,关键是根据训练的过程中找到几个垃圾邮件的标志性词汇(注意是以词语为基础,而不是以单个字为基础),比如“恭喜”,“奖励”等等作为样本的特征,在后文中以字母A,B,C…代替一封邮件的的特征。

注意体会垃圾邮件分类中模型的建立过程。

在朴素贝叶斯法假设,样本的特征之间是相互独立的,即
P(邮件内容|垃圾邮件)=P(A|垃圾邮件)*P(B|垃圾邮件)*P(C|垃圾邮件)…
那么如果有一个词汇,并没有在训练集中出现,不能简单的把概率视为0,对于乘积而言,一旦为0,整体结果也就为0,所以采用一种方法叫拉普拉斯平滑,他的主要思想是,这个新出现的词汇是1,同时也把所有的特征词+1。
此时对于每个特征词汇的概率计算就成了:
P(e)=c(e)+1N+∣E∣P(e)=\frac{c(e)+1}{N+|E|}P(e)=N+Ec(e)+1
c(e) 是事件 e 在训练数据中出现的次数。
N 是训练数据中所有事件的总数。
∣E∣ 是事件集合 E 的大小。
分母中的 N+∣E∣ 是为了平滑,其中 N是所有事件的总数,而 ∣E∣ 是为了给未观察到的事件也分配一定的概率,如果不理解,后面还有具体的例子。

3.全概率公式 :P(X)=∑kP(X∣Y=Yk)P(Yk)其中∑kP(Yk)=1 P(X) = \sum_{k} P(X \mid Y=Y_k) P(Y_k) \text{其中} \sum_{k} P(Y_k) = 1 P(X)=kP(XY=Yk)P(Yk)其中kP(Yk)=1
4.由此得到贝叶斯公式:P(Yk∣X)=P(X∣Yk)P(Yk)∑kP(X∣Y=Yk)P(Yk) P(Y_k \mid X) = \frac{P(X \mid Y_k) P(Y_k)}{\sum_k P(X \mid Y=Y_k) P(Y_k)} P(YkX)=kP(XY=Yk)P(Yk)P(XYk)P(Yk)

2.朴素贝叶斯的例子

我们由一个竞赛中的真实案例引出概念,在看这个例子之前还是要好好看一下上面给出的朴素贝叶斯的概念,这样会比较好理解一些。

假设你有一个电子邮件数据集,其中包含标记为“垃圾邮件”和“非垃圾邮件”的邮件。你的目标是构建一个分类器,能够自动将新的邮件分类为“垃圾邮件”或“非垃圾邮件”。
数据集特征:

邮件长度(特征1):邮件的字数。
包含特定关键词的次数(特征2):邮件中包含“赢取”、“立即行动”等关键词的次数
是否包含可疑链接(特征3):邮件中是否包含可疑的URL链接。
发送者是否在联系人列表中(特征4):邮件发送者是否是收件人联系人列表中的一员。
邮件发送时间(特征5):邮件发送的时间(例如,工作日/周末,白天/晚上)。
邮件长度 关键词次数 包含可疑链接 发送者在联系人列表中 邮件发送时间 邮件类型(标签)
100 0 工作日白天 非垃圾邮件
200 2 工作日晚上 垃圾邮件
150 1 周末白天 非垃圾邮件
300 3 工作日白天 垃圾邮件

由于需要大量的数据,下面只是给出计算的关键步骤,下面的例子里面给出具体的计算步骤。
步骤一:计算先验概率P(垃圾邮件),即在大量样本中,垃圾邮件占总数的比例。
步骤二:计算条件概率
对应的就是上面的这个步骤P(邮件内容|垃圾邮件)=P(A|垃圾邮件)*P(B|垃圾邮件)*P(C|垃圾邮件)…
只不过在上面的题目我们假设一封邮件的特征是几个词汇,即ABC,在这道题目我们假设的特征是上文提到的5个特征。

P(邮件内容|垃圾邮件)=P(邮件长度|垃圾邮件)*P(包含特定关键词的次数|垃圾邮件)*P(是否包含可疑链接|垃圾邮件)*P(发送者是否在联系人列表中|垃圾邮件)*P( 邮件发送时间|垃圾邮件)
构建常见分布模型
①邮件长度
遵循正态分布 P(邮件长度∣垃圾邮件)=12πσ12e−(x1−μ1)22σ12P(邮件长度|垃圾邮件) = \frac{1}{\sqrt{2\pi\sigma_1^2}} e^{-\frac{(x_1-\mu_1)^2}{2\sigma_1^2}}P(邮件长度垃圾邮件)=2πσ12 </

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值