设输入空间 X ⊆ R n \mathcal{X} \subseteq R^n X⊆Rn为 n n n维向量的集合,输出空间为类标记集合 Y = { c 1 , c 2 , … , c K } \mathcal{Y}=\{c_1,c_2,\dots,c_K\} Y={c1,c2,…,cK}。输入为特征向量 x ∈ X x \in \mathcal{X} x∈X,输出为类标记 y ∈ Y y \in 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),\dots,(x_N,y_N)\} T={(x1,y1),(x2,y2),…,(xN,yN)}由 P ( X , Y ) P(X,Y) P(X,Y)独立同分布产生。
P ( Y ∣ X ) = P ( X Y ) P ( X ) = P ( X ∣ Y ) P ( Y ) P ( X ) P(Y|X)=\frac{P(XY)}{P(X)}=\frac{P(X|Y)P(Y)}{P(X)} P(Y∣X)=P(X)P(XY)=P(X)P(X∣Y)P(Y)
y = f ( x ) = a r g max c k P ( X ∣ Y = c k ) P ( Y = c k ) P ( X ) = a r g max c k P ( X ∣ Y = c k ) P ( Y = c k ) = a r g max c k P ( Y = c k ) ∏ j P ( X ( j ) = x ( j ) ∣ Y = c k ) \begin{aligned} y=f(x)&=arg \max \limits_{c_k} \frac{P(X|Y=c_k)P(Y=c_k)}{P(X)} \\ &=arg \max \limits_{c_k} P(X|Y=c_k)P(Y=c_k) \\ &=arg \max \limits_{c_k} P(Y=c_k) \prod_jP(X^{(j)}=x^{(j)}|Y=c_k) \end{aligned} y=f(x)=argckmaxP(X)P(X∣Y=ck)P(Y=ck)=argckmaxP(X∣Y=ck)P(Y=ck)=argckmaxP(Y=ck)j∏P(X(j)=x(j)∣Y=ck)
朴素贝叶斯法是典型的生成学习方法。
朴素贝叶斯分类用的是概率模型 y = P ( Y ∣ X ) y=P(Y|X) y=P(Y∣X)。为什么要这样呢?
损失函数度量模型一次预测的好坏,风险函数度量平均意义下模型预测的好坏。
假设选择 0 − 1 0-1 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)
这时,期望风险函数为
R e x p ( f ) = E [ L ( Y , f ( X ) ) ] = E X ∑ k = 1 K L ( c k , f ( X ) ) P ( c k ∣ X ) \begin{aligned} R_{exp}(f)&=E[L(Y,f(X))] \\ &=E_X\sum_{k=1}^{K}L(c_k,f(X))P(c_k|X) \end{aligned} Rexp(f)=E[L(Y,f(X))]=EXk=1∑KL(ck,f(X))P(ck∣X)
为了使期望风险最小化,只需对 X = x X=x X=x逐个极小化,由此得到:
f ( x ) = a r g min y ∈ Y ∑ k = 1 K L ( c k , y ) P ( c k ∣ X = x ) = a r g min y ∈ Y P ( y ≠ c k ∣ X = x ) = a r g min y ∈ Y ( 1 − P ( y = c k ∣ X = x ) ) = a r g max y ∈ Y P ( y = c k ∣ X = x ) \begin{aligned} f(x)&=arg \min \limits_{y \in \mathcal{Y}} \sum_{k=1}^{K} L(c_k, y)P(c_k|X=x) \\ &=arg \min \limits_{y \in \mathcal{Y} }P(y \neq c_k | X=x) \\ &=arg \min \limits_{y \in \mathcal{Y}}(1-P(y=c_k|X=x)) \\ &=arg \max \limits_{y \in \mathcal{Y}}P(y=c_k|X=x) \end{aligned} f(x)=argy∈Ymink=1∑KL(ck,y)P(ck∣X=x)=argy∈YminP(y̸=ck∣X=x)=argy∈Ymin(1−P(y=ck∣X=x))=argy∈YmaxP(y=ck∣X=x)
这样一来,根据期望风险最小化准则就得到了后验概率最大化准则:
f ( x ) = a r g max c k P ( c k ∣ X = x ) f(x)=arg \max_{c_k}P(c_k|X=x) f(x)=argckmaxP(ck∣X=x)
学习意味着估计 P ( Y = c k ) P(Y=c_k) P(Y=ck)和 P ( X ( j ) = x ( j ) ∣ Y = c k ) P(X^{(j)}=x^{(j)}|Y=c_k) P(X(j)=x(j)∣Y=ck)。
(4.8) P ( Y = c k ) = ∑ i = 1 N I ( y i = c k ) N , k = 1 , 2 , … , K P(Y=c_k)=\frac{\sum_{i=1}^NI(y_i=c_k)}{N},k=1,2,\dots,K \tag{4.8} P(Y=ck)=N∑i=1NI(yi=ck),k=1,2,…,K(4.8)
设第 j j j个特征可能的取值的集合为 { a j 1 , a j 2 , … , a j S j } \{a_{j1},a_{j2},\dots,a_{jS_j}\} {aj1,aj2,…,ajSj}
(4.9) 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 ) j = 1 , 2 , … , N ; l = 1 , 2 , … , S j ; k = 1 , 2 , … , K P(X^{(j)}=a_{jl}|Y=c_k)=\frac{\sum_{i=1}^N I(x_i^{(j)}=a_{jl},y_i=c_k)}{\sum_{i=1}^N I(y_i=c_k)}\\ j=1,2,\dots,N;l=1,2,\dots,S_j;k=1,2,\dots,K \tag{4.9} P(X(j)=ajl∣Y=ck)=∑i=1NI(yi=ck)∑i=1NI(xi(j)=ajl,yi=ck)j=1,2,…,N;l=1,2,…,Sj;k=1,2,…,K(4.9)
(4.10) P λ ( Y = c k ) = ∑ i = 1 N I ( y i = c k ) + λ N + K λ , k = 1 , 2 , … , K P_\lambda(Y=c_k)=\frac{\sum_{i=1}^NI(y_i=c_k)+\lambda}{N+K\lambda},k=1,2,\dots,K \tag{4.10} Pλ(Y=ck)=N+Kλ∑i=1NI(yi=ck)+λ,k=1,2,…,K(4.10)
设第 j j j个特征可能的取值的集合为 { a j 1 , a j 2 , … , a j S j } \{a_{j1},a_{j2},\dots,a_{jS_j}\} {aj1,aj2,…,ajSj}
(4.11) 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 λ j = 1 , 2 , … , N ; l = 1 , 2 , … , S j ; k = 1 , 2 , … , K P(X^{(j)}=a_{jl}|Y=c_k)=\frac{\sum_{i=1}^N I(x_i^{(j)}=a_{jl},y_i=c_k)+\lambda}{\sum_{i=1}^N I(y_i=c_k)+S_j\lambda}\\ j=1,2,\dots,N;l=1,2,\dots,S_j;k=1,2,\dots,K \tag{4.11} P(X(j)=ajl∣Y=ck)=∑i=1NI(yi=ck)+Sjλ∑i=1NI(xi(j)=ajl,yi=ck)+λj=1,2,…,N;l=1,2,…,Sj;k=1,2,…,K(4.11)
常取 λ = 1 \lambda=1 λ=1,这时称为拉普拉斯平滑。
#5 习题
4.1 用极大似然估计法推出朴素贝叶斯法中的概率公式(4.8)及公式(4.9)
设 θ k = P ( Y = c k ) , k = 1 , 2 , … , K \theta_k = P(Y=c_k) ,k=1,2,\dots,K θk=P(Y=ck),k=1,2,…,K
I k = ∑ i = 1 N I ( y i = c k ) I_k=\sum_{i=1}^NI(y_i=c_k) Ik=∑i=1NI(yi=ck)
L ( θ 1 , θ 2 , … , θ K ) = ∏ i = 1 N P ( y i ) = ∏ k = 1 K θ k I k \begin{aligned} L(\theta_1,\theta_2,\dots,\theta_K) &=\prod_{i=1}^N P(y_i)\\ &=\prod_{k=1}^K \theta_k^{I_k} \end{aligned} L(θ1,θ2,…,θK)=i=1∏NP(yi)=k=1∏KθkIk
其中 ∑ k = 1 K θ k = 1 , ∑ i = 1 N I k = N \sum_{k=1}^K \theta_k=1,\sum_{i=1}^N I_k=N ∑k=1Kθk=1,∑i=1NIk=N。
l ( θ ) = l o g L ( θ ) = ∑ k = 1 K I k l o g θ k = ∑ k = 1 K − 1 I k l o g θ k + ( 1 − ∑ k = 1 K − 1 I k ) l o g ( 1 − ∑ k = 1 K − 1 θ k ) \begin{aligned} l(\theta)=logL(\theta) &=\sum_{k=1}^KI_klog\theta_k \\ &=\sum_{k=1}^{K-1}I_klog\theta_k+(1-\sum_{k=1}^{K-1}I_k)log(1-\sum_{k=1}^{K-1}\theta_k) \end{aligned} l(θ)=logL(θ)=k=1∑KIklogθk=k=1∑K−1Iklogθk+(1−k=1∑K−1Ik)log(1−k=1∑K−1θk)
对它求导,求使导数为0的 θ \theta θ值。
∂ l ( θ ) ∂ θ k = I k θ k − ( 1 − ∑ k = 1 K − 1 I k ) 1 − ∑ k = 1 K − 1 θ k = I k θ k − I K θ K = 0 即 I k θ k = I K θ K , ( k = 1 , 2 , … , K − 1 ) 设 I k θ k = x , ( k = 1 , 2 , … , K ) I k x = θ k ∑ k = 1 K I k x = ∑ k = 1 K θ k N x = 1 x = N 即 I k θ k = N θ k = I k N 即 ( 4.8 ) \begin{aligned} \frac{\partial{l(\theta)}}{\partial{\theta_k}} &=\frac{I_k}{\theta_k}-\frac{(1-\sum_{k=1}^{K-1}I_k)}{1-\sum_{k=1}^{K-1}\theta_k} \\ &= \frac{I_k}{\theta_k}-\frac{I_K}{\theta_K}\\ &=0 \\ 即\frac{I_k}{\theta_k}=\frac{I_K}{\theta_K} ,(k=1,2,\dots,K-1) \\ 设\frac{I_k}{\theta_k}=x,(k=1,2,\dots,K) \\ \frac{I_k}{x}=\theta_k\\ \sum_{k=1}^K\frac{I_k}{x}=\sum_{k=1}^K\theta_k \\ \frac{N}{x}=1 \\ x=N\\ 即\frac{I_k}{\theta_k}=N \\ \theta_k=\frac{I_k}{N} \\ 即(4.8) \end{aligned} ∂θk∂l(θ)即θkIk=θKIK,(k=1,2,…,K−1)设θkIk=x,(k=1,2,…,K)xIk=θkk=1∑KxIk=k=1∑KθkxN=1x=N即θkIk=Nθk=NIk即(4.8)=θkIk−1−∑k=1K−1θk(1−∑k=1K−1Ik)=θkIk−θKIK=0
(4.9)同理
4.2 用贝叶斯估计法推出朴素贝叶斯法中的概率估计公式(4.10)及公式(4.11)
贝叶斯估计和传统的极大似然估计的区别就是,参数值是固定的还是也当做随机变量。传统的极大似然估计,把参数 θ \theta θ当做固定的一个值,不变的,只是目前还不知道,通过最大化 L L L求出 θ \theta θ;贝叶斯估计认为参数 θ \theta θ也是随机变量,它也服从一个分布( β \beta β分布)。
设:
θ k = P ( Y = c k ) , k = 1 , 2 , … , K \theta_k = P(Y=c_k) ,k=1,2,\dots,K θk=P(Y=ck),k=1,2,…,K
I k = ∑ i = 1 N I ( y i = c k ) I_k=\sum_{i=1}^NI(y_i=c_k) Ik=∑i=1NI(yi=ck)
θ \theta θ服从 β \beta β分布: P ( θ ) = P ( θ 1 , θ 2 , … , θ K ) = ∏ i = 1 K θ i a i P(\theta)=P(\theta_1,\theta_2,\dots,\theta_K)=\prod_{i=1}^{K}\theta_i^{a_i} P(θ)=P(θ1,θ2,…,θK)=∏i=1Kθiai,在对系统类别分布一无所知的情况下,可以假设类别是均匀分布的,也就是 a 1 = a 2 = ⋯ = a K a_1=a_2=\dots=a_K a1=a2=⋯=aK,那么 θ \theta θ分布可以写成 P ( θ ) = ∏ i = 1 K θ i λ P(\theta)=\prod_{i=1}^{K}\theta_i^\lambda P(θ)=∏i=1Kθiλ。
整体事件发生的概率如下:
L ( θ ) = P ( Y 1 , Y 2 , … , Y N , θ ) = ∏ i = 1 N P ( Y i ) P ( θ ) = ∏ k = 1 K θ k I k θ k λ = ∏ k = 1 K θ k I k + λ \begin{aligned} L(\theta)&=P(Y_1,Y_2,\dots,Y_N,\theta) \\ &=\prod_{i=1}^{N}P(Y_i)P(\theta) \\ &=\prod_{k=1}^{K}\theta_k^{I_k}\theta_k^\lambda \\ &=\prod_{k=1}^{K}\theta_k^{I_k+\lambda} \end{aligned} L(θ)=P(Y1,Y2,…,YN,θ)=i=1∏NP(Yi)P(θ)=k=1∏KθkIkθkλ=k=1∏KθkIk+λ
参数 θ = a r g max θ L ( θ ) \theta=arg \max \limits_\theta L(\theta) θ=argθmaxL(θ)为了便于计算,对上式两边求对数,如下:
l ( θ ) = ∑ k = 1 K ( I k + λ ) l o g θ k l(\theta)=\sum_{k=1}^K(I_k+\lambda)log\theta_k l(θ)=k=1∑K(Ik+λ)logθk
其中 ∑ k = 1 K θ k = 1 , ∑ i = 1 N I k = N \sum_{k=1}^K \theta_k=1,\sum_{i=1}^N I_k=N ∑k=1Kθk=1,∑i=1NIk=N。
对 l ( θ ) l(\theta) l(θ)求偏导数,使其为 0 0 0,得到参数 θ \theta θ。
∂ l ( θ ) ∂ θ k = I k + λ θ k − I K + λ θ K = 0 \frac{\partial l(\theta)}{\partial\theta_k}=\frac{I_k+\lambda}{\theta_k}-\frac{I_K+\lambda}{\theta_K}=0 ∂θk∂l(θ)=θkIk+λ−θKIK+λ=0.
由上式可得: θ k = I k + λ I K + λ θ K \theta_k=\frac{I_k+\lambda}{I_K+\lambda}\theta_K θk=IK+λIk+λθK,把所有 θ k \theta_k θk加在一块得:
∑ k = 1 K θ k = ∑ k = 1 K I k + λ I K + λ θ K 1 = N + K λ I K + λ θ K \begin{aligned} \sum_{k=1}^K\theta_k&=\sum_{k=1}^K\frac{I_k+\lambda}{I_K+\lambda}\theta_K \\ 1 &=\frac{N+K\lambda}{I_K+\lambda}\theta_K \end{aligned} k=1∑Kθk1=k=1∑KIK+λIk+λθK=IK+λN+KλθK
得: θ k = I K + λ N + K λ \theta_k=\frac{I_K+\lambda}{N+K\lambda} θk=N+KλIK+λ
即式(4.11)。(4.10)略。
θ \theta θ服从当先验分布为Dirichlet分布, p ( θ ) = ∏ θ i λ i 一 个 归 一 化 常 数 p(\theta)=\frac{\prod{\theta_i^{\lambda_i}}}{一个归一化常数} p(θ)=一个归一化常数∏θiλi。 y y y是多变量分布,当 y y y为二值分布时,Dirichlet分布退化为 β \beta β分布, p ( θ ) = θ a − 1 ( 1 − θ ) b − 1 常 数 p(\theta)=\frac{\theta^{a-1}(1-\theta)^{b-1}}{常数} p(θ)=常数θa−1(1−θ)b−1。
https://blog.csdn.net/jteng/article/details/60334628