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

CMSC5724-关于条件概率和朴素贝叶斯分类器

文章目录

  • 条件概率公式
  • 朴素贝叶斯分类器
    • 不同假设下的贝叶斯分类
    • 贝叶斯分类器候选集
  • 相关题目

这节课讲述了另一种和概率有关的分类器,老师也改变了讲课方式,直接摆上例子,然我们通过例子将课件上的内容串联起来,减少了纯粹的理论公式推导,不得不说,老师的教学水平属实是高,也让我认识到了自己很多不足之处。

本文参考:

带你理解朴素贝叶斯分类算法

条件概率公式

后面会经常碰到的条件概率公式,老师也是放下狠话,这点背景知识都不知道的话,可以考虑退课了,压力直接就来了。

  • P(A | B)= P(B | A)*P(A) / P(B)
    这就是常规贝叶斯公式,在后面计算题的时候第一步经常用到,能够将因果互换

  • P(A,B|C)=P(A|B,C)*P(B|C),类似地P(A,B,C|D)=P(A|B,C,D)*P(B,C|D)
    这个公式我之前倒没怎么用到过,但是在后面计算的时候,常常会将某些变量移到后面去,让前面只留下相互独立的变量,这样子就可以用下面的乘法公式拆开来

  • 在变量相互独立的情况下,乘法公式 P(A,B,C)=P(A)*P(B)*P(C )

  • 在变量相互独立的情况下,乘法公式 P(A,B|C)=P(A|C)*P(B|C)

朴素贝叶斯分类器

老师通过一个例子引出朴素贝叶斯分类的计算方法,
请添加图片描述
例子中,我们要判断某个人在30+, undergraduate, lawyer的情况下是否有loan default 的情况,用y=1来表示有loan default,否则y=-1。因此需要对称地计算两个概率,分别为Pr[y=1|30+,undergraduate,lawyer]以及Pr[y=-1|30+,undergraduate,lawyer],结果为算出来Pr较大的那种情况。

因为是对称的,因此把目光聚焦在Pr[y=1|30+,undergraduate,lawyer]上,通过贝叶斯公式化简,最后在计算Pr[30+,undergraduate,lawyer|y=1]的时候,因为训练集S中没有同时满足特征空间age上30+、特征空间education上undergraduate、特征空间occupation上lawyer、y=1的情况,很容易统计到0,因此用个很小的数字 γ \gamma γ(0.00001/3)表示。但这显然是不利于构建分类器的,最后算出来的概率都是0.

因此朴素贝叶斯作出的假设就是,假设所有特征之间相互独立,英文为conditional independence assumption,放在公式上就是Pr[30+,undergraduate,lawyer|y=1]=Pr[30+|y=1].Pr[undergraduate|y=1].Pr[lawer|y=1]。这个假设在实际应用中往往是不成立的,在属性个数比较多或者属性之间相关性较大时,分类效果不好。但是它的好处是算法逻辑简单,易于实现,在属性相关性较小时,朴素贝叶斯性能最为良好;同时扫描的空间较小,比如Pr[30+,undergraduate,lawyer|y=1]需要统计age、education、occupation三个特征的联合概率分布个数为{20+,30+,40+,50+} * {high school、undergrad、master} * {self-employed、lawyer、prgrammer}=36,到后面特征较大,特征空间较大的时候几乎是没法做的。

不同假设下的贝叶斯分类

上面提出朴素贝叶斯分类器其实就是做出了一步强假设,假设所有特征之间相互独立,教授为了进一步阐明假设(conditional independence assumption)在贝叶斯分类中的重要意义,又放了一个较弱的假设Assumption:given y and occupation,age and education are mutually independent. 也即age和education是相互独立的,那么我们在列公式Pr[30+,undergraduate,lawyer|y=1]的时候,就要尽量把独立的因素放在前面,好让乘法公式将它们分开,用到了前面的条件概率公式P(A,B|C)=P(A|B,C)*P(B|C)

Pr[30+,undergraduate,lawyer|y=1]=Pr[30+,undergraduate|y=1,lawyer] * Pr[lawyer| y=1]
=Pr[30+|y=1,lawyer] * Pr[undergraduate|y=1,lawyer] * Pr[lawyer| y=1]

贝叶斯分类器候选集

和前面的课程CMSC5724-关于分类问题、决策树问题以及一个关于误差的泛化理论中用Hunt’s Algorithm在候选决策树中找出最佳决策树一样,贝叶斯分类器也同样会用Bayes Method找出最合适的贝叶斯分类器,这里同样存在一个贝叶斯分类器候选集。在候选集存在的前提下,我们也可以用之前的泛化理论Generalization Theorem来约束我们要找的分类器的泛化误差。

相比于当时决策树估算时直接给出了可能有的参数parameter个数,这里的贝叶斯分类器需要我们根据属性预估参数个数,这是个跨越。
请添加图片描述
请添加图片描述
简单来说,就是要根据我们已有的特征attribute的特征空间dom大小,算出分类器表示了多少种条件概率。拿到候选集中泛化地讲,就是一个分类器对于不同特征有多少种条件概率的表示形式。如下面的例子中,当给定y和occupation,算出相互独立的因素education、age的条件概率,y=1时occupation不同有3种,age和education相互独立不同有7种,再算上y=-1,也就是7*(3+3)=42种表达形式,也就是42个parameter,如果每个parameter用一个浮点数8bytes表示,最终的候选集总数就是2的幂次。
在这里插入图片描述

相关题目

在这里插入图片描述
解答:
请添加图片描述
请添加图片描述
请添加图片描述

相关文章:

  • FFmpeg入门详解之50:SDL2键盘事件案例
  • c 关键字
  • 使用hardhat 开发以太坊智能合约-发布合约
  • 【Linux】进程间通信介绍及匿名管道使用
  • sqlite数据库
  • 奇迹mu服务端架设开服技术教程
  • Kafka 介绍
  • 智能通风柜手势控制界面设计与实现
  • 2021年系统架构师综合知识错题
  • Java 面向对象2——继承
  • java多线程三种实现方式
  • Flink SQL 在kerberos on yarn环境下提交
  • 电动自行车亚马逊/出口欧盟CE认证EN15194测试标准如何办理
  • CAD绘制复杂机械零件图形
  • 命令模式【Java设计模式】
  • [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • 2017前端实习生面试总结
  • DataBase in Android
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • export和import的用法总结
  • linux安装openssl、swoole等扩展的具体步骤
  • Objective-C 中关联引用的概念
  • Python 反序列化安全问题(二)
  • Python_网络编程
  • Python进阶细节
  • Redis 中的布隆过滤器
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • tensorflow学习笔记3——MNIST应用篇
  • Travix是如何部署应用程序到Kubernetes上的
  • WePY 在小程序性能调优上做出的探究
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 将回调地狱按在地上摩擦的Promise
  • 力扣(LeetCode)22
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 深入 Nginx 之配置篇
  • 网页视频流m3u8/ts视频下载
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 用element的upload组件实现多图片上传和压缩
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • #FPGA(基础知识)
  • (007)XHTML文档之标题——h1~h6
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (libusb) usb口自动刷新
  • (分布式缓存)Redis分片集群
  • (附源码)ssm高校实验室 毕业设计 800008
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (新)网络工程师考点串讲与真题详解
  • (一)为什么要选择C++
  • (原)本想说脏话,奈何已放下
  • (转)项目管理杂谈-我所期望的新人
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .MyFile@waifu.club.wis.mkp勒索病毒数据怎么处理|数据解密恢复
  • .NET Framework 和 .NET Core 在默认情况下垃圾回收(GC)机制的不同(局部变量部分)