贝叶斯分类

一、简介

朴素贝叶斯(Naive Bayes)是一种简单但有效的概率分类器,基于贝叶斯定理。由于假设特征之间相互独立,它被称为“朴素”。虽然这种假设在实际情况中通常不成立,但朴素贝叶斯分类器在文本分类和垃圾邮件过滤等领域表现优异。

二、数学原理——贝叶斯定理

  • 先验概率:基于历史数据得出的概率,不依赖于当前的条件。
  • 后验概率:基于当前条件计算的概率。
  • 条件概率:在事件B已发生的前提下,事件A发生的概率,表示为P(A|B)。

𝑃(𝐴∣𝐵)=𝑃(𝐴𝐵)𝑃(𝐵)P(A∣B)=P(B)P(AB)​

  • 贝叶斯公式:通过条件概率P(B|A)来计算P(A|B):

𝑃(𝐴∣𝐵)=𝑃(𝐵∣𝐴)×𝑃(𝐴)𝑃(𝐵)P(A∣B)=P(B)P(B∣A)×P(A)​

其中,P(A|B)表示在事件B发生时,事件A发生的概率;P(B|A)表示在事件A发生时,事件B发生的概率;P(A)和P(B)分别是事件A和事件B单独发生的概率。

贝叶斯定理的核心思想是,在已知条件事件B发生后,可以利用这一条件更新事件A发生的概率。

三、朴素贝叶斯

在朴素贝叶斯算法中,特征条件假设(Feature Conditional Assumption)假设所有特征相互独立,从而简化后验概率的计算。这一假设是朴素贝叶斯算法的基础。

1. 特征条件假设

给定类别c和样本x=(x1, x2, ..., xn),算法计算条件概率P(x|c),即在类别c发生的情况下,观察到样本x的概率。基于特征条件假设,这个联合概率可以表示为各个特征的条件概率的乘积:

𝑃(𝑥∣𝑐)=𝑃(𝑥1,𝑥2,...,𝑥𝑛∣𝑐)=∏𝑖=1𝑛𝑃(𝑥𝑖∣𝑐)P(x∣c)=P(x1​,x2​,...,xn​∣c)=∏i=1n​P(xi​∣c)

其中,P(xi|c)表示在类别c发生的情况下,第i个特征xi发生的概率。

2. 原理

朴素贝叶斯算法利用贝叶斯定理计算给定输入数据的类别概率。对于一个样本x,朴素贝叶斯算法计算它属于每个类别c的概率P(c|x),然后选择概率最高的类别作为预测结果。

根据贝叶斯定理:

𝑃(𝑐∣𝑥)=𝑃(𝑥∣𝑐)⋅𝑃(𝑐)𝑃(𝑥)P(c∣x)=P(x)P(x∣c)⋅P(c)​

其中,P(c|x)是后验概率,P(x|c)是似然,P(c)是先验概率,P(x)是边缘概率。

3. 朴素贝叶斯分类器

朴素贝叶斯分类器通过计算每个类别的后验概率来进行分类。对于给定的样本X={x1, x2, ..., xm},分类器计算每个类别ci的后验概率P(ci|X),然后选择后验概率最高的类别作为预测结果。

由于朴素贝叶斯假设特征相互独立,似然P(X|ci)可以表示为:

𝑃(𝑋∣𝑐𝑖)=𝑃(𝑥1,𝑥2,...,𝑥𝑛∣𝑐𝑖)=∏𝑗=1𝑚𝑃(𝑥𝑗∣𝑐𝑖)P(X∣ci​)=P(x1​,x2​,...,xn​∣ci​)=∏j=1m​P(xj​∣ci​)

4. 拉普拉斯修正

拉普拉斯修正(Laplace correction),也称为加一平滑(add-one smoothing),用于解决零概率问题。在朴素贝叶斯分类器中,当某个类别或特征组合在训练数据中未出现时,会导致概率估计为零。拉普拉斯修正通过在每个事件的计数上加一个常数(通常是1),来避免零概率问题。

拉普拉斯修正后的条件概率计算公式为:

𝑃(𝑥𝑖∣𝑐)=𝑁𝑥𝑖,𝑐+1𝑁𝑐+𝑉P(xi​∣c)=Nc​+VNxi​,c​+1​

其中,Nx_i,c表示在类别c中出现特征xi的次数,Nc是类别c在训练数据中的总次数,V是类别c下特征xi可能取的不同值的数量。

5. 实现步骤
  1. 数据准备:收集并准备训练数据集。
  2. 特征独立性假设:假设所有特征相互独立。
  3. 计算先验概率:根据训练数据集计算每个类别的先验概率P(c)。
  4. 计算条件概率:计算每个类别c和每个特征xi的条件概率P(xi|c)。
  5. 计算边缘概率:通过所有类别的条件概率和先验概率的乘积之和来计算。
  6. 应用贝叶斯定理:计算后验概率P(c|x)。
  7. 类别预测:对于新的样本x,计算其属于每个类别的后验概率,选择概率最高的类别作为预测结果。

四、代码实现

以下代码使用sklearn库实现了20类新闻的分类:

 

  • 26
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值