机器学习(二):朴素贝叶斯基本原理

Task02:朴素贝叶斯

理论部分

  • 相关概念
    • 生成模型
    • 判别模型
  • 朴素贝叶斯基本原理
    • 条件概率公式
    • 乘法公式
    • 全概率公式
    • 贝叶斯定理
    • 特征条件独立假设
    • 后验概率最大化
    • 拉普拉斯平滑
  • 朴素贝叶斯的三种形式
    • 高斯型
    • 多项式型
    • 伯努利型
  • 极值问题情况下的每个类的分类概率
  • 下溢问题如何解决
  • 零概率问题如何解决
  • sklearn参数详解

练习部分

  • 利用sklearn解决聚类问题。
  • sklearn.naive_bayes.GaussianNB

知识点梳理

  1. 相关概念(生成模型、判别模型)
  2. 先验概率、条件概率
  3. 贝叶斯决策理论
  4. 贝叶斯定理公式
  5. 极值问题情况下的每个类的分类概率
  6. 下溢问题如何解决
  7. 零概率问题如何解决?
  8. 优缺点
  9. sklearn参数详解,Python绘制决策树

0.前言

有点惭愧,作为一个理工科考数一的研究生,感觉自己很多数学知识还是很欠缺,很多数学概念理解起来还有点吃力,想学机器学习,数学基础还是一定要搞好啊。
时间有点紧张,学的很仓促,从下面两个方面写一点自己的收获吧。

1.生成模型、判别模型

判别式模型举例:要确定一个羊是山羊还是绵羊,用判别模型的方法是从历史数据中学习到模型,然后通过提取这只羊的特征来预测出这只羊是山羊的概率,是绵羊的概率。

生成式模型举例:利用生成模型是根据山羊的特征首先学习出一个山羊的模型,然后根据绵羊的特征学习出一个绵羊的模型,然后从这只羊中提取特征,放到山羊模型中看概率是多少,在放到绵羊模型中看概率是多少,哪个大就是哪个。

细细品味上面的例子,判别式模型是根据一只羊的特征可以直接给出这只羊的概率(比如logistic regression,这概率大于0.5时则为正例,否则为反例),而生成式模型是要都试一试,最大的概率的那个就是最后结果~

2. 朴素贝叶斯基本原理

贝叶斯定理的由来,可以从正向概率和逆向概率谈起,所谓“正向概率”,可以举个例子来理解:一次抽奖活动,已知纸箱中有2个红球,8个白球,抽到红球为中奖,易知中奖的概率为2/10。这就是正向概率。而贝叶斯的伟大之处在于他提出来“逆向概率”这种思想,假设现在我们抽奖前不知道箱子里有几个白球,几个红球,我们先抽一个,通过抽到的球的颜色来判断抽到红球的概率和抽到白球的概率。这种就是“逆向概率”。由果推因,而非正向概率的由因及果。

贝叶斯定理公式:
在这里插入图片描述
分别对应:后验概率=先验概率 × 可能性函数
先验概率可以理解为我们的主观判断的概率,然后根据搜集新的信息来修正(可能性函数/调整因子),最后做出高概率的预测(后验概率)。
我们先根据以往的经验预估一个"先验概率"P(A),然后加入新的信息(实验结果B),这样有了新的信息后,我们对事件A的预测就更加准确。

因此,贝叶斯定理可以理解成下面的式子:
后验概率(新信息出现后A发生的概率) = 先验概率(A发生的概率) x 可能性函数(新信息带出现来的调整)

贝叶斯的底层思想就是:
如果我能掌握一个事情的全部信息,我当然能计算出一个客观概率(古典概率、正向概率)。
可是生活中绝大多数决策面临的信息都是不全的,我们手中只有有限的信息。既然无法得到全面的信息,我们就在信息有限的情况下,尽可能做出一个好的预测。也就是,在主观判断的基础上,可以先估计一个值(先验概率),然后根据观察的新信息不断修正(可能性函数)。

朴素贝叶斯

朴素贝叶斯分类算法是借用到了贝叶斯定理,sklearn官网中对其的介绍为:

Naive Bayes methods are a set of supervised learning algorithms based on applying Bayes’ theorem with the “naive” assumption of conditional independence between every pair of features given the value of the class variable.

翻译过来的大致意思为,朴素贝叶斯的基于贝叶斯定理的有监督学习的一种算法,它有一个“朴素”的特征,即在给定类变量值的条件下,每对特征都是条件独立的。
由贝叶斯公式:
P ( A / B ) = P ( A ) P ( B / A ) P ( B ) P(A/B)=P(A)\frac{P(B/A)}{P(B)} P(A/B)=P(A)P(B)P(B/A)
转换成分类任务的表达式:
P ( 类 别 / 特 征 ) = P ( 类 别 ) P ( 特 征 / 类 别 ) P ( 特 征 ) P(类别/特征)=P(类别)\frac{P(特征/类别)}{P(特征)} P(/)=P()P()P(/)
其实就是特征存在的情况下来判断类别。

朴素贝叶斯的种类
目前在scikit-learn中,一共有3个朴素贝叶斯的分类算法,分为是

1. Gaussian Naive Bayes高斯朴素贝叶斯
即先验概率为高斯分布(正态分布)的朴素贝叶斯,即每个标签的数据都服从简单的正态分布。

2. Multinomial Naive Bayes多项式朴素贝叶斯
即先验概率为多项式分布的朴素贝叶斯

3. Complement Naive Bayes伯努利朴素贝叶斯
即先验概率为伯努利分布的朴素贝叶斯

规律:

  • 一般来说,如果样本特征的分布大部分的连续值,使用高斯NB比较好。
  • 如果样本特征的分布大部分是多元离散值,用多项式NB比较合适。
  • 如果样本特征是二元离散值或者很稀疏的多元离散值,应该用伯努利NB。

PS:以上分类具体的应用需要用到的时候再去补充学习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值