朴素贝叶斯法是基于贝叶斯定理和特征条件独立假设的分类方法。首先贝叶斯法通过历史数据,特征条件独立的假设学习联合概率分布 P ( x , y ) P(x,y) P(x,y)。然后基于此模型,对给定的输入 x x x使用贝叶斯定理返回后验概率最大的输出 y y y。
朴素贝叶斯法的学习与分类
基本原理
设样本空间
X
\mathcal{X}
X为
n
n
n维向量的集合,输出空间
Y
\mathcal{Y}
Y为类标记集合,
Y
=
{
c
1
,
c
2
,
⋯
,
c
K
}
\mathcal{Y}=\{c_1,c_2,\cdots,c_K\}
Y={c1,c2,⋯,cK}.
给定数据集
D
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
⋯
,
(
x
N
,
y
N
)
}
D=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\}
D={(x1,y1),(x2,y2),⋯,(xN,yN)}。假设
x
=
(
x
(
1
)
,
x
(
2
)
,
⋯
,
x
(
n
)
)
x=(x^{(1)},x^{(2)},\cdots,x^{(n)})
x=(x(1),x(2),⋯,x(n))为其表示,
x
(
j
)
x^{(j)}
x(j)的可能取值有
S
j
S_{j}
Sj个。
我们首先希望得到联合概率分布
P
(
x
,
y
)
P(x,y)
P(x,y),由贝叶斯公式可得
P
(
x
,
y
)
=
P
(
y
)
P
(
x
∣
y
)
=
P
(
y
)
P
(
(
x
(
1
)
,
x
(
2
)
,
⋯
,
x
(
n
)
)
∣
y
)
P(x,y)=P(y)P(x|y)=P(y)P((x^{(1)},x^{(2)},\cdots,x^{(n)})|y)
P(x,y)=P(y)P(x∣y)=P(y)P((x(1),x(2),⋯,x(n))∣y)
所以等价于学习先验概率分布
P
(
Y
=
c
k
)
P(Y=c_k)
P(Y=ck)与条件概率分布
P
(
X
=
x
∣
Y
=
c
k
)
P(X=x|Y=c_k)
P(X=x∣Y=ck)
对于条件概率分布的学习,我们知道其具有指数级的参数。所以我们给出特征条件独立假设,即
P
(
X
(
1
)
=
x
1
,
X
(
2
)
=
x
2
,
⋯
,
X
(
n
)
=
x
n
∣
Y
=
c
k
)
=
P
(
X
(
1
)
=
x
1
∣
Y
=
c
k
)
P
(
X
(
2
)
=
x
2
∣
Y
=
c
k
)
⋯
P
(
X
(
n
)
=
x
n
∣
Y
=
c
k
)
\begin{aligned} P(X^{(1)}=x_1,&X^{(2)}=x_2,\cdots,X^{(n)}=x_n|Y=c_k)=\\ &P(X^{(1)}=x_1|Y=c_k)P(X^{(2)}=x_2|Y=c_k)\cdots P(X^{(n)}=x_n|Y=c_k) \end{aligned}
P(X(1)=x1,X(2)=x2,⋯,X(n)=xn∣Y=ck)=P(X(1)=x1∣Y=ck)P(X(2)=x2∣Y=ck)⋯P(X(n)=xn∣Y=ck)
条件独立假设相当于在类别给定的情况下,各个特征之间使相互独立的。
通过这样的假设,可以大大使朴素贝叶斯法变得简单,但是在分类准确度上可能会有所降低。
朴素贝叶斯法分类时,对于输入
x
x
x,根据学习到的模型计算
x
x
x属于各个类别的后验概率,选取后验概率最大的类别作为
x
x
x的类别输出。
最大化后验概率
依据最大化后验概率准则进行类别的输出实际上是在选择
0
−
1
0-1
0−1损失函数的基础上,依据期望风险最小化准则而做出的选择。
设损失函数为:
L
(
Y
,
f
(
X
)
)
=
{
0
,
Y
=
f
(
X
)
1
,
Y
≠
f
(
X
)
L(Y,f(X))=\left\{ \begin{aligned} 0,Y=f(X)\\ 1,Y\neq f(X) \end{aligned} \right.
L(Y,f(X))={0,Y=f(X)1,Y=f(X)
则期望风险为:
R
e
x
m
p
=
E
X
L
(
Y
,
f
(
X
)
)
=
E
X
∑
i
=
1
K
L
(
c
i
,
f
(
X
)
)
P
(
Y
=
c
i
∣
X
)
\begin{aligned} R_{exmp}=&E_XL(Y,f(X))\\ =&E_X\sum_{i=1}^KL(c_i,f(X))P(Y=c_i|X)\\ \end{aligned}
Rexmp==EXL(Y,f(X))EXi=1∑KL(ci,f(X))P(Y=ci∣X)
由此可确定
f
(
X
)
f(X)
f(X)所属类别。
f
(
x
)
=
arg
min
y
∈
Y
∑
i
=
1
K
L
(
c
i
,
f
(
X
)
)
P
(
Y
=
c
i
∣
X
)
\begin{aligned} f(x)=\arg\min\limits_{y\in\mathcal{Y}}\sum_{i=1}^KL(c_i,f(X))P(Y=c_i|X)\\ \end{aligned}
f(x)=argy∈Ymini=1∑KL(ci,f(X))P(Y=ci∣X)
所以应取使后验概率最大的类别作为
x
x
x的输出类别。
朴素贝叶斯的参数估计
极大似然估计
使用示性函数来估计先验概率和联合概率。
贝叶斯估计
即在极大似然估计的基础上添加拉普拉斯平滑项。