简介
朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法,属于生成模型。
模型
设输入空间
X
∈
R
n
X\in{R}^n
X∈Rn,输出空间为类别标记集合
Y
=
{
c
1
,
c
2
,
.
.
.
,
c
k
}
Y=\{c_1, c_2,...,c_k\}
Y={c1,c2,...,ck}。X是定义在输入空间上的随机变量,Y是定义在输出空间上的随机变量。
P
(
X
,
Y
)
P(X,Y)
P(X,Y)是X和Y的联合概率分布。
训练数据集
T
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
.
.
.
,
(
x
N
,
y
N
)
}
T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\}
T={(x1,y1),(x2,y2),...,(xN,yN)}由
P
(
X
,
Y
)
P(X,Y)
P(X,Y)独立同分布产生。
朴素贝叶斯法通过训练数据集学习联合概率分布
P
(
X
,
Y
)
P(X,Y)
P(X,Y)。
先验概率分布:
P
=
(
Y
=
c
k
)
P=(Y=c_k)
P=(Y=ck)
条件概率分布:
P
=
(
X
=
x
∣
Y
=
c
k
)
=
P
(
x
(
1
)
,
.
.
.
,
x
(
n
)
∣
Y
=
c
k
)
P=(X=x|Y=c_k)=P(x^{(1)},...,x^{(n)}|Y=c_k)
P=(X=x∣Y=ck)=P(x(1),...,x(n)∣Y=ck)
由条件独立性假设,
P
=
∏
j
P
(
x
(
j
)
∣
Y
=
c
k
)
P=\prod_j{P(x^{(j)}|Y=c_k)}
P=j∏P(x(j)∣Y=ck) (分类的特征在类确定的条件下都是独立的)
后验概率分布:
P
(
Y
=
c
k
∣
X
=
x
)
=
P
(
X
=
x
∣
Y
=
c
k
)
P
(
Y
=
c
k
)
∑
P
(
X
=
x
∣
Y
=
c
k
)
P
(
Y
=
c
k
)
=
P
(
Y
=
c
k
)
∏
P
(
X
(
j
)
=
x
(
j
)
∣
Y
=
c
k
)
∑
P
(
Y
=
c
k
)
∏
P
(
X
(
j
)
=
x
(
j
)
∣
Y
=
c
k
)
P(Y=c_k|X=x)=\frac{P(X=x|Y=c_k)P(Y=c_k)}{\sum{P(X=x|Y=c_k)P(Y=c_k)}}=\frac{P(Y=c_k)\prod{P(X^{(j)}=x^{(j)}|Y=c_k)}}{\sum{P(Y=c_k)}\prod{P(X^{(j)}=x^{(j)}|Y=c_k)}}
P(Y=ck∣X=x)=∑P(X=x∣Y=ck)P(Y=ck)P(X=x∣Y=ck)P(Y=ck)=∑P(Y=ck)∏P(X(j)=x(j)∣Y=ck)P(Y=ck)∏P(X(j)=x(j)∣Y=ck)
于是,朴素贝叶斯分类器可以表示为:
y
=
a
r
g
m
a
x
P
(
Y
=
c
k
)
∏
P
(
X
(
j
)
=
x
(
j
)
∣
Y
=
c
k
)
∑
P
(
Y
=
c
k
)
∏
P
(
X
(
j
)
=
x
(
j
)
∣
Y
=
c
k
)
=
a
r
g
m
a
x
P
(
Y
=
c
k
)
∏
P
(
X
(
j
)
=
x
(
j
)
∣
Y
=
c
k
)
y=argmax\frac{P(Y=c_k)\prod{P(X^{(j)}=x^{(j)}|Y=c_k)}}{\sum{P(Y=c_k)}\prod{P(X^{(j)}=x^{(j)}|Y=c_k)}}=argmax{P(Y=c_k)\prod{P(X^{(j)}=x^{(j)}|Y=c_k)}}
y=argmax∑P(Y=ck)∏P(X(j)=x(j)∣Y=ck)P(Y=ck)∏P(X(j)=x(j)∣Y=ck)=argmaxP(Y=ck)∏P(X(j)=x(j)∣Y=ck)
后验概率最大化的意义:期望风险最小化。
算法
在朴素贝叶斯法中,学习意味着估计
P
(
Y
=
c
k
)
P(Y=c_k)
P(Y=ck)和
P
(
X
(
j
)
=
x
(
j
)
∣
Y
=
c
k
)
P(X^{(j)}=x^{(j)}|Y=c_k)
P(X(j)=x(j)∣Y=ck)。可以应用极大似然估计法估计相应的概率。
先验概率:
P
(
Y
=
c
k
)
=
∑
I
(
y
i
=
c
k
)
N
P(Y=c_k)=\frac{\sum{I(y_i=c_k)}}{N}
P(Y=ck)=N∑I(yi=ck)
条件概率:
P
(
X
(
j
)
=
a
j
l
∣
Y
=
c
k
)
=
∑
I
(
x
i
(
j
)
=
a
j
l
,
y
i
=
c
k
)
∑
I
(
Y
i
=
c
k
)
P(X^{(j)}=a_{jl}|Y=c_k)=\frac{\sum{I(x_i^{(j)}=a_{jl},y_i=c_k)}}{\sum{I(Y_i=c_k)}}
P(X(j)=ajl∣Y=ck)=∑I(Yi=ck)∑I(xi(j)=ajl,yi=ck)
其中,
x
i
(
j
)
x_i^{(j)}
xi(j)是第i个样本的第j个特征,
a
j
l
a_{jl}
ajl是第j个特征可能取的第l个值。
用极大似然估计可能会出现所要估计的概率值为0的情况,这时会影响到后验概率的计算结果,使分类产生偏差。解决这一问题的方法是采用贝叶斯估计。
P
λ
(
X
(
j
)
=
a
j
l
∣
Y
=
c
k
)
=
∑
I
(
x
i
(
j
)
=
a
j
l
,
y
i
=
c
k
)
+
λ
∑
I
(
y
i
=
c
k
)
+
S
j
λ
P_\lambda(X^{(j)}=a_{jl}|Y=c_k)=\frac{\sum{I(x_i^{(j)}=a_{jl},y_i=c_k)}+\lambda}{\sum{I(y_i=c_k)+S_j\lambda}}
Pλ(X(j)=ajl∣Y=ck)=∑I(yi=ck)+Sjλ∑I(xi(j)=ajl,yi=ck)+λ
其中
λ
>
=
0
\lambda>=0
λ>=0,
S
j
S_j
Sj是第j个特征可能取的值的个数。
常取
λ
=
1
\lambda=1
λ=1,这时被称为Laplace平滑。
同样的,
P
k
(
Y
=
c
k
)
=
∑
(
I
(
y
i
=
c
k
)
+
λ
N
+
K
λ
P_k(Y=c_k)=\frac{\sum(I(y_i=c_k)+\lambda}{N+K\lambda}
Pk(Y=ck)=N+Kλ∑(I(yi=ck)+λ
其中K是Y的取值可能性个数。
参考文献
《统计学习方法》 李航