版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/KevinBetterQ/article/details/84500964
一. 朴素贝叶斯分类介绍
首先,对于更定数据集
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
…
,
(
x
m
,
y
m
)
}
\{ (x_1,y_1),(x_2,y_2),…,(x_m,y_m) \}
{ ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x m , y m ) } ,可以得到
P
(
X
∣
Y
)
P(X|Y)
P ( X ∣ Y ) 和
P
(
Y
)
P(Y)
P ( Y ) 的估计;(基于特征条件独立假设和先验概率) 然后,利用
P
(
X
,
Y
)
=
P
(
X
∣
Y
)
P
(
Y
)
P(X,Y) = P(X|Y)P(Y)
P ( X , Y ) = P ( X ∣ Y ) P ( Y ) 可以学习 联合概率分布 ; 最后,对于确定的
x
x
x ,通过比较不同
y
y
y 值的
P
(
y
∣
x
)
=
P
(
x
,
y
)
P
(
x
)
P(y|x) = \frac{P(x,y)}{P(x)}
P ( y ∣ x ) = P ( x ) P ( x , y ) 的大小,得到最大的
P
P
P 所对应的
y
y
y 即为输出
y
y
y 值。(比较后验概率)
这里有必要解释一下先验概率和后验概率: 1、先验概率 :统计概率,通过历史的数据统计出的事情发生的概率 2、后验概率 :条件概率,当下由因及国的概率 例子: 先验——根据若干年的统计(经验)或者气候(常识),某地方下雨的概率; 后验——根据天上有乌云(原因或者证据/观察数据),下雨(结果)的概率; 3、似然 :是根据已知结果去推测固有性质的可能性,是对固有性质的拟合程度。在乎的是 x 和 y 的搞演习,拟合程度,所以不能称为概率,为似然函数。 似然——下雨(果)的时候有乌云(因/证据/观察的数据)的概率,即已经有了果,对证据发生的可能性描述;
二. 算法推导详解
1、朴素贝叶斯法利用贝叶斯定理和学到的联合概率模型进行分类预测: 其实就是一个公式(求解后验概率分布):
P
(
Y
∣
X
)
=
P
(
X
,
Y
)
P
(
X
)
P(Y|X) = \frac{P(X,Y)}{P(X)}
P ( Y ∣ X ) = P ( X ) P ( X , Y )
P
(
X
,
Y
)
P(X,Y)
P ( X , Y ) : 通过训练数据学习获得,第2节介绍
P
(
X
)
P(X)
P ( X ) :因为模型最终根据输入 X 的分类是通过比较不同输出 y 的 P(Y|X) 大小来确定。而对于相同的 X ,其 P(X) 是确定的,对于大小比较没有影响,所以 P(X) 就不需要计算了。
所以,朴素贝叶斯分类模型 (非最终版):
y
=
a
r
g
  
m
a
x
c
k
  
P
(
X
=
x
,
Y
=
c
k
)
y = arg \; {max}_{c_k} \; P(X=x,Y=c_k)
y = a r g m a x c k P ( X = x , Y = c k ) 样本数据用于训练联合概率分布
P
(
X
,
Y
)
P(X,Y)
P ( X , Y ) ,模型做的就是将输入 x 分到后验概率最大的类 y 。
2、如何训练得到联合概率分布 P(X,Y):
P
(
X
,
Y
)
=
P
(
Y
)
P
(
X
∣
Y
)
P(X,Y) = P(Y)P(X|Y)
P ( X , Y ) = P ( Y ) P ( X ∣ Y ) 1)P(X|Y)计算过程: 朴素贝叶斯的基本假设是条件独立性,称为 特征条件独立性假设 :
P
(
X
=
x
∣
Y
=
c
k
)
=
P
(
X
(
1
)
=
x
(
1
)
,
…
,
X
(
n
)
=
x
(
n
)
∣
Y
=
c
k
)
=
∏
j
=
1
n
P
(
X
(
j
)
=
x
(
j
)
∣
Y
=
c
k
)
\begin {aligned} P(X=x|Y=c_k) &= P(X^{(1)}=x^{(1)},…,X^{(n)}=x^{(n)}|Y=c_k)\\ &=\prod_{j=1}^{n}P(X^{(j)}=x^{(j)}|Y=c_k) \end {aligned}
P ( X = x ∣ Y = c k ) = P ( X ( 1 ) = x ( 1 ) , … , X ( n ) = x ( n ) ∣ Y = c k ) = j = 1 ∏ n P ( X ( j ) = x ( j ) ∣ Y = c k )
条件独立性假设: 等于是说用于分类的特征在类确定的情况下都是条件独立的。 ”这是一个较强的假设。由于这一假设,模型包含的条件概率的数量大大减少,朴素贝叶斯法的学习和预测大为简化。因此朴素贝叶斯法高效且易于实现,但牺牲了一定的分类准确率“
2)
P
(
Y
=
c
k
)
P(Y=c_k)
P ( Y = c k ) 的计算过程: 就是统计所有样本中
Y
=
c
k
Y=c_k
Y = c k 的样本数占所有样本的比例,不用管 X 。
3、朴素贝叶斯分类模型 (最终版) :
y
=
a
r
g
  
m
a
x
c
k
  
P
(
Y
=
c
k
)
∏
j
=
1
n
P
(
X
(
j
)
=
x
(
j
)
∣
Y
=
c
k
)
y = arg \; {max}_{c_k} \; P(Y=c_k)\prod_{j=1}^{n}P(X^{(j)}=x^{(j)}|Y=c_k)
y = a r g m a x c k P ( Y = c k ) j = 1 ∏ n P ( X ( j ) = x ( j ) ∣ Y = c k ) 模型做的就是将输入
x
i
=
(
x
i
(
1
)
,
x
i
(
2
)
,
…
,
x
i
(
n
)
)
T
x_i=(x_i^{(1)},x_i^{(2)},…,x_i^{(n)})^T
x i = ( x i ( 1 ) , x i ( 2 ) , … , x i ( n ) ) T 分到后验概率最大的类
c
k
c_k
c k 中。
注意:这里利用样本数据学习到的是一个分布(联合概率分布 P(X,Y)),而不是像其它ML模型训练那样学习参数。
三. 附上《统计学习方法》中的算法流程
参考: 1《统计学习方法》李航 2 机器学习知识点(二十七)先验概率和后验概率理解