• 《统计学习方法》第四章总结与习题


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

    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

    高斯朴素贝叶斯

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

  • 相关阅读:
    安装和使用
    redis和mysql数据一致性方案
    Qt5.5.1获取xml文件时,Content-Length为0
    python 连接配置SSL证书的Minio服务
    ubuntu2204部署hbase2.3.7
    【附源码】Python计算机毕业设计万达影院售票管理系统
    【图像分类】2021-MLP-Mixer NIPS
    YOLOV7详细解读(四)训练自己的数据集
    裂开了,一次连接池参数导致的雪崩问题
    HCIP之重发布
  • 原文地址:https://blog.csdn.net/qq_42714262/article/details/127852366