当前位置: 首页 > article >正文

NBC模型【机器学习】

一、什么是贝叶斯算法?

贝叶斯方法根基于贝叶斯原理,运用概率统计手段对样本数据集实施分类。由于其牢固的数学支撑,贝叶斯分类算法的误判率是很低的。该方法的特点在于融合先验概率与后验概率,这样既克服了仅依赖先验概率可能带来的主观偏见,又规避了仅依据样本信息可能导致的过度拟合问题。在大型数据集的应用场景中,贝叶斯分类算法展现出卓越的准确性,且算法结构相对简洁明了。

二、 贝叶斯要解决的问题

正向概率: 假设袋子里有M个白球,N个黑球,伸手去摸出一个球,则摸到白球的概率是多少。
显然正向概率很好计算:概率为 M M + N \frac{M}{M+N} M+NM

逆向概率: 如果在不知道袋子里黑球和白球的比例的前提下,随机摸出几个球,统计这些球的颜色后,根据黑球和白球的个数对袋子里黑球和白球的比例做出推测。

三、公式

P ( H ∣ X ) = P ( X ∣ H ) ∗ P ( H ) P ( X ) P(H | X)= \frac{P(X | H)*P(H)}{P(X)} PHX=PXPXHPH


P ( H ): P(H): PH):是先验概率,P(H)是独立于X的
P ( X ): P(X): PX):样本数据被观察的概率
P ( X ∣ H ): P(X | H): PXH):代表假设H成立的情况下,观察到X的概率
P ( H ∣ X ): P(H | X): PHX):后验概率,或称条件X下H的后验概率
朴素贝叶斯分类就是假定一个属性值对给定类的影响独立于其他属性的值。

四、贝叶斯原理

问题:
  • 若某一学校中男生人数占60%,女生人数占40%

  • 男生总是短发,女生则一半长发一半短发

  • 正向概率:随机选取一个学生,则他(她)短发的概率和长发的概率是多少

  • 逆向概率:面前100米有一位同学在往前走,你只能看到他(她)的背影,因此你只能看到他(她)是长发还是短发,而无法确定他(她)的性别。你是否能够推断出他(她)是女生的概率是多大

  • 求:该学校中短发的同学有多少女生?

解:

假设学校中一共有Y个同学

  • 短发的(男生): Y ∗ P ( B o y ) ∗ P ( S h o r t h a i r ∣ B o y ) Y*P(Boy)*P(Short hair | Boy) YPBoyPShorthairBoy
  • 短发的(女生): Y ∗ P ( G i r l ) ∗ P ( S h o r t h a i r ∣ G i r l ) Y*P(Girl)*P(Short hair | Girl) YPGirlPShorthairGirl

短发学生的总数: Y ∗ P ( B o y ) ∗ P ( S h o r t h a i r ∣ B o y ) + Y ∗ P ( G i r l ) ∗ P ( S h o r t h a i r ∣ G i r l ) Y*P(Boy)*P(Short hair | Boy)+Y*P(Girl)*P(Short hair | Girl) YPBoyPShorthairBoy+YPGirlPShorthairGirl

短发中女生的人数为 P ( S h o r t h a i r / G i r l ) / P ( S h o r t h a i r ) P(Short hair/Girl)/P(Short hair) PShorthair/Girl/PShorthair
即下面的公式:
P ( G i r l ∣ S h o r t h a i r ) = Y ∗ P ( G i r l ) ∗ P ( S h o r t h a i r ∣ G i r l ) Y ∗ P ( B o y ) ∗ P ( S h o r t h a i r ∣ B o y ) + Y ∗ P ( G i r l ) ∗ P ( S h o r t h a i r ∣ G i r l ) P(Girl | Short hair)=\frac{Y*P(Girl)*P(Short hair | Girl)}{ Y*P(Boy)*P(Short hair | Boy)+Y*P(Girl)*P(Short hair | Girl)} PGirlShorthair=YPBoyPShorthairBoy+YPGirlPShorthairGirlYPGirlPShorthairGirl

化简为: P ( G i r l ∣ S h o r t h a i r ) = P ( G i r l ) ∗ P ( S h o r t h a i r ∣ G i r l ) P ( B o y ) ∗ P ( S h o r t h a i r ∣ B o y ) + P ( G i r l ) ∗ P ( S h o r t h a i r ∣ G i r l ) P(Girl | Short hair)=\frac{P(Girl)*P(Short hair | Girl)}{P(Boy)*P(Short hair | Boy)+P(Girl)*P(Short hair | Girl)} PGirlShorthair=PBoyPShorthairBoy+PGirlPShorthairGirlPGirlPShorthairGirl

这样就可以通过贝叶斯公式根据短发人数和男女比例逆向的推出短发女生的人数。

五、贝叶斯分类练习

在这里插入图片描述
希望分类的样本:
X(age=‘<30’,income=‘medium’,student=‘yes’,credit_rating=‘fair’)
我们想要判断这个数据属于哪一类,即是否购买电脑;buys_computer是yes还是no
思路:
计算每一个类的 P ( C i ∣ X ) = P ( X ∣ C i ) ∗ P ( C i ) P ( X ) P(Ci | X)=\frac{P(X | Ci)* P(Ci)}{P(X)} PCiX=PXPXCiPCi
Ci为每一个类别,X为希望分类的样本(这里C1代表购买电脑,C2代表没有购买电脑)。

  • 先验概率
    P(C1)=P(buys_computer=‘yes’)=9/14=0.222
    P(C2)=P(buys_computer=‘no’)=5/14=0.357

  • 条件概率
    P(age<30 | buys_computer=‘yes’)=2/9=0.222
    P(age<30 | buys_computer=‘no’)=3/5=0.600
    P(income=‘medium’ | buys_computer=‘yes’)=4/9=0.444
    P(income=‘medium’ | buys_computer=‘no’)=2/5=0.400
    P(student=‘yes’ | buys_computer=‘yes’)=6/9=0.677
    P(student=‘yes’ | buys_computer=‘no’)=1/5=0.200
    P(credit_rating=fair | buys_computer=‘yes’)=6/9=0.667
    P(credit_rating=fair | buys_computer=‘no’)=2/5=0.400

  • 比较P(C1 | X)=P(X | C1)*P(C1)/ P(X)和P(C2 | X)=P(X | C2)*P(C2)/ P(X)

  • 根据条件独立性假设得到:
    P(X | buys_computer=‘yes’)=P(age<30 | buys_computer=‘yes’)*P(income=‘medium’ | buys_computer=‘yes’)*P(student=‘yes’ | buys_computer=‘yes’)*P(credit_rating=fair | buys_computer=‘yes’)=0.222*0.444*0.667*0.667=0.044
    P(X | buys_computer=‘no’)=P(age<30 | buys_computer=‘no’)*P(income=‘medium’ | buys_computer=‘no’)*P(student=‘no’ | buys_computer=‘no’)*P(credit_rating=fair | buys_computer=‘no’)=0.600*0.400*0.200*03400=0.019
    P(X | buys_computer=‘yes’)*P(buys_computer=‘yes’)=0.044*0.643=0.028
    P(X | buys_computer=‘no’)*P(buys_computer=‘no’)=0.019*0.357=0.007
    故对于样本X,根据贝叶斯分类预测buys_computer=‘yes’


http://www.kler.cn/a/501958.html

相关文章:

  • unity打包sdk热更新笔记
  • 【Vue实战】Vuex 和 Axios 拦截器设置全局 Loading
  • 《AI赋能鸿蒙Next,开启智能关卡设计新时代》
  • Git学习记录
  • 精通SCP命令:安全高效地进行文件传输
  • 【ArcGIS微课1000例】0137:色彩映射表转为RGB全彩模式
  • 【日常小记】Ubuntu启动后无图形界面且网络配置消失
  • SpringBoot源码解析(七):应用上下文结构体系
  • 电商项目-基于ElasticSearch实现商品搜索功能(三)
  • Redis常见
  • apache age:22023,42883,等报错信息
  • spring mvc源码学习笔记之十一
  • EF Core一对一和多对多
  • AI的崛起:它将如何改变IT行业的职业景象?
  • 多模态论文笔记——CLIP
  • C#上位机通过CAN总线发送bin文件
  • 高阶C语言|探索指针的根源之目(进阶指针)
  • 云原生周刊:Prometheus 3.0 正式发布
  • 检测模型安全的更高级的方法
  • 例子:WeTextProcessing,如何查看现在已安装的这个模块的版本号呢?查看虚拟环境中模块的版本
  • 征服Windows版nginx(2)
  • 今日总结 2025-01-13
  • 【Apache Paimon】-- 14 -- Spark 集成 Paimon 之 Filesystem Catalog 与 Hive Catalog 实践
  • matlab的绘图的标题中(title)添加标量以及格式化输出
  • 青少年编程与数学 02-006 前端开发框架VUE 17课题、组件深入
  • CClink IEF Basic设备数据 转 EtherCAT项目案例