朴素:特征条件独立;贝叶斯:基于贝叶斯定理。
朴素贝叶斯是经典的机器学习算法之一,也基于概率论的分类算法,属于监督学习的生成模型。朴素贝叶斯原理简单,也很容易实现,多用于文本分类,比如垃圾邮件过滤。
1.算法思想——基于概率的预测
贝叶斯决策论是概率框架下实施决策的基本方法。对分类任务来说,在所有相关概率都已知的情况下,贝叶斯决策论考虑如何基于这些概率和误判损失来选择最优的标记类别。
2. 理论基础
2.1 贝叶斯定理
这个定理解决了现实生活中经常遇到的问题:已知某条件概率,如何得到两个时间交换后的概率,也就是已知P(B∣A)的情况下如何求得P(A∣B)
条件概率P(B∣A):事件B已经发生的情况下,事件A发生的概率。
基本求解公式为:
贝叶斯定理之所以有用,是因为在我们生活中经常遇到这种情况:我们很容易得到P(A∣B),P(B∣A)则很难直接得出,但我们更关心P(B∣A),贝叶斯定理则为我们打通从P(A∣B)获得P(B∣A)的道路。
贝叶斯定理:
先验概率:是指根据以往经验和分析得到的概率.
后验概率:事情已经发生,要求这件事情发生的原因是由某个因素引起的可能性的大小。
2.2 朴素贝叶斯定理
朴素贝叶斯分类是一种十分简单的分类算法,叫它朴素贝叶斯分类是因为这种方法的思想朴素,朴素贝叶斯的思想基础是这样的:
对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别。
通俗来说,就好比这么个道理,你在街上看到一个黑人,你猜这大哥哪里来的,你十有八九猜非洲。为什么呢?因为黑人中非洲人的比率最高,当然人家也可能是美洲人或亚洲人,但在没有其它可用信息下,我们会选择条件概率最大的类别,这就是朴素贝叶斯的思想基础。
朴素贝叶斯最核心的部分是贝叶斯法则,而贝叶斯法则的基石即条件概率。贝叶斯法则如下:
P(x∣c):类条件概率,是所有属性上的联合概率分布,难以从有限的训练集直接估计而得。
朴素贝叶斯分类的正式定义如下:
1、设
x
=
a
1
,
a
2
,
a
3
,
.
.
.
,
a
m
x={a_{1},a_{2},a_{3},...,a_{m}}
x=a1,a2,a3,...,am为一个待分类项,而每个a为x的一个特征属性。
2、有类别集合C={
y
1
,
y
2
,
y
3
,
.
.
.
,
y
n
y_{1},y_{2},y_{3},...,y_{n}
y1,y2,y3,...,yn}
3、计算
P
(
y
1
∣
x
)
,
P
(
y
2
∣
x
)
,
P
(
y
3
∣
x
)
,
.
.
.
.
.
.
,
P
(
y
n
∣
x
)
P(y_{1}∣x),P(y_{2}∣x),P(y_{3}∣x),......,P(y_{n}∣x)
P(y1∣x),P(y2∣x),P(y3∣x),......,P(yn∣x)
4、如果
P
(
y
k
∣
x
)
=
m
a
x
P
(
y
1
∣
x
)
,
P
(
y
2
∣
x
)
,
.
.
.
.
.
.
,
P
(
y
n
∣
x
)
P(y_{k}∣x)=max{P(y1∣x),P(y2∣x),......,P(yn∣x)}
P(yk∣x)=maxP(y1∣x),P(y2∣x),......,P(yn∣x),则
x
∈
y
k
x∈y_{k}
x∈yk。
那么现在的关键就是如何计算第3步中的各个条件概率。我们可以这么做:
1、找到一个已知分类的待分类项集合,这个集合叫做训练样本集。
2、统计得到在各类别下各个特征属性的条件概率估计。即:
3、如果各个特征属性是条件独立的,则根据贝叶斯定理有如下推导:
因为分母对于所有类别为常数,因为我们只要将分子最大化皆可。又因为各特征属性是条件独立的(朴素贝叶斯采用“属性条件独立性假设”,对已知类别,假设所有属性相互独立),所以有:
所以,上式可写为:
m为属性数目,
x
j
x_{j}
xj为x在第j个属性上的取值。
对于所有类别来说P(x)相同,因此基于
h
∗
(
x
)
=
a
r
g
m
a
x
P
(
y
∣
x
)
h∗(x)=argmaxP(y∣x)
h∗(x)=argmaxP(y∣x)贝叶斯判定准则有:
这就是朴素贝叶斯分类器的表达式.