【第二章:机器学习与神经网络概述】03.类算法理论与实践-(2)朴素贝叶斯分类器

第二章: 机器学习与神经网络概述

第三部分:类算法理论与实践

第二节:朴素贝叶斯分类器

内容:条件独立假设、拉普拉斯平滑、分类准确率。

朴素贝叶斯是一类基于贝叶斯定理 且假设特征之间相互独立的概率分类模型,广泛应用于文本分类、垃圾邮件过滤、情感分析等任务中。


一、贝叶斯定理基础回顾

贝叶斯定理描述了在已知先验概率和条件概率下,如何更新后验概率:

  • P(C∣X):在给定特征 X 的情况下属于类别 C 的概率(后验概率)

  • P(C):类别的先验概率

  • P(X∣C):类别 C 下出现特征 X 的概率

  • P(X):所有类别下特征 X 的总概率(可忽略用于比较)


二、朴素假设:特征条件独立

朴素贝叶斯对贝叶斯定理进行了简化,假设特征之间相互独立,因此:

于是:

这大大简化了模型训练与推理过程。


三、模型训练与预测流程
  1. 统计先验概率 P(C):每个类别出现的频率

  2. 统计条件概率 :特征在每个类别中出现的频率

  3. 应用拉普拉斯平滑(见下)防止零概率问题

  4. 预测时计算各类别后验概率,选择概率最大的类别作为结果


四、拉普拉斯平滑(Laplacian Smoothing)

当某些特征在某类中未出现时,,使整体概率为零。

解决方法是对所有概率加一个正数(通常是1):

其中 k 是特征总数(对于多项式模型,k 为词汇表大小)。


五、朴素贝叶斯常见变体
模型类型 适用数据类型 条件概率分布
高斯贝叶斯 连续型数据 高斯正态分布
多项式贝叶斯 计数型特征(如词频) 多项式分布
伯努利贝叶斯 二元特征(如是否出现) 伯努利分布

六、Python 示例(使用 sklearn)
python 复制代码
from sklearn.naive_bayes import MultinomialNB
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.model_selection import train_test_split

# 示例数据
texts = ["good product", "very bad", "excellent service", "worst experience", "nice quality"]
labels = [1, 0, 1, 0, 1]  # 1=好评, 0=差评

# 文本向量化
vectorizer = CountVectorizer()
X = vectorizer.fit_transform(texts)

# 训练模型
X_train, X_test, y_train, y_test = train_test_split(X, labels, test_size=0.2)
model = MultinomialNB()
model.fit(X_train, y_train)

# 测试准确率
accuracy = model.score(X_test, y_test)
print(f"测试准确率: {accuracy:.2f}")
python 复制代码
测试准确率: 0.00

七、评价指标
  • 准确率(Accuracy):预测正确的样本数 / 总样本数

  • 精确率(Precision)、召回率(Recall)、F1-score:在不均衡样本中更常用

  • 混淆矩阵:展示预测与真实类别的分布情况


八、优点与局限
优点 说明
计算效率高 适用于大规模数据
简单易实现 理解与部署容易
可解释性强 输出为概率,可量化信心度
局限 说明
特征独立假设不现实 实际数据特征常常相关
对连续变量建模能力弱 需假设高斯分布或离散化
相关推荐
从今天开始学习Verilog几秒前
FFT算法实现之fft IP核
算法·fpga开发
荼蘼1 小时前
基于 KNN 算法的手写数字识别项目实践
人工智能·算法·机器学习
Yuroo zhou1 小时前
IMU的精度对无人机姿态控制意味着什么?
单片机·嵌入式硬件·算法·无人机·嵌入式实时数据库
jackzhuoa2 小时前
java小白闯关记第一天(两个数相加)
java·算法·蓝桥杯·期末
Codeking__3 小时前
链表算法综合——重排链表
网络·算法·链表
minji...3 小时前
数据结构 堆(4)---TOP-K问题
java·数据结构·算法
AI_Keymaker4 小时前
一句话生成3D世界:腾讯开源混元3D模型
算法
Leon_vibs4 小时前
当 think 遇上 tool:深入解析 Agent 的规划之道
算法
旧时光巷4 小时前
【机器学习-2】 | 决策树算法基础/信息熵
算法·决策树·机器学习·id3算法·信息熵·c4.5算法
落了一地秋5 小时前
4.5 优化器中常见的梯度下降算法
人工智能·算法·机器学习