朴素贝叶斯法总结

一、前述

朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。对于给定的训练数据集,首先基于特征条件独立假设学习输入输出的联合概率分布;然后基于此模型,对给定的输入 x x x,利用贝叶斯定理求出后验概率最大的输出 y y y。朴素贝叶斯法实现简单,学习与预测的效率都很高,是一种常用的方法。

二、朴素贝叶斯法介绍

I.模型

朴素贝叶斯法是典型的生成学习方法。生成方法由训练数据学习联合概率分布 P ( X , Y ) P(X,Y) P(X,Y),然后求得后验概率分布 P ( Y ∣ X ) P(Y|X) P(YX)。具体来说,利用训练数据学习 P ( X ∣ Y ) P(X|Y) P(XY) P ( Y ) P(Y) P(Y)的估计,得到联合概率分布: P ( X , Y ) = P ( Y ) P ( X ∣ Y ) P(X,Y)=P(Y)P(X|Y) P(X,Y)=P(Y)P(XY)其中概率估计方法可以是极大似然估计或贝叶斯估计(加上 λ \lambda λ正则项)

朴素贝叶斯法利用贝叶斯定理与学到的联合概率模型进行分类预测。
P ( Y ∣ X ) = P ( X , Y ) P ( X ) = P ( Y ) P ( X ∣ Y ) ∑ Y P ( Y ) P ( X ∣ Y ) P(Y|X)=\frac{P(X,Y)} {P(X)}=\frac{P(Y)P(X|Y)}{ \sum_{Y}^{} P(Y)P(X|Y)} P(YX)=P(X)P(X,Y)=YP(Y)P(XY)P(Y)P(XY)
在一个很强的特征条件独立假设下,朴素贝叶斯分类器变成了 y = f ( x ) = arg ⁡ max ⁡ c k P ( Y = c k ) ∏ j P ( X ( j ) = x ( j ) ∣ Y = c k ) ∑ k P ( Y = c k ) ∏ j P ( X ( j ) = x ( j ) ∣ Y = c k ) y=f(x)=\arg \max_{c_k}^{}\frac{P(Y=c_k)\prod_{j}^{}P(X^{(j)}=x^{(j)}|Y=c_k)} {\sum_{k}^{}P(Y=c_k)\prod_{j}^{}P(X^{(j)}=x^{(j)}|Y=c_k)} y=f(x)=argckmaxkP(Y=ck)jP(X(j)=x(j)Y=ck)P(Y=ck)jP(X(j)=x(j)Y=ck)由于在同一个训练数据集下,上式分母相同,于是上式的朴素贝叶斯分类器变为: y = f ( x ) = arg ⁡ max ⁡ c k P ( Y = c k ) ∏ j P ( X ( j ) = x ( j ) ∣ Y = c k ) y=f(x)=\arg \max_{c_k}^{}{P(Y=c_k)\prod_{j}^{}P(X^{(j)}=x^{(j)}|Y=c_k)} y=f(x)=argckmaxP(Y=ck)jP(X(j)=x(j)Y=ck)

II.策略

朴素贝叶斯法将实例分到后验概率最大的类中。这等价于期望风险最小化,假设选择0-1损失函数: L ( Y , f ( X ) ) = { 1 , Y ≠ f ( X ) 0 , Y = f ( X ) L(Y,f(X))=\left\{\begin{matrix}1,Y \neq f(X) \\ 0,Y=f(X)\end{matrix}\right. L(Y,f(X))={1,Y=f(X)0,Y=f(X)于是,期望风险函数为: R e x p ( f ) = E [ L ( Y , f ( X ) ) ] R_{exp}(f)=E[L(Y,f(X))] Rexp(f)=E[L(Y,f(X))],又由于期望是对联合分布 P ( X , Y ) P(X,Y) P(X,Y)取的,所以有条件期望 R e x p ( f ) = E X ∑ k = 1 K [ L ( c k , f ( X ) ) ] P ( c k ∣ X ) R_{exp}(f)=E_X\sum_{k=1}^{K}[L(c_k,f(X))]P(c_k|X) Rexp(f)=EXk=1K[L(ck,f(X))]P(ckX),为了使期望风险最小化,对 X = x X=x X=x逐个极小化,由此得到: f ( x ) = arg ⁡ min ⁡ y ∈ γ ∑ k = 1 K L ( c k , y ) P ( c k ∣ X = x ) = arg ⁡ min ⁡ y ∈ γ ∑ k = 1 K P ( y ≠ c k ∣ X = x ) = arg ⁡ min ⁡ y ∈ γ ∑ k = 1 K ( 1 − P ( y = c k ∣ X = x ) ) = arg ⁡ max ⁡ y ∈ γ ∑ k = 1 K P ( y = c k ∣ X = x ) f(x) = \arg\min_{y\in\gamma}^{}\sum_{k=1}^{K}L(c_k,y)P(c_k|X=x)\\ = \arg\min_{y\in\gamma}^{}\sum_{k=1}^{K}P(y\neq c_k|X=x)\\ = \arg\min_{y\in\gamma}^{}\sum_{k=1}^{K}(1-P(y= c_k|X=x))\\ = \arg\max_{y\in\gamma}^{}\sum_{k=1}^{K}P(y= c_k|X=x) f(x)=argyγmink=1KL(ck,y)P(ckX=x)=argyγmink=1KP(y=ckX=x)=argyγmink=1K(1P(y=ckX=x))=argyγmaxk=1KP(y=ckX=x)于是,期望分线最小化准则就等价于后仰概率最大化准则: f ( x ) = arg ⁡ max ⁡ c k P ( c k ∣ X = x ) f(x)=\arg\max_{c_k}^{}P(c_k|X=x) f(x)=argckmaxP(ckX=x)

III.算法

a.极大似然估计
极大似然估计,可以直观理解为基于当前训练数据集对先验概率 P ( Y = c k ) P(Y=c_k) P(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_{i=1}^{N}I(y_i=c_k)}{N},k=1,2,\cdots,K P(Y=ck)=Ni=1NI(yi=ck),k=1,2,,K
以及条件概率 P ( X ( j ) = a j l ∣ Y = c k ) P(X^{(j)}=a_{jl}|Y=c_k) P(X(j)=ajlY=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{\sum_{i=1}^{N}I(x_i^{(j)}=a_{jl},y_i=c_k)}{\sum_{i=1}^{N}I(y_i=c_k)} P(X(j)=ajlY=ck)=i=1NI(yi=ck)i=1NI(xi(j)=ajl,yi=ck)其中 j = 1 , 2 , ⋯   , n ; l = 1 , 2 , ⋯   , S j ; k = 1 , 2 , ⋯   , K ; j=1,2,\cdots,n;l=1,2,\cdots,S_j;k=1,2,\cdots,K; j=1,2,,n;l=1,2,,Sj;k=1,2,,K; j j j个特征 x ( j ) x^{(j)} x(j)可能取值的集合为 { a j 1 , a j 2 , ⋯   , a j S j } \left \{ a_{j1},a_{j2},\cdots,a_{jS_j} \right \} {aj1,aj2,,ajSj}

b.贝叶斯估计
极大似然估计可能会产生过拟合的问题,由于实际样本集中可能存在某个输入输出概率为0的情况。解决这一问题的方法是采用贝叶斯估计。具体地,条件概率的贝叶斯估计是: 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_\lambda(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} Pλ(X(j)=ajlY=ck)=i=1NI(yi=ck)+Sjλi=1NI(xi(j)=ajl,yi=ck)+λ
其中, λ ⩾ 0 \lambda\geqslant0 λ0,当 λ = 1 \lambda=1 λ=1时,称为拉普拉斯平滑;同样,先验概率的贝叶斯估计是: P λ ( Y = c k ) = ∑ i = 1 N I ( y i = c k ) + λ N + K λ P_\lambda(Y=c_k)=\frac{\sum_{i=1}^{N}I(y_i=c_k)+\lambda}{N+K\lambda} Pλ(Y=ck)=N+Kλi=1NI(yi=ck)+λ

三、总结

朴素贝叶斯法属于比较强条件下的一个生成模型,通过极大似然估计或贝叶斯估计,在特征条件独立的假设下,运用概率论中贝叶斯定理对新的输入进行预测。

你可能感兴趣的:(机器学习,朴素贝叶斯算法)