【第二章:机器学习与神经网络概述】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:在不均衡样本中更常用

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


八、优点与局限
优点 说明
计算效率高 适用于大规模数据
简单易实现 理解与部署容易
可解释性强 输出为概率,可量化信心度
局限 说明
特征独立假设不现实 实际数据特征常常相关
对连续变量建模能力弱 需假设高斯分布或离散化
相关推荐
~|Bernard|1 小时前
在 PyCharm 里怎么“点鼠标”完成指令同样的运行操作
算法·conda
战术摸鱼大师1 小时前
电机控制(四)-级联PID控制器与参数整定(MATLAB&Simulink)
算法·matlab·运动控制·电机控制
Christo31 小时前
TFS-2018《On the convergence of the sparse possibilistic c-means algorithm》
人工智能·算法·机器学习·数据挖掘
好家伙VCC2 小时前
数学建模模型 全网最全 数学建模常见算法汇总 含代码分析讲解
大数据·嵌入式硬件·算法·数学建模
非门由也2 小时前
《sklearn机器学习——管道和复合估计器》回归中转换目标
机器学习·回归·sklearn
liulilittle4 小时前
IP校验和算法:从网络协议到SIMD深度优化
网络·c++·网络协议·tcp/ip·算法·ip·通信
小憩-4 小时前
【机器学习】吴恩达机器学习笔记
人工智能·笔记·机器学习
却道天凉_好个秋5 小时前
深度学习(二):神经元与神经网络
人工智能·神经网络·计算机视觉·神经元
THMAIL5 小时前
深度学习从入门到精通 - 生成对抗网络(GAN)实战:创造逼真图像的魔法艺术
人工智能·python·深度学习·神经网络·机器学习·生成对抗网络·cnn
无风听海5 小时前
神经网络之深入理解偏置
人工智能·神经网络·机器学习·偏置