问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

通俗易懂的分类算法之朴素贝叶斯详解

创作时间:
作者:
@小白创作中心

通俗易懂的分类算法之朴素贝叶斯详解

引用
CSDN
1.
https://blog.csdn.net/clownAdam/article/details/145999077

朴素贝叶斯是什么?

朴素贝叶斯是一种用来分类的算法。它的核心思想是:通过已知的数据,计算某个事件属于哪个类别的概率,然后选择概率最大的类别作为结果

举个例子:

  • 你收到一封邮件,朴素贝叶斯会通过分析邮件内容,判断它是“正常邮件”还是“垃圾邮件”。
  • 它的名字中“朴素”是因为它做了一个简单的假设:邮件中的每个词(特征)是相互独立的,不会互相影响。

贝叶斯定理

朴素贝叶斯的核心是贝叶斯定理,公式如下:

用通俗的话来说:

  • P(A|B):在已知 B 发生的情况下,A 发生的概率(这是我们想求的)。
  • P(B|A):在已知 A 发生的情况下,B 发生的概率。
  • P(A):A 本身发生的概率。
  • P(B):B 本身发生的概率。

举个例子:

  • 你想判断一封邮件是不是垃圾邮件(A 是“垃圾邮件”,B 是邮件内容)。
  • 你需要计算:在已知邮件内容的情况下,这封邮件是垃圾邮件的概率。

朴素贝叶斯的工作步骤

朴素贝叶斯的分类过程可以分为以下几步:

步骤 1:准备数据

  • 收集一些已知类别的数据(比如一些标记为“垃圾邮件”和“正常邮件”的邮件)。
  • 提取特征(比如邮件中的关键词)。

步骤 2:计算概率

  • 计算每个类别(如“垃圾邮件”和“正常邮件”)的先验概率 ( P(A) )。
  • 比如,100 封邮件中有 30 封是垃圾邮件,那么 ( P(\text{垃圾邮件}) = 30% )。
  • 计算每个特征(如某个词)在某个类别下的条件概率 ( P(B|A) )。
  • 比如,在垃圾邮件中,“免费”这个词出现的概率是多少。

步骤 3:做出预测

  • 对于一封新邮件,提取它的特征(比如包含哪些词)。
  • 根据贝叶斯定理,计算它属于每个类别的概率。
  • 选择概率最大的类别作为预测结果。

为什么叫“朴素”?

朴素贝叶斯有一个很强的假设:特征之间是相互独立的。也就是说,它认为邮件中的每个词之间没有关系。

比如:

  • 邮件中出现“免费”和“中奖”这两个词,朴素贝叶斯会认为它们是独立的,不会考虑它们之间的联系。
  • 虽然这个假设在现实中不一定成立,但朴素贝叶斯在实际应用中表现很好,尤其是在文本分类任务中。

举个例子

假设我们有以下数据:

邮件内容
类别
免费 中奖
垃圾邮件
会议 通知
正常邮件
免费 会议
正常邮件
中奖 优惠
垃圾邮件

现在有一封新邮件,内容是“免费 会议”,我们想判断它是垃圾邮件还是正常邮件。

步骤 1:计算先验概率

  • 总邮件数:4
  • 垃圾邮件数:2
  • 正常邮件数:2

步骤 2:计算条件概率

  • 对于垃圾邮件:
  • “免费”出现的概率:
  • “会议”出现的概率:
  • 对于正常邮件:
  • “免费”出现的概率:
  • “会议”出现的概率:

步骤 3:计算后验概率

  • 对于垃圾邮件:
    P(垃圾邮件∣免费 会议)=P(免费∣垃圾邮件)×P(会议∣垃圾邮件)×P(垃圾邮件)=0.5×0×0.5=0
  • 对于正常邮件:
    P(正常邮件∣免费 会议)=P(免费∣正常邮件)×P(会议∣正常邮件)×P(正常邮件)=0.5×1×0.5=0.25

步骤 4:做出预测

  • 因为P(正常邮件∣免费 会议)>P(垃圾邮件∣免费 会议),所以这封邮件被分类为“正常邮件”。

优点和缺点

优点

  • 简单、快速,适合大规模数据。
  • 对小规模数据表现也很好。
  • 特别适合文本分类任务。

缺点

  • 假设特征之间独立,现实中可能不成立。
  • 对输入数据的分布比较敏感。

应用场景

  • 垃圾邮件过滤
  • 情感分析(判断评论是正面还是负面)
  • 新闻分类(判断新闻属于哪个类别)
  • 疾病预测(根据症状判断是否患病)

希望这个通俗的解释能让你彻底理解朴素贝叶斯!如果还有疑问,欢迎随时提问! 😊

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号