04 朴素贝叶斯法——读书笔记

久未见 提交于 2019-12-14 01:02:03

一、相关概念:

  1. 先验概率:
    是指事件发生前的预判概念,也可以说是“因”发生的概率,即表示为 P(X)。
  2. 条件概率:
    是指事件发生后求得反向条件概率,也可以说是在“因”的条件下,“果”发生的概率,即表示为 P(Y|X)。
  3. 后验概率:
    一个事件发生后导致另一个事件发生的概率,也可以说是在“果”出现的情况下,是什么“因”导致的概率,即表示为P(X|Y)。
  4. 似然概率:
    类似于条件概率,即“因”的条件下,“果”发生的概率,即表示为 P(Y|X)。
  5. 贝叶斯定理:(又称条件概率定理)
    P(YX)=P(XY)P(Y)P(X)P(Y|X)=\frac{P(X|Y)*P(Y)}{P(X)}

二、朴素贝叶斯法概述:

朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。对于给定的训练数据集,首先基于特征条件独立假设学习输入输出的联合概率分布;然后基于该模型,对于给定的输入xx,利用贝叶斯定理求出后验概率最大的输出yy.

  1. 先验概率分布、条件概率分布、联合概率分布:
    已知输入空间 χRn\chi \subseteqq R^{n}nn 维向量的集合,输出空间为类标记集合 γ={c1,c2,...,cK}\gamma =\begin{Bmatrix} c_{1},c_{2},...,c_{K} \end{Bmatrix} 。输入为特征向量 xx,输出为类标记 yy。 训练数据集为:T={(x1,y1),(x2,y2),(x3,y3),...,(xN,yN)}T=\begin{Bmatrix} (x_{1},y_{1}),(x_{2},y_{2}),(x_{3},y_{3}),...,(x_{N},y_{N}) \end{Bmatrix}
    (1)先验概率分布:
    P(Y=ck),k=1,2,3,...,KP(Y=c_{k}),\: k=1,2,3,...,K
    (2)条件概率分布:
    P(X=xY=ck)=P(X(1)=x(1),...,X(n)=x(n)Y=ck),k=1,2,...,KP(X=x|Y=c_{k})=P(X^{(1)}=x^{(1)},...,X^{(n)}=x^{(n)}|Y=c_{k}),\:k=1,2,...,K
    (3)联合概率分布:
    朴素贝叶斯法通过训练数据集学习到联合概率分布P(X,Y)P(X,Y).
    P(X,Y)=P(Y=ck)P(X=xY=ck),k=1,2,...,KP(X,Y)=P(Y=c_{k})P(X=x|Y=c_{k}),\:k=1,2,...,K
    (4)后验概率分布:
    P(Y=ckX=x)=P(X=xY=ck)P(Y=ck)kP(X=xY=ck)P(Y=ck)P(Y=c_{k}|X=x)=\frac{P(X=x|Y=c_{k})*P(Y=c_{k})}{\sum_{k}{}P(X=x|Y=c_{k})*P(Y=c_{k})}
  2. 条件独立性假设:
    由于条件概率分布具有指数级数量的参数,其估计实际是不可行的。事实上,假设 x(j)x^{(j)} 可取值 SjS_{j}个,其中 j=1,2,...,nj=1,2,...,nYY 可取值有KK个,则联合分布概率的参数个数为:Kj=1nSjK\prod_{j=1}^{n}S_{j}.
    所以,朴素贝叶斯法对条件概率分布作了条件独立性的假设,这一假设使得朴素贝叶斯法变得简单,但有时会牺牲一定的分类准确率。条件独立性假设是指:
    P(X=xY=ck)=P(X(1)=x(1),...,X(n)=x(n)Y=ck)P(X=x|Y=c_{k})=P(X^{(1)}=x^{(1)},...,X^{(n)}=x^{(n)}|Y=c_{k})
    =j=1nP(X(j)=x(j)Y=ck)=\prod_{j=1}^{n}P(X^{(j)}=x^{(j)}|Y=c_{k})
    在条件独立性假设条件下:
    (1)条件概率分布:
    P(X=xY=ck)=P(X(1)=x(1),...,X(n)=x(n)Y=ck)P(X=x|Y=c_{k})=P(X^{(1)}=x^{(1)},...,X^{(n)}=x^{(n)}|Y=c_{k})
    =j=1nP(X(j)=x(j)Y=ck)=\prod_{j=1}^{n}P(X^{(j)}=x^{(j)}|Y=c_{k})
    (2)后验概率分布:
    P(Y=ckX=x)=jP(X(j)=x(j)Y=ck)P(Y=ck)kP(Y=ck)jP(X(j)=x(j)Y=ck)P(Y=c_{k}|X=x)=\frac{\prod_{j}^{}P(X^{(j)}=x^{(j)}|Y=c_{k})*P(Y=c_{k})}{\sum_{k}{}P(Y=c_{k})*\prod_{j}^{}P(X^{(j)}=x^{(j)}|Y=c_{k})}
    (3)联合概率分布:

y=argmaxckP(Y=ck)jP(X(j)=x(j)Y=ck).y=arg \: max_{c_{k}}P(Y=c_{k})*\prod_{j}^{}P(X^{(j)}=x^{(j)}|Y=c_{k}) .

三、后验概率最大化的含义:

朴素贝叶斯法将实例分到后验概率最大的类中。这等价于期望风险最小化。假设选择0-1损失函数:
L(Y,f(X))={1,Yf(X)0,Y=f(X)}L(Y,f(X))=\begin{Bmatrix} 1, &Y\neq f(X) \\ 0,& Y= f(X) \end{Bmatrix}
为了使期望风险最小化,只需要对X=xX=x逐个极小化,根据期望风险最小化准则就得到了后验概率最大化准则:
y=argmaxckP(ckX=x)y=arg \: max_{c_{k}}P(c_{k}|X=x)
即朴素贝叶斯法所采用的原理。

四、朴素贝叶斯算法的定义:

输入:训练集 T={(x1,y1),(x2,y2),(x3,y3),...,(xN,yN)}T=\begin{Bmatrix} (x_{1},y_{1}),(x_{2},y_{2}),(x_{3},y_{3}),...,(x_{N},y_{N}) \end{Bmatrix};实例 xx
输出:实例 xx 的分类。
(1)计算先验概率和条件概率:
P(Y=ck)=i=1NI(yi=ck)N,k=1,2,3,...,KP(Y=c_{k})=\frac{\sum_{i=1}^{N}I(y_{i}=c_{k})}{N},\: k=1,2,3,...,K
P(X(j)=ajlY=ck)=i=1NI(xi(j)=ajlyi=ck)i=1NI(yi=ck),k=1,2,3,...,Kj=1,2,...,nl=1,2,...,SjP(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})},\: k=1,2,3,...,K;j=1,2,...,n;l=1,2,...,S_{j}
(2)对给出的实例x={x(1),x(2),...,x(n)}x=\begin{Bmatrix} x^{(1)},x^{(2)},...,x^{(n)} \end{Bmatrix}计算联合概率分布:
P(Y=ck)j=1nP(X(j)=x(j)Y=ck),k=1,2,3,...,KP(Y=c_{k})*\prod_{j=1}^{n}P(X^{(j)}=x^{(j)}|Y=c_{k}),\: k=1,2,3,...,K
(3)根据最大值确定实例 xx的类:
y=argmaxckP(Y=ck)jP(X(j)=x(j)Y=ck).y=arg \: max_{c_{k}}P(Y=c_{k})*\prod_{j}^{}P(X^{(j)}=x^{(j)}|Y=c_{k}) .

五、朴素贝叶斯法的参数估计:

  1. 极大似然估计:
    (1)先验概率的极大似然估计:
    P(Y=ck)=i=1NI(yi=ck)N,k=1,2,3,...,KP(Y=c_{k})=\frac{\sum_{i=1}^{N}I(y_{i}=c_{k})}{N},\: k=1,2,3,...,K
    (2)条件概率的极大似然估计:
    P(X(j)=ajlY=ck)=i=1NI(xi(j)=ajlyi=ck)N,k=1,2,3,...,Kj=1,2,...,nl=1,2,...,SjP(X^{(j)}=a_{jl}|Y=c_{k})=\frac{\sum_{i=1}^{N}I(x_{i}^{(j)}=a_{jl},y_{i}=c_{k})}{N},\: k=1,2,3,...,K;j=1,2,...,n;l=1,2,...,S_{j}
  2. 贝叶斯估计:
    (1)贝叶斯估计的极大似然估计:
    P(Y=ck)=i=1NI(yi=ck)+λN+Kλ,k=1,2,3,...,KP(Y=c_{k})=\frac{\sum_{i=1}^{N}I(y_{i}=c_{k})+\lambda }{N+K\lambda },\: k=1,2,3,...,K
    (2)贝叶斯估计的极大似然估计:
    P(X(j)=ajlY=ck)=i=1NI(xi(j)=ajlyi=ck)+λi=1NI(yi=ck)+Sjλ,k=1,2,3,...,Kj=1,2,...,nl=1,2,...,SjP(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 },\: k=1,2,3,...,K;j=1,2,...,n;l=1,2,...,S_{j}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!