分类-朴素贝叶斯(高斯多项式伯努利)
Posted 吾仄lo咚锵
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分类-朴素贝叶斯(高斯多项式伯努利)相关的知识,希望对你有一定的参考价值。
文章目录
简介
贝叶斯分类器主要思想是基于贝叶斯定理,是机器学习中重要的分类算法,适用于高维度的大数据集,速度快,准确率高,一个经典的应用场景是识别垃圾邮件。
首先需要知道一些概率论的知识:
- 先验概率
根据经验和分析得到的概率。 - 条件概率
事件B发生的前提下,事件A发生的概率。 - 后验概率
结果发生之后,推测原因的概率。
比如箱子里有4个小球,3个蓝色1个红色,且分别标有数字0和1:
那么我们很容易知道先验概率:
P(红)=
1
4
\\frac14
41,P(蓝)=
3
4
\\frac34
43
P(0)=
1
2
\\frac12
21,P(1)=
1
2
\\frac12
21
相应的条件概率:
P(1|蓝)=
2
3
\\frac23
32,P(0|蓝)=
1
3
\\frac13
31
P(1|红)=
0
0
0,P(0|红)=
1
1
1
比如P(1|蓝)表示抽中蓝色球的前提下,数字是1的概率。也就是3个蓝球中有两个为1。
往往困难的是后验概率的计算,比如知道结果是数字0,那导致结果(数字0)的条件(颜色)概率怎么计算?即P(蓝|0)和P(红|0)。
虽然这个例子的后验概率也能一眼看出,那假设不知道,又如何通过先验概率和条件概率进行求解呢?这就是贝叶斯定理解决的问题。
贝叶斯公式如下:
P
(
A
∣
B
)
=
P
(
A
)
P
(
B
∣
A
)
P
(
B
)
P(A|B)=\\fracP(A)~P(B|A)P(B)
P(A∣B)=P(B)P(A) P(B∣A)
带入公式:
P
(
蓝
∣
0
)
=
P
(
蓝
)
P
(
0
∣
蓝
)
P
(
0
)
=
3
4
⋅
1
3
1
2
=
1
2
P(蓝|0)=\\fracP(蓝)P(0|蓝)P(0)=\\frac\\frac34·\\frac13\\frac12=\\frac12
P(蓝∣0)=P(0)P(蓝)P(0∣蓝)=2143⋅31=21
P
(
红
∣
0
)
=
P
(
红
)
P
(
0
∣
红
)
P
(
0
)
=
1
4
⋅
1
1
2
=
1
2
P(红|0)=\\fracP(红)P(0|红)P(0)=\\frac\\frac14·1\\frac12=\\frac12
P(红∣0)=P(0)P(红)P(0∣红)=2141⋅1=21
对应验证图中两个数字0的球中,1个蓝色,1个红色。
贝叶斯模型
设特征向量 X \\bold X X有 n n n个属性,即 X = x 1 , x 2 , … , x n \\bold X=\\x_1,x_2,…,x_n\\ X=x1,x2,…,xn,标签 Y Y Y有 K K K个类,记为 C 1 , C 2 , … , C K \\C_1,C_2,…,C_K\\ C1,C2,…,CK,在训练样本中用极大似然法统计频率,从而学习到先验分布 P ( Y = C k ) , ( k = 1 , 2 , . . . , K ) P(Y=C_k),(k=1,2,...,K) P(Y=Ck),(k=1,2,...,K),同样也可以学习到条件分布 P ( X = x ∣ Y = C k ) = P ( X 1 = x 1 , X 2 = x 2 , … , X n = x n ∣ Y = C k ) P(\\bold X=\\bold x|Y=C_k)=P(X_1=x_1,X_2=x_2,\\dots,X_n=x_n|Y=C_k) P(X=x∣Y=Ck)=P(X1=x1,X2=x2,…,Xn=xn∣Y=Ck)。
对于新的测试数据
x
\\bold x
x,利用贝叶斯公式,就可求得属于第
k
k
k个类别
C
k
C_k
Ck的概率:
P
(
Y
=
C
k
∣
X
=
x
)
=
P
(
Y
=
C
k
)
P
(
X
=
x
∣
Y
=
C
k
)
P
(
X
=
x
)
P(Y=C_k|\\bold X=\\bold x)=\\fracP(Y=C_k)~P(\\bold X=\\bold x|Y=C_k)P(\\bold X=\\bold x)
P(Y=Ck∣X=x)=P(X=x)P(Y=Ck) P(X=x∣Y=Ck)
最后比较属于各个类别的概率 P ( Y = C k ∣ X = x ) , ( k = 1 , 2 , … , K ) P(Y=C_k|\\bold X=\\bold x),(k=1,2,\\dots,K) P(Y=Ck∣X=x),(k=1,2,…,K),将概率最大的作为预测类别。
朴素贝叶斯
但是上述模型中存在一个头疼的问题: P ( X 1 = x 1 , X 2 = x 2 , … , X n = x n ∣ Y = C k ) P(X_1=x_1,X_2=x_2,\\dots,X_n=x_n|Y=C_k) P(X1=x1,X朴素贝叶斯:朴素贝叶斯定义朴素贝叶斯公式分解朴素贝叶斯分类流程高斯型朴素贝叶斯多项式朴素贝叶斯伯努利型朴素贝叶斯朴素贝叶斯预测概率校准朴素贝叶斯优缺点
三种常用的朴素贝叶斯实现算法——高斯朴素贝叶斯伯努利朴素贝叶斯多项式朴素贝叶斯