机器学习——朴素贝叶斯法提要
朴素贝叶斯方法相较于其他机器学习方法,原理简单,实现方便,效率较高,学术领域内常用作baseline同其他方法进行比较。
理论依据
贝叶斯定理
P(Bi|A)=P(Bi)P(A|Bi)∑nj=1P(Bj)P(A|Bj)
P
(
B
i
|
A
)
=
P
(
B
i
)
P
(
A
|
B
i
)
∑
j
=
1
n
P
(
B
j
)
P
(
A
|
B
j
)
理论假设:不同特征之间条件独立分布。
学习内容
先验概率分布
P(Y=Ck)
P
(
Y
=
C
k
)
条件概率分布
P=(X=x|Y=ck)
P
=
(
X
=
x
|
Y
=
c
k
)
在此基础上进行预测任务(后验概率):
y=argmaxCkP(Y=Ck)∏jP(Xj=xj|Y=Ck)
y
=
a
r
g
max
C
k
P
(
Y
=
C
k
)
∏
j
P
(
X
j
=
x
j
|
Y
=
C
k
)
这样一来,实例x将被分到后验概率最大的类中,这将使得期望风险最小。
至于先验概率和条件概率怎么得出,大致有两种方法:
1. 极大似然估计
P(Y=ck)=∑i=1NI(yi=ck)/N,k=1,2...K
P
(
Y
=
c
k
)
=
∑
i
=
1
N
I
(
y
i
=
c
k
)
/
N
,
k
=
1
,
2...
K
P(Xj=ajl|Y=ck)=∑Ni=1I(xji=ajl,yi=ck)∑Ni=1I(yi=ck)
P
(
X
j
=
a
j
l
|
Y
=
c
k
)
=
∑
i
=
1
N
I
(
x
i
j
=
a
j
l
,
y
i
=
c
k
)
∑
i
=
1
N
I
(
y
i
=
c
k
)
ajl是第j个特征可能取得第l个值。
2. 贝叶斯估计
极大似然估计可能会出现所要估计的概率值为0的情况,这会影响到后验概率的计算结果。为了解决这个问题,提出了新的条件概率和先验概率估计方法:
Pλ(Xj=ajl|Y=ck)=∑Ni=1I(xji=ajl,yi=ck)+λ∑Ni=1I(yi=ck)+Sλ
P
λ
(
X
j
=
a
j
l
|
Y
=
c
k
)
=
∑
i
=
1
N
I
(
x
i
j
=
a
j
l
,
y
i
=
c
k
)
+
λ
∑
i
=
1
N
I
(
y
i
=
c
k
)
+
S
λ
Pλ(Y=ck)=∑Ni=1I(yi=ck)+λN+Kλ
P
λ
(
Y
=
c
k
)
=
∑
i
=
1
N
I
(
y
i
=
c
k
)
+
λ
N
+
K
λ
算法提炼
(1)计算先验概率和条件概率x;
(2)对于给定的实例,计算后验最大值对应的y的类别。