(二)朴素贝叶斯分类器
由(一)朴素贝叶斯与贝叶斯分类器基础知识进行拓展. 设输入空间是 n n n维的类别向量 X = x 1 , … , x n X={x_1,…,x_n} X=x1,…,xn, 输出空间的类别有 K K K类: Y = c 1 , … , c K Y={c_1,…,c_K} Y=c1,…,cK. X X X是输入空间 X X X上的随机变量, Y Y Y是输出空间 Y Y Y上的随机变量. 训练数据集 D D D为 ( x 1 , y 1 ) , … , ( x N , y N ) {(x_1,y_1 ),…,(x_N,y_N )} (x1,y1),…,(xN,yN), y y y为标签.
贝叶斯分类器的输出问题是给定一系列输入 X = x 1 , … , x n X={x_1,…,x_n} X=x1,…,xn, 算出这个输入属于各个类别的概率, 最大概率处就是这个输入的类别. 即需要算出所有的 P ( Y = c k │ X ) , k = 1 , … , K P(Y=c_k│X),k=1,…,K P(Y=ck│X),k=1,…,K.
由贝叶斯公式
P
(
A
∣
B
)
=
P
(
A
)
P
(
B
∣
A
)
P
(
B
)
P(A|B)=P(A)\dfrac{P(B|A)}{P(B)}
P(A∣B)=P(A)P(B)P(B∣A) ,
P
(
C
∣
D
)
=
P
(
C
1
∣
A
)
…
P
(
C
m
∣
A
)
P(C|D)=P(C_1 |A)…P(C_m |A)
P(C∣D)=P(C1∣A)…P(Cm∣A),
P
(
B
)
=
∑
i
=
1
n
P
(
A
i
)
P
(
B
∣
A
i
)
P(B)=∑_{i=1}^nP(A_i )P(B|A_i )
P(B)=∑i=1nP(Ai)P(B∣Ai), 则有:
P
(
Y
=
c
k
│
X
)
=
P
(
Y
=
c
k
)
P
(
X
∣
Y
=
c
k
)
P
(
X
)
=
P
(
Y
=
c
k
)
(
P
(
x
1
│
Y
=
c
k
)
×
…
×
P
(
x
n
│
Y
=
c
k
)
P
(
Y
=
c
k
)
P
(
x
1
∣
Y
=
c
k
)
+
⋯
+
P
(
Y
=
c
k
)
P
(
x
n
∣
Y
=
c
k
)
=
P
(
Y
=
c
k
)
(
∏
j
=
1
n
P
(
x
j
│
Y
=
c
k
)
∑
k
=
1
K
P
(
Y
=
c
k
)
∏
j
=
1
n
P
(
x
j
│
Y
=
c
k
)
\begin{aligned} P(Y=c_k│X) &= P(Y=c_k )\dfrac{P(X|Y=c_k )}{P(X)} \\ &= P(Y=c_k )\dfrac{(P(x_1│Y=c_k )×…×P(x_n│Y=c_k )}{P(Y=c_k )P(x_1 |Y=c_k )+⋯+P(Y=c_k )P(x_n |Y=c_k )} \\ &= P(Y=c_k )\dfrac{(∏_{j=1}^nP(x_j│Y=c_k ) }{∑_{k=1}^KP(Y=c_k ) ∏_{j=1}^nP(x_j│Y=c_k ) } \end{aligned}
P(Y=ck│X)=P(Y=ck)P(X)P(X∣Y=ck)=P(Y=ck)P(Y=ck)P(x1∣Y=ck)+⋯+P(Y=ck)P(xn∣Y=ck)(P(x1│Y=ck)×…×P(xn│Y=ck)=P(Y=ck)∑k=1KP(Y=ck)∏j=1nP(xj│Y=ck)(∏j=1nP(xj│Y=ck)
至此, 每一个
P
(
Y
=
c
k
│
X
)
P(Y=c_k│X)
P(Y=ck│X)都算出来了, 这个输入
X
X
X的类别也就被分类了.
{值得注意的是, 朴素贝叶斯朴素就朴素在假设
x
1
,
…
,
x
n
x_1,…,x_n
x1,…,xn相互独立, 即
P
(
X
∣
Y
=
c
k
)
=
P
(
x
1
│
Y
=
c
k
)
×
…
×
P
(
x
n
│
Y
=
c
k
)
P(X|Y=c_k )=P(x_1│Y=c_k )×…×P(x_n│Y=c_k )
P(X∣Y=ck)=P(x1│Y=ck)×…×P(xn│Y=ck)}- 属性条件独立性假设.
因此, 就可以将贝叶斯分类器写为:
y
=
f
(
X
)
=
a
r
g
m
a
x
c
k
P
(
Y
=
c
k
)
∏
j
=
1
n
P
(
x
j
│
Y
=
c
k
)
)
∑
k
=
1
K
P
(
Y
=
c
k
)
∏
j
=
1
n
P
(
x
j
│
Y
=
c
k
)
y=f(X)=argmax_{c_k}\dfrac{P(Y=c_k )∏_{j=1}^nP(x_j│Y=c_k ) )}{∑_{k=1}^KP(Y=c_k ) ∏_{j=1}^nP(x_j│Y=c_k )}
y=f(X)=argmaxck∑k=1KP(Y=ck)∏j=1nP(xj│Y=ck)P(Y=ck)∏j=1nP(xj│Y=ck))
其中,
y
y
y是分类之后的标签,
a
r
g
m
a
x
c
k
P
(
Y
=
c
k
)
∏
j
=
1
n
P
(
x
j
│
Y
=
c
k
)
)
∑
k
=
1
K
P
(
Y
=
c
k
)
∏
j
=
1
n
P
(
x
j
│
Y
=
c
k
)
argmax_{c_k}\dfrac{P(Y=c_k )∏_{j=1}^nP(x_j│Y=c_k ) )}{∑_{k=1}^KP(Y=c_k ) ∏_{j=1}^nP(x_j│Y=c_k )}
argmaxck∑k=1KP(Y=ck)∏j=1nP(xj│Y=ck)P(Y=ck)∏j=1nP(xj│Y=ck))表示从
P
(
Y
=
c
k
)
∏
j
=
1
n
P
(
x
j
│
Y
=
c
k
)
)
∑
k
=
1
K
P
(
Y
=
c
k
)
∏
j
=
1
n
P
(
x
j
│
Y
=
c
k
)
\dfrac{P(Y=c_k )∏_{j=1}^nP(x_j│Y=c_k ) )}{∑_{k=1}^KP(Y=c_k ) ∏_{j=1}^nP(x_j│Y=c_k )}
∑k=1KP(Y=ck)∏j=1nP(xj│Y=ck)P(Y=ck)∏j=1nP(xj│Y=ck))里面挑出使该式子最大的
c
k
c_k
ck当作
y
y
y. 对于不同类别
Y
=
c
k
Y=c_k
Y=ck来说上式的分母都一样就不用比较了, 所以:
y
=
f
(
X
)
=
a
r
g
m
a
x
c
k
P
(
Y
=
c
k
)
∏
j
=
1
n
P
(
x
j
│
Y
=
c
k
)
y=f(X)=argmax_{c_k}P(Y=c_k ) ∏_{j=1}^nP(x_j│Y=c_k )
y=f(X)=argmaxckP(Y=ck)j=1∏nP(xj│Y=ck)
对于离散属性而言,
P
(
x
j
∣
Y
=
c
k
)
P(x_j |Y=c_k )
P(xj∣Y=ck)可以用频数估计出来
对于连续属性而言, 可以假定
P
(
x
j
∣
Y
=
c
k
)
N
(
μ
c
,
j
,
σ
c
,
j
2
)
P(x_j |Y=c_k )~N(μ_{c,j},σ_{c,j}^2)
P(xj∣Y=ck) N(μc,j,σc,j2), 其中
μ
c
,
i
μ_{c,i}
μc,i和
σ
c
,
i
2
σ_{c,i}^2
σc,i2分别取
c
k
c_k
ck样本第
j
j
j个属性上取值的均值和方差.
P ( x j ∣ Y = c k ) = 1 2 π σ c , j e x p ( − ( x j − μ c , j ) 2 2 σ c , j 2 ) P(x_j |Y=c_k )=\dfrac{1}{\sqrt{2π} σ_{c,j}} exp(-\dfrac{(x_j-μ_{c,j} )^2}{2σ_{c,j}^2 }) P(xj∣Y=ck)=2πσc,j1exp(−2σc,j2(xj−μc,j)2)
朴素贝叶斯假设 x 1 , … , x n x_1,…,x_n x1,…,xn相互独立, 即 P ( X ∣ Y = c k ) = P ( x 1 │ Y = c k ) × … × P ( x n │ Y = c k ) P(X|Y=c_k )=P(x_1│Y=c_k )×…×P(x_n│Y=c_k ) P(X∣Y=ck)=P(x1│Y=ck)×…×P(xn│Y=ck), 但这样的简化会使估计并不准确, 准确的估计是(三)贝叶斯分类器.