朴素贝叶斯
定义:朴素贝叶斯是基于贝叶斯定理与特征条件独立假设的分类方法。
首先有条件概率公式如下:
P
(
A
∣
B
)
=
P
(
A
B
)
P
(
B
)
,
P
(
B
∣
A
)
=
P
(
A
B
)
P
(
A
)
P(A|B)=\frac{P(AB)}{P(B)},P(B|A)=\frac{P(AB)}{P(A)}
P(A∣B)=P(B)P(AB),P(B∣A)=P(A)P(AB)
其中
P
(
A
B
)
P(AB)
P(AB)为联合概率,两式消去
P
(
A
B
)
P(AB)
P(AB)所以有
P
(
A
∣
B
)
=
P
(
B
∣
A
)
P
(
A
)
P
(
B
)
P(A|B)=\frac{P(B|A)P(A)}{P(B)}
P(A∣B)=P(B)P(B∣A)P(A)
通过条件概率我们可以得到贝叶斯公式如下:
P
(
Y
=
c
k
∣
X
=
x
)
=
P
(
X
=
x
,
Y
=
c
k
)
P
(
X
=
x
)
=
P
(
X
=
x
∣
Y
=
c
k
)
P
(
Y
=
c
k
)
P
(
X
=
x
)
P(Y=c_k|X=x)=\frac{P(X=x,Y=c_k)}{P(X=x)}=\frac{P(X=x|Y=c_k)P(Y=c_k)}{P(X=x)}
P(Y=ck∣X=x)=P(X=x)P(X=x,Y=ck)=P(X=x)P(X=x∣Y=ck)P(Y=ck)
给定训练集
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),设类别可选数目为K,即
c
1
,
c
2
,
.
.
.
,
c
K
c_1,c_2,...,c_K
c1,c2,...,cK,特征维度为m,即
x
i
=
(
x
i
1
,
x
i
2
,
.
.
.
x
i
m
)
x_i=(x^1_i,x^2_i,...x^m_i)
xi=(xi1,xi2,...xim),第j维的特征可取值数目为
S
j
S_j
Sj,分别为
a
j
1
,
a
j
2
,
.
.
.
,
a
j
S
j
a^1_j,a^2_j,...,a^{S_j}_j
aj1,aj2,...,ajSj。
贝叶斯的思想就是通过训练数据学习联合分布P(X,Y),具体地,学习以下先验概率和条件概率:
P ( Y = c k ) , k = 1 , 2 , . . . , K P(Y=c_k),k=1,2,...,K P(Y=ck),k=1,2,...,K
P
(
X
=
x
∣
Y
=
c
k
)
=
P
(
X
1
=
x
1
,
X
2
=
x
2
,
.
.
.
,
X
N
=
x
N
∣
Y
=
c
k
)
,
k
=
1
,
2
,
.
.
.
,
K
P(X=x|Y=c_k)=P(X^1=x^1,X^2=x^2,...,X^N=x^N|Y=c_k),k=1,2,...,K
P(X=x∣Y=ck)=P(X1=x1,X2=x2,...,XN=xN∣Y=ck),k=1,2,...,K
通过上述的条件概率公式可以得到联合概率分布
P
(
X
=
x
,
Y
=
c
k
)
=
P
(
Y
=
c
k
)
P
(
X
=
x
∣
Y
=
c
k
)
P(X=x,Y=c_k)=P(Y=c_k)P(X=x|Y=c_k)
P(X=x,Y=ck)=P(Y=ck)P(X=x∣Y=ck)
由全概率公式可以得到
P
(
X
=
x
)
=
P
(
X
=
x
∣
Y
=
c
1
)
P
(
Y
=
c
1
)
+
,
.
.
.
,
+
P
(
X
=
x
∣
Y
=
c
k
)
P
(
Y
=
c
k
)
=
∑
i
=
1
K
P
(
X
=
x
∣
Y
=
c
i
)
P
(
Y
=
c
i
)
P(X=x)=P(X=x|Y=c_1)P(Y=c_1)+,...,+P(X=x|Y=c_k)P(Y=c_k)\\=\sum \limits_{i=1}^KP(X=x|Y=c_i)P(Y=c_i)
P(X=x)=P(X=x∣Y=c1)P(Y=c1)+,...,+P(X=x∣Y=ck)P(Y=ck)=i=1∑KP(X=x∣Y=ci)P(Y=ci)
为了降低模型的复杂度,对贝叶斯公式作了条件独立性的假设,因此叫做朴素贝叶斯
通过条件独立性假设,可以很方便计算条件概率:
P
(
X
=
x
∣
Y
=
c
k
)
=
∏
j
=
1
N
P
(
X
j
=
x
j
∣
Y
=
c
k
)
P(X=x|Y=c_k)=\prod \limits_{j=1}^NP(X^j=x^j|Y=c_k)
P(X=x∣Y=ck)=j=1∏NP(Xj=xj∣Y=ck)
由于朴素贝叶斯学习到了联合概率分布,因此为生成模型。
对于后验概率
P
(
Y
=
C
k
∣
X
=
x
)
P(Y=C_k|X=x)
P(Y=Ck∣X=x),带入上述先验概率和条件概率由贝叶斯公式有:
P
(
Y
=
c
k
∣
X
=
x
)
=
P
(
Y
=
c
k
)
P
(
X
=
x
∣
Y
=
c
k
)
P
(
X
=
x
)
=
P
(
Y
=
c
k
)
∏
j
=
1
N
P
(
X
j
=
x
j
∣
Y
=
c
k
)
P
(
X
=
x
)
=
P
(
Y
=
c
k
)
∏
j
=
1
N
P
(
X
j
=
x
j
∣
Y
=
c
k
)
∑
i
=
1
K
P
(
X
=
x
∣
Y
=
c
i
)
P
(
Y
=
c
i
)
=
P
(
Y
=
c
k
)
∏
j
=
1
N
P
(
X
j
=
x
j
∣
Y
=
c
k
)
∑
i
=
1
K
P
(
Y
=
c
i
)
∏
j
=
1
N
P
(
X
j
=
x
j
∣
Y
=
c
i
)
P(Y=c_k|X=x)=\frac{P(Y=c_k)P(X=x|Y=c_k)}{P(X=x)} \\=\frac{P(Y=c_k)\prod \limits_{j=1}^NP(X^j=x^j|Y=c_k)}{P(X=x)}\\ =\frac{P(Y=c_k)\prod \limits_{j=1}^NP(X^j=x^j|Y=c_k)}{\sum \limits_{i=1}^KP(X=x|Y=c_i)P(Y=c_i)}\\ =\frac{P(Y=c_k)\prod \limits_{j=1}^NP(X^j=x^j|Y=c_k)}{\sum \limits_{i=1}^KP(Y=c_i)\prod \limits_{j=1}^NP(X^j=x^j|Y=c_i)}
P(Y=ck∣X=x)=P(X=x)P(Y=ck)P(X=x∣Y=ck)=P(X=x)P(Y=ck)j=1∏NP(Xj=xj∣Y=ck)=i=1∑KP(X=x∣Y=ci)P(Y=ci)P(Y=ck)j=1∏NP(Xj=xj∣Y=ck)=i=1∑KP(Y=ci)j=1∏NP(Xj=xj∣Y=ci)P(Y=ck)j=1∏NP(Xj=xj∣Y=ck)
选取后验概率最大的类别作为预测的样本类别,由于对于同一个样本的所有类别,上式分子相同,因此朴素贝叶斯最后预测的类别可以表示为:
y
=
arg
max
c
k
P
(
Y
=
c
k
)
∏
j
=
1
N
P
(
X
j
=
x
j
∣
Y
=
c
k
)
y=\underset{c_k}{{\arg\max} \, } P(Y=c_k)\prod \limits_{j=1}^NP(X^j=x^j|Y=c_k)
y=ckargmaxP(Y=ck)j=1∏NP(Xj=xj∣Y=ck)
P
(
Y
=
c
k
)
=
∑
i
=
1
N
I
(
y
i
=
c
k
)
N
,
k
=
1
,
2
,
.
.
.
,
K
P(Y=c_k)=\frac{\sum \limits_{i=1}^NI(y_i=c_k)}{N},k=1,2,...,K
P(Y=ck)=Ni=1∑NI(yi=ck),k=1,2,...,K
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
)
,
l
=
1
,
2
,
.
.
.
,
S
j
P(X^j=a^l_j|Y=c_k)=\frac{\sum \limits_{i=1}^NI(x^j_i=a^l_j,y_i=c_k)}{\sum \limits_{i=1}^NI(y_i=c_k)},l=1,2,...,S_j
P(Xj=ajl∣Y=ck)=i=1∑NI(yi=ck)i=1∑NI(xij=ajl,yi=ck),l=1,2,...,Sj
其中I是指示函数。
P
(
Y
=
c
k
)
=
∑
i
=
1
N
I
(
y
i
=
c
k
)
+
λ
N
+
λ
K
,
k
=
1
,
2
,
.
.
.
,
K
P(Y=c_k)=\frac{\sum \limits_{i=1}^NI(y_i=c_k)+\lambda}{N+\lambda K},k=1,2,...,K
P(Y=ck)=N+λKi=1∑NI(yi=ck)+λ,k=1,2,...,K
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
,
l
=
1
,
2
,
.
.
.
,
S
j
P(X^j=a^l_j|Y=c_k)=\frac{\sum \limits_{i=1}^NI(x^j_i=a^l_j,y_i=c_k)+\lambda}{\sum \limits_{i=1}^NI(y_i=c_k)+\lambda S_j},l=1,2,...,S_j
P(Xj=ajl∣Y=ck)=i=1∑NI(yi=ck)+λSji=1∑NI(xij=ajl,yi=ck)+λ,l=1,2,...,Sj
λ 为平滑因子,通常取1,这时称为拉普拉斯平滑。
三种实现差别主要体现在计算条件概率 P ( X j = a j l ∣ Y = c k ) P(X_j=a^l_j|Y=c_k) P(Xj=ajl∣Y=ck)。
适用于离散变量,假设各变量取值只有0、1两种,因此首先要对特征值进行二值化处理。
其条件概率举例如下:
P
(
w
i
∣
c
)
=
包
含
词
w
i
且
属
于
类
c
的
文
档
数
属
于
类
c
的
所
有
文
档
数
P(w_i|c)=\frac{包含词w_i且属于类c的文档数}{属于类c的所有文档数}
P(wi∣c)=属于类c的所有文档数包含词wi且属于类c的文档数
适用于离散变量,其假设各个特征在各个类别下是服从多项式分布的,每个特征值不能是负数。
其条件概率举例如下:
P
(
w
i
∣
c
)
=
词
w
i
在
属
于
类
c
的
所
有
文
档
中
出
现
的
次
数
属
于
类
c
的
所
有
文
档
的
单
词
总
数
P(w_i|c)=\frac{词w_i在属于类c的所有文档中出现的次数}{属于类c的所有文档的单词总数}
P(wi∣c)=属于类c的所有文档的单词总数词wi在属于类c的所有文档中出现的次数
适用于连续变量,其假定各个特征在各个类别下服从正态分布,通过训练集估计正态分布的参数。
因篇幅问题不能全部显示,请点此查看更多更全内容