第四章:朴素贝叶斯
两大要素:贝叶斯定理、特征条件独立假设;
算法描述:对于给定的数据集,首先根据特征条件独立假设来学习输入输出的联合概率分布,然后对于新的输入,由贝叶斯定理计算后验概率最大的输出 y;
特征条件独立假设
如果没有这一假设,那么计算 P ( X = x ∣ Y = c k ) P(X = x|Y = c_k) P(X=x∣Y=ck)几乎不太可能,因为参数个数为 K ∏ j = 1 n S j , S j 为 某 一 特 征 的 可 能 的 取 值 个 数 K\displaystyle\prod_{j=1}^{n}S_j,S_j为某一特征的可能的取值个数 Kj=1∏nSj,Sj为某一特征的可能的取值个数;
有了该假设之后,就可以计算:
P
(
X
=
x
∣
y
=
c
k
)
=
P
(
X
(
1
)
=
x
(
1
)
,
X
(
2
)
=
x
(
2
)
,
.
.
.
X
(
n
)
=
x
(
n
)
∣
Y
=
c
k
)
=
∏
j
=
1
n
P
(
X
(
j
)
=
x
(
j
)
∣
Y
=
c
k
)
P(X = x|y = c_k) = P(X^{(1)} = x^{(1)},X^{(2)} = x^{(2)},...X^{(n)} = x^{(n)}|Y = c_k) =\displaystyle\prod_{j=1}^{n} P(X^{(j)} = x^{(j)}|Y = c_k)
P(X=x∣y=ck)=P(X(1)=x(1),X(2)=x(2),...X(n)=x(n)∣Y=ck)=j=1∏nP(X(j)=x(j)∣Y=ck);
贝叶斯公式
由贝叶斯公式推出朴素贝叶斯分类器的模型:
y
=
a
r
g
max
c
k
P
(
Y
=
c
k
)
∏
j
=
1
n
P
(
X
(
j
)
=
x
(
j
)
∣
Y
=
c
k
)
y = arg\displaystyle\max_{c_k}P(Y = c_k)\displaystyle\prod_{j=1}^{n} P(X^{(j)} = x^{(j)}|Y = c_k)
y=argckmaxP(Y=ck)j=1∏nP(X(j)=x(j)∣Y=ck);
参数估计
在上面求解后验概率的过程中,涉及到求解训练集的先验概率即: P ( Y = c k ) P(Y = c_k) P(Y=ck)(类别 c k c_k ck的概率)以及条件概率 P ( X = x ∣ y = c k ) P(X = x|y = c_k) P(X=x∣y=ck)(每一个特征的每一个值的条件概率),这就是需要学习的参数;有两种估计参数的方法分别为极大似然估计和贝叶斯估计 ;
极大似然估计:
P
(
Y
=
c
k
)
=
∑
i
=
1
N
I
(
y
i
=
c
k
)
N
P(Y = c_k) = \frac{\displaystyle\sum_{i=1}^{N}I(yi = c_k)}{N}
P(Y=ck)=Ni=1∑NI(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 ) P(X^{(j)}= a_{jl}|Y = c_k) = \frac{\displaystyle\sum_{i=1}^{N}I(X_i^{(j)} = a_{jl},y_i = c_k)}{\displaystyle\sum_{i=1}^{N}I(yi = c_k)} P(X(j)=ajl∣Y=ck)=i=1∑NI(yi=ck)i=1∑NI(Xi(j)=ajl,yi=ck), a j l a_{jl} ajl为第j个特征的第l个值;
贝叶斯估计:(极大似然可能出现频数为0,所以加上一个正数
λ
\lambda
λ)
P
(
Y
=
c
k
)
=
∑
i
=
1
N
I
(
y
i
=
c
k
)
+
λ
N
+
K
λ
P(Y = c_k) = \frac{\displaystyle\sum_{i=1}^{N}I(yi = c_k)+\lambda}{N+K\lambda}
P(Y=ck)=N+Kλi=1∑NI(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 ) + S j λ P(X^{(j)}= a_{jl}|Y = c_k) = \frac{\displaystyle\sum_{i=1}^{N}I(X_i^{(j)} = a_{jl},y_i = c_k)+\lambda}{\displaystyle\sum_{i=1}^{N}I(yi = c_k)+S_j\lambda} P(X(j)=ajl∣Y=ck)=i=1∑NI(yi=ck)+Sjλi=1∑NI(Xi(j)=ajl,yi=ck)+λ;
λ = 1 \lambda =1 λ=1的时候,称为拉普拉斯平滑;