news 2026/4/25 7:56:24

人工智能之核心基础 机器学习 第六章 朴素贝叶斯

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
人工智能之核心基础 机器学习 第六章 朴素贝叶斯

人工智能之核心基础 机器学习

第六章 朴素贝叶斯


文章目录

  • 人工智能之核心基础 机器学习
    • 6.1 贝叶斯定理基础
      • 📌 核心公式:用已知反推未知
      • 💡 举个生活例子:疾病检测
    • 6.2 朴素贝叶斯的“朴素”假设
      • 🔑 核心假设:**特征条件独立**
    • 6.3 常见朴素贝叶斯模型
      • 📊 举例说明
    • 6.4 朴素贝叶斯的优缺点与适用场景
      • ✅ 优点
      • ❌ 缺点
      • 🎯 最佳适用场景
    • 6.5 实战案例 + 代码实现
      • 案例1:垃圾邮件过滤(多项式NB)
      • 案例2:电影评论情感分析(正面/负面)
      • 案例3:高斯NB —— 鸢尾花分类(连续特征)
    • 🎯 本章总结
  • 资料关注

6.1 贝叶斯定理基础

📌 核心公式:用已知反推未知

贝叶斯定理告诉我们:
在看到某些证据后,如何更新对某件事发生的信念(概率)

公式如下:

P ( Y ∣ X ) = P ( X ∣ Y ) ⋅ P ( Y ) P ( X ) P(Y|X) = \frac{P(X|Y) \cdot P(Y)}{P(X)}P(YX)=P(X)P(XY)P(Y)

  • P ( Y ∣ X ) P(Y|X)P(YX)后验概率—— 看到数据X XX后,类别Y YY的概率(我们要预测的!)
  • P ( X ∣ Y ) P(X|Y)P(XY)似然—— 如果是类别Y YY,出现数据X XX的可能性
  • P ( Y ) P(Y)P(Y)先验概率—— 类别Y YY本身出现的频率(比如垃圾邮件占30%)
  • P ( X ) P(X)P(X)证据—— 数据X XX出现的总概率(对所有类别都一样,可忽略)

目标:对每个类别Y YY计算P ( Y ∣ X ) P(Y|X)P(YX),选概率最大的那个!


💡 举个生活例子:疾病检测

  • 先验:人群中得病概率P ( 病 ) = 1 % P(\text{病}) = 1\%P()=1%
  • 检测准确率:得病者检出阳性P ( 阳 ∣ 病 ) = 99 % P(\text{阳}|\text{病}) = 99\%P()=99%
  • 假阳性率:健康人误检P ( 阳 ∣ 健康 ) = 5 % P(\text{阳}|\text{健康}) = 5\%P(健康)=5%

问:你检测阳性,真得病的概率是多少?

用贝叶斯:

P ( 病 ∣ 阳 ) = 0.99 × 0.01 0.99 × 0.01 + 0.05 × 0.99 ≈ 16.7 % P(\text{病}|\text{阳}) = \frac{0.99 \times 0.01}{0.99 \times 0.01 + 0.05 \times 0.99} \approx 16.7\%P()=0.99×0.01+0.05×0.990.99×0.0116.7%

👉 即使检测阳性,真实得病概率也不高!这就是先验的重要性。


6.2 朴素贝叶斯的“朴素”假设

🔑 核心假设:特征条件独立

给定类别Y YY,所有特征x 1 , x 2 , . . . , x n x_1, x_2, ..., x_nx1,x2,...,xn相互独立

即:

P ( X ∣ Y ) = P ( x 1 , x 2 , . . . , x n ∣ Y ) = P ( x 1 ∣ Y ) ⋅ P ( x 2 ∣ Y ) ⋅ . . . ⋅ P ( x n ∣ Y ) P(X|Y) = P(x_1, x_2, ..., x_n | Y) = P(x_1|Y) \cdot P(x_2|Y) \cdot ... \cdot P(x_n|Y)P(XY)=P(x1,x2,...,xnY)=P(x1Y)P(x2Y)...P(xnY)

❗ 这个假设在现实中几乎不成立(比如“免费”和“赢钱”在垃圾邮件中常一起出现)
但神奇的是——即使假设错误,朴素贝叶斯依然效果很好!

为什么能work?

  • 分类只需比较相对大小,不需要精确概率
  • 对噪声和无关特征鲁棒
  • 训练快、参数少,不易过拟合

6.3 常见朴素贝叶斯模型

根据特征类型不同,选择不同概率分布:

模型特征类型概率分布典型场景
高斯朴素贝叶斯连续数值假设特征服从正态分布身高、体重、温度等连续值
多项式朴素贝叶斯离散计数特征为词频/次数文本分类(TF、TF-IDF)
伯努利朴素贝叶斯二值特征特征为0/1(是否出现)短文本、关键词存在性

📊 举例说明

  • 邮件内容:“免费 免费 赢钱”
    • 多项式NB:统计词频 → “免费”:2, “赢钱”:1
    • 伯努利NB:只看是否出现 → “免费”:1, “赢钱”:1

📌文本分类首选:多项式NB(保留词频信息)


6.4 朴素贝叶斯的优缺点与适用场景

✅ 优点

优势说明
训练极快只需统计频率,无需迭代
内存占用小存储每个特征的分布参数
对小样本有效即使数据少也能工作
天然支持多分类直接计算所有类别概率
对噪声鲁棒无关特征影响小

❌ 缺点

劣势说明
独立性假设太强实际特征常相关
无法捕捉特征交互比如“不+好” ≠ “不好”
概率估计不准输出概率不可靠(但排序可用)
零概率问题某词在训练集中未出现 → 概率为0 → 整体为0

🔧解决零概率拉普拉斯平滑(Laplace Smoothing)
给每个计数加1,避免0概率


🎯 最佳适用场景

  • 文本分类(垃圾邮件、情感分析、新闻分类)
  • 实时预测(因推理速度极快)
  • 高维稀疏数据(如词袋模型)
  • ❌ 不适合:需要精确概率、特征高度相关、连续特征非高斯分布

💡行业事实
尽管深度学习流行,朴素贝叶斯仍是工业界文本分类的baseline首选


6.5 实战案例 + 代码实现

案例1:垃圾邮件过滤(多项式NB)

fromsklearn.datasetsimportfetch_20newsgroupsfromsklearn.feature_extraction.textimportCountVectorizer,TfidfTransformerfromsklearn.naive_bayesimportMultinomialNBfromsklearn.pipelineimportPipelinefromsklearn.metricsimportclassification_report# 构造垃圾邮件 vs 正常邮件数据(简化版)emails=["Free money now!!!","Win a million dollars!","Hey, how are you?","Meeting tomorrow at 3pm","Claim your prize today!","Can we reschedule the call?"]labels=[1,1,0,0,1,0]# 1=垃圾, 0=正常# 创建管道:词袋 → TF-IDF → 多项式NBtext_clf=Pipeline([('vect',CountVectorizer()),# 生成词频('tfidf',TfidfTransformer()),# 转TF-IDF('clf',MultinomialNB(alpha=1.0))# alpha=拉普拉斯平滑参数])# 训练text_clf.fit(emails,labels)# 预测新邮件new_emails=["Congratulations! You won free cash!","Let's have lunch"]preds=text_clf.predict(new_emails)foremail,predinzip(new_emails,preds):print(f"'{email}' →{'垃圾邮件'ifpred==1else'正常邮件'}")

输出:

'Congratulations! You won free cash!' → 垃圾邮件 'Let's have lunch' → 正常邮件

案例2:电影评论情感分析(正面/负面)

fromsklearn.feature_extraction.textimportTfidfVectorizerfromsklearn.naive_bayesimportMultinomialNBfromsklearn.model_selectionimporttrain_test_splitfromsklearn.metricsimportaccuracy_score# 模拟数据reviews=["This movie is amazing!","I love the acting","Terrible film, waste of time","Boring and slow","Great story and visuals","Awful dialogue"]sentiments=[1,1,0,0,1,0]# 1=正面, 0=负面# 划分数据X_train,X_test,y_train,y_test=train_test_split(reviews,sentiments,test_size=0.3,random_state=42)# 向量化 + 训练vectorizer=TfidfVectorizer()X_train_vec=vectorizer.fit_transform(X_train)X_test_vec=vectorizer.transform(X_test)nb=MultinomialNB(alpha=0.5)nb.fit(X_train_vec,y_train)# 评估y_pred=nb.predict(X_test_vec)print("准确率:",accuracy_score(y_test,y_pred))# 查看预测概率proba=nb.predict_proba(X_test_vec)fori,textinenumerate(X_test):print(f"'{text}' → 正面概率:{proba[i][1]:.2f}")

案例3:高斯NB —— 鸢尾花分类(连续特征)

fromsklearn.naive_bayesimportGaussianNBfromsklearn.datasetsimportload_irisfromsklearn.model_selectionimporttrain_test_split X,y=load_iris(return_X_y=True)X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.3,random_state=42)gnb=GaussianNB()gnb.fit(X_train,y_train)print("准确率:",gnb.score(X_test,y_test))

🎯 本章总结

  • 朴素贝叶斯 = 贝叶斯定理 + 特征独立假设
  • 文本分类用多项式NB,连续数据用高斯NB
  • 训练快、内存小、对小数据友好
  • 虽“朴素”,但在文本任务中常胜!

💡建议
下次做文本分类项目,先跑一个朴素贝叶斯作为baseline
它可能比你想象的更强,而且几行代码就能搞定!


资料关注

公众号:咚咚王
gitee:https://gitee.com/wy18585051844/ai_learning

《Python编程:从入门到实践》
《利用Python进行数据分析》
《算法导论中文第三版》
《概率论与数理统计(第四版) (盛骤) 》
《程序员的数学》
《线性代数应该这样学第3版》
《微积分和数学分析引论》
《(西瓜书)周志华-机器学习》
《TensorFlow机器学习实战指南》
《Sklearn与TensorFlow机器学习实用指南》
《模式识别(第四版)》
《深度学习 deep learning》伊恩·古德费洛著 花书
《Python深度学习第二版(中文版)【纯文本】 (登封大数据 (Francois Choliet)) (Z-Library)》
《深入浅出神经网络与深度学习+(迈克尔·尼尔森(Michael+Nielsen)》
《自然语言处理综论 第2版》
《Natural-Language-Processing-with-PyTorch》
《计算机视觉-算法与应用(中文版)》
《Learning OpenCV 4》
《AIGC:智能创作时代》杜雨+&+张孜铭
《AIGC原理与实践:零基础学大语言模型、扩散模型和多模态模型》
《从零构建大语言模型(中文版)》
《实战AI大模型》
《AI 3.0》

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/20 14:55:36

csdn官网勋章体系激励用户创作IndexTTS2相关内容

CSDN勋章激励下的开源共创:IndexTTS2情感语音合成实践 在内容创作日益智能化的今天,AI语音合成技术正悄然改变着有声读物、虚拟主播和在线教育的生产方式。一个值得关注的现象是,国内技术社区CSDN近期推出的“勋章体系”正在激发开发者撰写高…

作者头像 李华
网站建设 2026/4/23 11:34:42

百度百科词条申请:让IndexTTS2被更多人知道

百度百科词条申请:让IndexTTS2被更多人知道 在智能语音技术日益渗透日常生活的今天,我们早已习惯了手机助手的应答、导航系统的播报,甚至短视频中那些语气生动的“AI旁白”。但你是否曾因一段机械呆板的合成语音而皱眉?又是否担心…

作者头像 李华
网站建设 2026/4/21 11:43:55

Realtek 8852AE Wi-Fi 6驱动在Linux上的终极配置指南

想要在Linux系统上获得完美的Wi-Fi 6体验?Realtek 8852AE无线网卡配合这款开源驱动,就能让你的网络性能达到全新高度。无论你是Ubuntu、Fedora还是Arch用户,都能轻松实现高速无线连接。 【免费下载链接】rtw89 Driver for Realtek 8852AE, an…

作者头像 李华
网站建设 2026/4/24 23:09:13

ASMR音频批量下载完整教程:快速建立个人放松资源库

ASMR音频批量下载完整教程:快速建立个人放松资源库 【免费下载链接】asmr-downloader A tool for download asmr media from asmr.one(Thanks for the asmr.one) 项目地址: https://gitcode.com/gh_mirrors/as/asmr-downloader 在数字时代,ASMR音…

作者头像 李华
网站建设 2026/4/25 1:11:47

西安王晓楠:一个AI搜索优化专家还应是一个互联网营销专家!

AI搜索优化和互联网营销是相辅相成的,它正在重塑引流获客的玩法。简单来说,AI搜索优化通过技术重构用户触达路径,成为全链路营销的核心驱动力,而互联网营销则借助AI搜索优化实现更精准、高效的用户触达和转化。 一、技术驱动&…

作者头像 李华
网站建设 2026/4/23 3:01:11

huggingface镜像网站spaces部署IndexTTS2在线demo

Hugging Face镜像网站Spaces部署IndexTTS2在线Demo 在短视频、虚拟主播和AI配音内容爆发式增长的今天,语音合成技术早已不再是简单的“文字朗读”。用户期待的是富有情绪张力、贴近真实表达的声音输出。然而,商业TTS服务往往价格高昂、风格受限&#xff…

作者头像 李华