第四章朴素贝叶斯法
朴素贝叶斯(naive Bayes)法是基于贝叶斯定理与 特征条件独立假设的 分类方法。对于给定的训练数据集,首先基于特征条件独立假设学习输入/输出的联合概率分布 P ( X , Y ) P(X,Y) P(X,Y);然后基于此模型,对给定的输入 x x x,利用贝叶斯定理求出后验概率最大的输出 y y y。
4.1 朴素贝叶斯法的学习与分类
4.1.1 基本方法
设输入空间
X
⊆
R
n
\mathcal{X}\sube{{\bf R}^n}
X⊆Rn为
n
n
n维向量的集合,输出空间为类标记集合
Y
=
{
c
1
,
c
2
,
⋯
,
c
k
}
.
\mathcal{Y}=\{c_1,c_2,\dotsb,c_k\}.
Y={c1,c2,⋯,ck}.输入为特征向量
x
∈
X
x\in\mathcal X
x∈X,输出为类标记(class label)
y
∈
Y
y\in \mathcal Y
y∈Y。
X
X
X是定义再输入空间
X
\mathcal X
X上的随机向量,
Y
Y
Y是定义在输出空间
Y
\mathcal Y
Y上的随机变量。
P
(
X
,
Y
)
P(X,Y)
P(X,Y)是
X
X
X和
Y
Y
Y的联合概率分布。训练数据集
T
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
⋯
,
(
x
N
,
y
N
)
}
T=\{(x_1,y_1),(x_2,y_2),\dotsb,(x_{\tiny N},y_{\tiny 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
)
,
k
=
1
,
2
,
⋯
,
K
(4.1)
P(Y=c_k),k=1,2,\dotsb,K\tag{4.1}
P(Y=ck),k=1,2,⋯,K(4.1)条件概率分布
P
(
X
=
x
∣
Y
=
c
k
)
=
P
(
X
(
1
)
=
x
(
1
)
,
⋯
,
X
(
n
)
=
x
(
n
)
∣
Y
=
c
k
)
,
k
=
1
,
2
,
⋯
,
K
(4.2)
P(X=x|Y=c_k)=P(X^{(1)}=x^{(1)},\dotsb,X^{(n)}=x^{(n)}|Y=c_{\tiny k}),k=1,2,\dotsb,K\tag{4.2}
P(X=x∣Y=ck)=P(X(1)=x(1),⋯,X(n)=x(n)∣Y=ck),k=1,2,⋯,K(4.2)于是学习到联合概率分布
P
(
X
∣
Y
)
.
P(X|Y).
P(X∣Y).
条件概率分布
P
(
X
=
x
∣
Y
=
c
k
)
P(X=x|Y=c_k)
P(X=x∣Y=ck)有指数级的参数,其估计实际是不可行的。事实上,假设x^{(j)}可取值有
S
j
S_j
Sj个,
j
=
1
,
2
,
⋯
,
n
,
Y
j=1,2,\dotsb,n,Y
j=1,2,⋯,n,Y可取值有
K
K
K个,那么参数个数为
K
∏
j
=
1
n
S
j
K\prod_{j=1}^{n}S_j
K∏j=1nSj.
朴素贝叶斯法对条件概率分布作了条件独立性的假设。由于这是一个较强的假设,朴素贝叶斯法也由此得名。具体地,条件独立性假设是
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
)
(4.3)
\begin{aligned} P(X=x|Y=c_k) &= P(X^{(1)}=x^{(1)},\dotsb,X^{(n)}=x^{(n)}|Y=c_k)\\ &=\prod_{j=1}^{n}P(X^{(j)}=x^{(j)}|Y=c_k)\tag{4.3} \end{aligned}
P(X=x∣Y=ck)=P(X(1)=x(1),⋯,X(n)=x(n)∣Y=ck)=j=1∏nP(X(j)=x(j)∣Y=ck)(4.3)
朴素贝叶斯法实际上学习到生成数据的机制,所以属于生成模型。条件独立假设相当于用于分类的特征在类确定的条件下都是条件独立的。这一假设使朴素贝叶斯法变得简单,但有时会牺牲一定的分类准确率。
朴素贝叶斯法分类时,对给定的输入
x
x
x,通过学习到的模型计算后验概率分布
P
(
Y
=
c
k
∣
X
=
x
)
P(Y=c_k|X=x)
P(Y=ck∣X=x),将后验概率最大的类作为
x
x
x的类输出。后验概率计算根据贝叶斯定理进行:
P
(
Y
=
c
k
∣
X
=
x
)
=
P
(
X
=
x
∣
Y
=
c
k
)
P
(
Y
=
c
k
)
∑
k
P
(
X
=
x
∣
Y
=
c
k
)
P
(
Y
=
c
k
)
(4.4)
P(Y=c_k|X=x)={P(X=x|Y=c_k)P(Y=c_k)\over \sum_k{P(X=x|Y=c_k)P(Y=c_k)}}\tag{4.4}
P(Y=ck∣X=x)=∑kP(X=x∣Y=ck)P(Y=ck)P(X=x∣Y=ck)P(Y=ck)(4.4)
将式(4.3)代入式(4.4)有
P
(
Y
=
c
k
∣
X
=
x
)
=
P
(
Y
=
c
k
)
∏
j
P
(
X
(
j
)
=
x
(
j
)
∣
Y
=
c
k
)
∑
k
[
P
(
Y
=
c
k
)
∏
j
P
(
X
(
j
)
=
x
(
j
)
∣
Y
=
c
k
)
]
,
k
=
1
,
2
,
⋯
,
K
(4.5)
P(Y=c_k|X=x)={P(Y=c_k)\prod _j{P(X^{(j)}=x^{(j)}|Y=c_k)}\over \sum_k{[P(Y=c_k)\prod _j{P(X^{(j)}=x^{(j)}|Y=c_k)}]}},k=1,2,\dotsb,K\tag{4.5}
P(Y=ck∣X=x)=∑k[P(Y=ck)∏jP(X(j)=x(j)∣Y=ck)]P(Y=ck)∏jP(X(j)=x(j)∣Y=ck),k=1,2,⋯,K(4.5)
这是朴素贝叶斯法分类的基本公式于是,朴素贝叶斯分类器可表示为
y
=
f
(
x
)
=
arg
max
c
k
P
(
Y
=
c
k
)
∏
j
P
(
X
(
j
)
=
x
(
j
)
∣
Y
=
c
k
)
∑
k
[
P
(
Y
=
c
k
)
∏
j
P
(
X
(
j
)
=
x
(
j
)
∣
Y
=
c
k
)
]
(4.6)
y=f(x)=\arg\underset{c_{\tiny k}}{\max}{P(Y=c_k)\prod_j{P(X^{(j)}=x^{(j)}|Y=c_k)}\over \sum_k{[P(Y=c_k)\prod _j{P(X^{(j)}=x^{(j)}|Y=c_k)}]}}\tag{4.6}
y=f(x)=argckmax∑k[P(Y=ck)∏jP(X(j)=x(j)∣Y=ck)]P(Y=ck)∏jP(X(j)=x(j)∣Y=ck)(4.6)
注意到,在式(4.6)中分母对所有
c
k
c_k
ck都是相同的,所以,
y
=
arg
max
c
k
P
(
Y
=
c
k
)
∏
j
P
(
X
(
j
)
=
x
(
j
)
∣
Y
=
c
k
)
(4.7)
y=\arg\underset{c_{\tiny k}}{\max}P(Y=c_k)\prod_j{P(X^{(j)}=x^{(j)}|Y=c_k)}\tag{4.7}
y=argckmaxP(Y=ck)j∏P(X(j)=x(j)∣Y=ck)(4.7)
4.1.2 后验概率最大化的含义
朴素贝叶斯法将实例分到后验概率最大的类中。这等价于期望风险最小化。 假设选择0-1损失函数:
L
(
Y
,
f
(
X
)
)
=
{
1
,
Y
≠
f
(
X
)
0
,
Y
=
f
(
X
)
L(Y,f(X))= \begin{cases} 1,&Y\neq f(X) \\ 0,&Y=f(X) \end{cases}
L(Y,f(X))={1,0,Y=f(X)Y=f(X)
式中
f
(
X
)
f(X)
f(X)是分类决策函数。这时,期望风险函数为
R
e
x
p
(
f
)
=
E
[
L
(
Y
,
f
(
X
)
)
]
R_{exp}(f)=E[L(Y,f(X))]
Rexp(f)=E[L(Y,f(X))]
期望是对联合分布
P
(
X
,
Y
)
P(X,Y)
P(X,Y)取的。由此取条件期望
R
e
x
p
(
f
)
=
E
x
∑
k
=
1
k
[
L
(
c
k
,
f
(
X
)
)
]
P
(
c
k
∣
X
)
R_{exp}(f)=E_x\sum_{k=1}^{k}[L(c_k,f(X))]P(c_k|X)
Rexp(f)=Exk=1∑k[L(ck,f(X))]P(ck∣X)
为了使期望风险最小化,只需对
X
=
x
X=x
X=x逐个极小化,由此得到:
f
(
x
)
=
arg
min
y
∈
Y
∑
k
=
1
K
L
(
c
k
,
y
)
P
(
c
k
∣
X
=
x
)
=
arg
min
y
∈
Y
∑
k
=
1
K
P
(
y
≠
c
k
∣
X
=
x
)
=
arg
min
y
∈
Y
(
1
−
P
(
y
=
c
k
∣
X
=
x
)
)
=
arg
max
y
∈
Y
P
(
y
=
c
k
∣
X
=
x
)
\begin{aligned} f(x) &= \arg \underset{y\in{\mathcal Y}}{\min}\sum_{k=1}^{K}L(c_{\tiny k},y)P(c_k|X=x)\\ &=\arg \underset{y\in{\mathcal Y}}{\min}\sum_{k=1}^{K}P(y\neq c_k|X=x)\\ &= \arg \underset{y\in{\mathcal Y}}{\min}(1-P(y=c_k|X=x))\\ &= \arg \underset{y\in{\mathcal Y}}{\max}P(y=c_k|X=x) \end{aligned}
f(x)=argy∈Ymink=1∑KL(ck,y)P(ck∣X=x)=argy∈Ymink=1∑KP(y=ck∣X=x)=argy∈Ymin(1−P(y=ck∣X=x))=argy∈YmaxP(y=ck∣X=x)
这样一来,根据期望风险最小化准则就得到了后验概率最大化准则:
f
(
x
)
=
arg
max
c
k
P
(
c
k
∣
X
=
x
)
f(x)=\arg \underset{c_{\tiny k}}{\max}P(c_k|X=x)
f(x)=argckmaxP(ck∣X=x)
即朴素贝叶斯法所采用的原理。