05 机器学习 - 朴素贝叶斯分类算法原理

简介: 05 机器学习 - 朴素贝叶斯分类算法原理

1.概述

  • 贝叶斯分类算法是一大类分类算法的总称
  • 贝叶斯分类算法以样本可能属于某类的概率来作为分类依据
  • 朴素贝叶斯分类算法是贝叶斯分类算法中最简单的一种

注:朴素的意思是条件概率独立性,此处要想真正理解,需要有概率论的基础知识

P(A|x1x2x3x4)=p(A|x1)*p(A|x2)p(A|x3)p(A|x4)则为条件概率独立
P(xy|z)=p(xyz)/p(z)=p(xz)/p(z)*p(yz)/p(z)

2.算法思想

朴素贝叶斯的思想是这样的:

如果一个事物在一些属性条件发生的情况下,事物属于A的概率 > 属于B的概率,则判定事物属于A

通俗来说比如,你在街上看到一个黑人,我让你猜这哥们哪里来的,你十有八九猜非洲。为什么呢? 在你的脑海中,有这么一个判断流程:

1.这个人的肤色是黑色 <特征>

2.黑色人种是非洲人的概率最高 <条件概率:黑色条件下是非洲人的概率>

3.没有其他辅助信息的情况下,最好的判断就是非洲人

这就是朴素贝叶斯的思想基础。

再扩展一下,假如在街上看到一个黑人讲英语,那我们是怎么去判断他来自于哪里?下面提取特征:

肤色: 黑

语言: 英语

  • 黑色人种来自非洲的概率:80%
  • 黑色人种来自于美国的概率:20%
  • 讲英语的人来自于非洲的概率:10%
  • 讲英语的人来自于美国的概率:90%

在我们的自然思维方式中,就会这样判断:

  • 这个人来自非洲的概率:80% * 10% = 0.08
  • 这个人来自美国的概率:20% * 90% =0.18

我们的判断结果就是:此人来自美国!

其蕴含的数学原理如下:

p(A|xy)=p(Axy)/p(xy)=p(Axy)/p(x)p(y)=p(A)/p(x)*p(A)/p(y)* p(xy)/p(xy)=p(A|x)p(A|y)
• 1

3. 算法要点

3.1 算法步骤

  1. 分解各类先验样本数据中的特征
  2. 计算各类数据中,各特征的条件概率(比如:特征1出现的情况下,属于A类的概率p(A|特征1),属于B类的概率p(B|特征1),属于C类的概率p(C|特征1)…)
  3. 分解待分类数据中的特征(特征1、特征2、特征3、特征4…)
  4. 计算各特征的各条件概率的乘积,如下所示:
    判断为A类的概率:p(A|特征1)*p(A|特征2)*p(A|特征3)*p(A|特征4)
    判断为B类的概率:p(B|特征1)*p(B|特征2)*p(B|特征3)*p(B|特征4)
    判断为C类的概率:p(C|特征1)*p(C|特征2)*p(C|特征3)*p(C|特征4)
  5. 结果中的最大值就是该样本所属的类别

3.2 算法应用举例

大众点评、淘宝等电商上都会有大量的用户评论,比如:

序号 评论 标志
1 衣服质量太差了!!!!颜色根本不纯!!! 0
2 我有一有种上当受骗的感觉!!!! 0
3 质量太差,衣服拿到手感觉像旧货!!! 0
4 上身漂亮,合身,很帅,给卖家点赞 1
5 穿上衣服帅呆了,给点一万个赞 1
6 我在他家买了三件衣服!!!!质量都很差! 0

其中1/2/3/6是差评,4/5是好评

现在需要使用朴素贝叶斯分类算法来自动分类其他的评论,比如:

a. 这么差的衣服以后再也不买了

b. 帅,有逼格

……

3.3 算法应用流程

1.分解出先验数据中的各特征(即分词,比如“衣服”“质量太差”“差”“不纯”“帅”“漂亮”,“赞”……)

2.计算各类别(好评、差评)中,各特征的条件概率(比如 p(“衣服”|差评)、p(“衣服”|好评)、p(“差”|好评) 、p(“差”|差评)……)

3.分解出待分类样本的各特征(比如分解a: “差” “衣服” ……)

4.计算类别概率

P(好评) = p(好评|“差”) *p(好评|“衣服”)*……
P(差评) = p(差评|“差”) *p(差评|“衣服”)*……

5.显然P(差评)的结果值更大,因此a被判别为“差评”

目录
相关文章
机器学习/深度学习 算法 自动驾驶
509 0
|
2月前
|
机器学习/深度学习 算法 搜索推荐
从零开始构建图注意力网络:GAT算法原理与数值实现详解
本文详细解析了图注意力网络(GAT)的算法原理和实现过程。GAT通过引入注意力机制解决了图卷积网络(GCN)中所有邻居节点贡献相等的局限性,让模型能够自动学习不同邻居的重要性权重。
465 0
从零开始构建图注意力网络:GAT算法原理与数值实现详解
|
3月前
|
机器学习/深度学习 算法 文件存储
神经架构搜索NAS详解:三种核心算法原理与Python实战代码
神经架构搜索(NAS)正被广泛应用于大模型及语言/视觉模型设计,如LangVision-LoRA-NAS、Jet-Nemotron等。本文回顾NAS核心技术,解析其自动化设计原理,探讨强化学习、进化算法与梯度方法的应用与差异,揭示NAS在大模型时代的潜力与挑战。
886 6
神经架构搜索NAS详解:三种核心算法原理与Python实战代码
|
3月前
|
传感器 算法 定位技术
KF,EKF,IEKF 算法的基本原理并构建推导出四轮前驱自主移动机器人的运动学模型和观测模型(Matlab代码实现)
KF,EKF,IEKF 算法的基本原理并构建推导出四轮前驱自主移动机器人的运动学模型和观测模型(Matlab代码实现)
134 2
|
3月前
|
算法
离散粒子群算法(DPSO)的原理与MATLAB实现
离散粒子群算法(DPSO)的原理与MATLAB实现
191 0
|
4月前
|
机器学习/深度学习 人工智能 编解码
AI视觉新突破:多角度理解3D世界的算法原理全解析
多视角条件扩散算法通过多张图片输入生成高质量3D模型,克服了单图建模背面细节缺失的问题。该技术模拟人类多角度观察方式,结合跨视图注意力机制与一致性损失优化,大幅提升几何精度与纹理保真度,成为AI 3D生成的重要突破。
411 0
|
4月前
|
算法 区块链 数据安全/隐私保护
加密算法:深度解析Ed25519原理
在 Solana 开发过程中,我一直对 Ed25519 加密算法 如何生成公钥、签名以及验证签名的机制感到困惑。为了弄清这一点,我查阅了大量相关资料,终于对其流程有了更清晰的理解。在此记录实现过程,方便日后查阅。
516 1
|
1月前
|
机器学习/深度学习 数据采集 人工智能
【机器学习算法篇】K-近邻算法
K近邻(KNN)是一种基于“物以类聚”思想的监督学习算法,通过计算样本间距离,选取最近K个邻居投票决定类别。支持多种距离度量,如欧式、曼哈顿、余弦相似度等,适用于分类与回归任务。结合Scikit-learn可高效实现,需合理选择K值并进行数据预处理,常用于鸢尾花分类等经典案例。(238字)
|
6月前
|
机器学习/深度学习 数据采集 人工智能
20分钟掌握机器学习算法指南
在短短20分钟内,从零开始理解主流机器学习算法的工作原理,掌握算法选择策略,并建立对神经网络的直观认识。本文用通俗易懂的语言和生动的比喻,帮助你告别算法选择的困惑,轻松踏入AI的大门。
|
7月前
|
机器学习/深度学习 存储 Kubernetes
【重磅发布】AllData数据中台核心功能:机器学习算法平台
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。

热门文章

最新文章