统计学习方法四----朴素贝叶斯分类器

/# 0. 概率
      ~~~~~      在模式识别领域的⼀个关键概念是不确定性的概念。它可以由测量的误差引起,也可以由数据集的有限⼤⼩引起。概率论提供了⼀个合理的框架,⽤来对不确定性进⾏量化和计算
      ~~~~~      在概率图模型中,每个结点表⽰⼀个随机变量(或⼀组随机变量),链接表⽰这些变量之间的概率关系。

0.1 交叉熵

c e = − ∫ p ( x ) l n q ( x ) d x ce =-\int p(x)lnq(x)dx ce=p(x)lnq(x)dx

0.2 相对熵(KL散度)

  • 假设p(x) , q(x)是X中取值的angie概率分布,则p对q的相对熵是:
    D ( p ∣ ∣ q ) = − ∫ p ( x ) l n q ( x ) d x − ( − ∫ p ( x ) l n p ( x ) d x ) = ∫ p ( x ) l n p ( x ) q ( x ) d x D(p||q) =-\int p(x)ln q(x)dx - (-\int p(x)ln p(x)dx)\\ =\int p(x)ln\frac{p(x)}{q(x)}dx D(pq)=p(x)lnq(x)dx(p(x)lnp(x)dx)=p(x)lnq(x)p(x)dx

0.3 互信息

  • 两个随机变量X,Y的互信息,定义为X,Y联合分布和独立分布乘积的相对熵.
    I ( X , Y ) = D ( P ( X , Y ) ∣ ∣ P ( X ) P ( Y ) ) I(X,Y) = D(P(X,Y) || P(X)P(Y)) I(X,Y)=D(P(X,Y)P(X)P(Y))

1. 概率公式

  • 概率论两个最基本的规则:加和规则,乘积规则
  1. sum rule

P ( X ) = ∑ Y P ( X , Y ) P(X) = \sum_Y P(X,Y) P(X)=YP(X,Y)

  1. product rule
    P ( X , Y ) = P ( Y ∣ X ) P ( X ) P(X,Y) = P(Y|X) P(X) P(X,Y)=P(YX)P(X)
  2. 条件概率公式

P ( A ∣ B ) = P ( A B ) P ( B ) P(A|B) = \frac{P(AB)}{P(B)} P(AB)=P(B)P(AB)

  1. 全概率公式

P ( A ) = ∑ i P ( A ∣ B i ) P ( B i ) P(A) = \sum_i P(A|B_{i})P(B_{i}) P(A)=iP(ABi)P(Bi)

  1. 贝叶斯公式
    P ( B i ∣ A ) = P ( A ∣ B i ) P ( B i ) ∑ i P ( A ∣ B i ) P ( B i ) P(B_{i}|A) = \frac{P(A|B_{i})P(B_{i})}{\sum_i P(A|B_{i})P(B_{i})} P(BiA)=iP(ABi)P(Bi)P(ABi)P(Bi)

2. 先验/后验/似然

3. 朴素贝叶斯

3.1 模型

  • 朴素贝叶斯第一步要求出一个联合分布概率P(X,Y)

P ( Y i ∣ X ) = P ( Y i , X ) P ( X ) = P ( X ∣ Y i ) P ( Y i ) ∑ i P ( X ∣ Y i ) P ( Y i ) P(Y_{i}|X) = \frac{P(Y_{i},X)}{P(X)} \\ = \frac{P(X|Y_{i})P(Y_{i})}{\sum_i P(X|Y_{i})P(Y_{i})} P(YiX)=P(X)P(Yi,X)=iP(XYi)P(Yi)P(XYi)P(Yi)

  • 由上式我们可以看到,我们可以将联合概率分解成两部分.先验分布 * 条件概率分布

  • 我们看条件概率分布的形式:
    P ( X = x ∣ Y = c k ) = P ( X ( 1 ) = x ( 1 ) , . . . , X ( n ) = x ( n ) ∣ Y = c k ) P(X=x|Y=c_{k}) = P(X^{(1)} = x^{(1)},...,X^{(n)} = x^{(n)}|Y=c_{k}) P(X=xY=ck)=P(X(1)=x(1),...,X(n)=x(n)Y=ck)

  • 假设 x ( j ) x^{(j)} x(j)取值有 S j S_{j} Sj个,Y取值有K个,那么需要求的参数有 K ∏ j = 1 n S j K \prod_{j = 1}^{n}S_{j} Kj=1nSj

  • 为了简化计算,提出了"朴素假设"(条件独立性假设): 一个特征出现的概率与其他特征独立

  • 原贝叶斯公式:
    P ( y ∣ x 1 , x 2 , . . . . x n ) = P ( y ) P ( x 1 , x 2 , . . . . x n ∣ y ) P ( x 1 , x 2 , . . . . x n ) P(y|x_{1},x_{2},....x_{n}) = \frac{P(y)P(x_{1},x_{2},....x_{n}|y)}{P(x_{1},x_{2},....x_{n})} P(yx1,x2,....xn)=P(x1,x2,....xn)P(y)P(x1,x2,....xny)

  • 由假设简化:
    P ( y ) P ( x 1 , x 2 , . . . . x n ∣ y ) = P ( y ) ∏ i = 1 n P ( x i ∣ y ) P(y)P(x_{1},x_{2},....x_{n}|y) = P(y)\prod_{i = 1}^n P(x_{i}|y) P(y)P(x1,x2,....xny)=P(y)i=1nP(xiy)

  • 由于分子 P ( x 1 , x 2 , . . . . x n ) P(x_{1},x_{2},....x_{n}) P(x1,x2,....xn)和y无关,不再考虑,因此可得
    P ( y ∣ x 1 , x 2 , . . . . x n ) ∝ P ( y ) ∏ i = 1 n P ( x i ∣ y ) P(y|x_{1},x_{2},....x_{n}) \propto P(y)\prod_{i = 1}^n P(x_{i}|y) P(yx1,x2,....xn)P(y)i=1nP(xiy)

  • 得到朴素贝叶斯分类器(最大化后验概率)
    y = a r g m a x c k P ( Y = c k ) ∏ j P ( X j = x j ∣ Y = c k ) y = arg max_{c_{k}} P(Y = c_{k}) \prod_{j}P(X^{j} = x^{j} | Y = c_{k}) y=argmaxckP(Y=ck)jP(Xj=xjY=ck)

注: <统计学习方法中>推导了由期望风险最小出发,导出最大后验概率的过程

3.2 策略(学习)

  • 这里主要介绍如何估计贝叶斯分类器内的参数:
  • 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(Xj=xjY=ck)

3.2.1 最大似然估计

  • 书上针对的是离散情况的讨论,直接根据频率统计得出概率
  • 等以后遇到连续情况时再展开

3.2.2 贝叶斯估计

  • 极大似然估计会出现概率为0的情况(比方说,某词未出现,统计频率为0,导致概率为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λ(Xj=ajlY=ck)=i=1NI(yi=ck+Sjλ)i=1NI(xij=ajl,yi=ck)+λ

  • λ \lambda λ为正数,其实就是稍微修正了一下,避免出现零情况

4. 实例

参考

1. 一个例子搞清楚(先验分布/后验分布/似然估计)
2. 朴素贝叶斯分类器 详细解析
3. 从贝叶斯方法谈到贝叶斯网络

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值