《统计学习方法》第四章朴素贝叶斯总结与习题

朴素贝叶斯
定义:朴素贝叶斯是基于贝叶斯定理与特征条件独立假设的分类方法。

1.贝叶斯公式推导

首先有条件概率公式如下:
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(AB)=P(B)P(AB),P(BA)=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(AB)=P(B)P(BA)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=ckX=x)=P(X=x)P(X=x,Y=ck)=P(X=x)P(X=xY=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=xY=ck)=P(X1=x1,X2=x2,...,XN=xNY=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=xY=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=xY=c1)P(Y=c1)+,...,+P(X=xY=ck)P(Y=ck)=i=1KP(X=xY=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=xY=ck)=j=1NP(Xj=xjY=ck)
由于朴素贝叶斯学习到了联合概率分布,因此为生成模型。
对于后验概率 P ( Y = C k ∣ X = x ) P(Y=C_k|X=x) P(Y=CkX=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=ckX=x)=P(X=x)P(Y=ck)P(X=xY=ck)=P(X=x)P(Y=ck)j=1NP(Xj=xjY=ck)=i=1KP(X=xY=ci)P(Y=ci)P(Y=ck)j=1NP(Xj=xjY=ck)=i=1KP(Y=ci)j=1NP(Xj=xjY=ci)P(Y=ck)j=1NP(Xj=xjY=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=1NP(Xj=xjY=ck)

2.贝叶斯的参数估计

极大似然估计

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=1NI(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=ajlY=ck)=i=1NI(yi=ck)i=1NI(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=1NI(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=ajlY=ck)=i=1NI(yi=ck)+λSji=1NI(xij=ajl,yi=ck)+λ,l=1,2,...,Sj
λ 为平滑因子,通常取1,这时称为拉普拉斯平滑。

3.三种朴素贝叶斯

三种实现差别主要体现在计算条件概率 P ( X j = a j l ∣ Y = c k ) P(X_j=a^l_j|Y=c_k) P(Xj=ajlY=ck)

伯努利朴素贝叶斯

适用于离散变量,假设各变量取值只有0、1两种,因此首先要对特征值进行二值化处理。
其条件概率举例如下:
P ( w i ∣ c ) = 包 含 词 w i 且 属 于 类 c 的 文 档 数 属 于 类 c 的 所 有 文 档 数 P(w_i|c)=\frac{包含词w_i且属于类c的文档数}{属于类c的所有文档数} P(wic)=cwic

多项式朴素贝叶斯

适用于离散变量,其假设各个特征在各个类别下是服从多项式分布的,每个特征值不能是负数。
其条件概率举例如下:
P ( w i ∣ c ) = 词 w i 在 属 于 类 c 的 所 有 文 档 中 出 现 的 次 数 属 于 类 c 的 所 有 文 档 的 单 词 总 数 P(w_i|c)=\frac{词w_i在属于类c的所有文档中出现的次数}{属于类c的所有文档的单词总数} P(wic)=cwic

高斯朴素贝叶斯

适用于连续变量,其假定各个特征在各个类别下服从正态分布,通过训练集估计正态分布的参数。

你可能感兴趣的:(统计学习方法,学习方法,概率论,朴素贝叶斯)