分类预测:Bayes Classifier-1|学习笔记(二)

简介: 快速学习分类预测:Bayes Classifier-1

开发者学堂课程【高校精品课-华东师范大学 - Python 数据科学基础与实践 文本相似度计算】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/1067/detail/15445


分类预测:Bayes Classifier-1


如果一个病人他脖子僵硬就是给定S,然后他得脑膜炎的概率,求M的概率,我们表达的话就是给定S脖子僵硬求是脑膜炎的概率,我们利用贝叶斯定理,贝叶斯定理大家能够对照一下我们的分母,那一定是给定的S单独概率,分子的话是反过来,要知道给定了M然后S的概率然后再乘以M的单独概率,然后再等于把刚刚的写值带进去给定到M,然后求S的概率,这个是0.5,我们上面求的是0.5,然后再一个乘以M的单独概率1/50000,然后除以S的单独概率1/20,最后求出来它的概率是0.0002。希望大家通过这个例子对贝叶斯定理有一个比较深入的理解。

2、贝叶斯分类器

我们主要是用贝叶斯定理来解决样本数据的分类问题。我们来先看一个假设,假设我们样本数据里面的每一个属性以及那个类的标记,那一个特别的属性,都是一个随机变量,然后我们样本里面给定一条记录,它带有这样一些属性(A1,A2,…,An),连续给定一条样本记录,然后我们要求它属于哪一类,我们类别用C来表示,那么如果我们转换成贝叶斯表达方式的话,概率表达方式的话,那么我们就是来求可以听到A1到An这样一组属性值,也就是给定一条记录,然后求它属于C的概率,这个C的话是类别变量,就是我们的y变量,那这个有几类我们比较容易的是二元分类,它里面C有几个值,最终的话我们是要求那个概率最大的那个谁的值,也就是求给定了A1到An,然后求谁的概率,然后概率的话有几个y值就有几个概率,我们就求那个最大的概率就是那一类。

我们现在考虑一个问题,我们能够从样本数据里面估计出计算出给定的A1到An然后它属于某个C的概率嘛,我们要利用贝叶斯定理来解决。贝叶斯分类器,它的分类原理是通过某对象的先验概率,是A1到An是已知它的先验概率,然后利用贝叶斯公式,我们来计算它的后验概率,就是给定了A1到An我们求他属于某个类别C的概率,即该对象属于某一类的概率,,然后我们最终要选择具有最大后验概率的类作为该对象的类,因为这个C的话有几个值二元分里有两个值,那到底取哪一个值呢?看他的最大后验概率有是那一类取那一个类的值。

image.gif我们来看贝叶斯分类器的具体方法,也就是刚刚讲的我们要通过A1到An的先验概率,然后求它属于某个类别的后验概率,就是这样一个的说话表达,我们利用贝叶斯定理把它转换一下,就是下面这个红框里面表达的,我们给定了A1到An求C的概率,但应该等于分母应该还是A1到An的概率,分子的话是反过来就是要知道C的概率,然后求A1到An的感m概率,然后再乘以C单独概率,这就是毕业定理的应用。

通过这个定理我们就要来找到他解题的过程,把它的答案给求出来,然后我们最终是选择那个C最大概率。

我们来分析一下在这个分母A1到An的概率,我们是用样本数据来做分类的,样本数据已知的情况下,每一个样本它的每一个属性的值都是已知了,整个样本里面A1到An的概率应该是已知的,我们应该知道P(A1,…,An)这个概率应该是一个常量,我们可以把这个常量暂时忽略一下,我们要求给定到A1到An求C的概率,应该就变成求分子是最重要的,也就是我们下面这个表达方法,我们最终是要能够把这个求出来就可以了,就是给定了A1到An的概率,然后就算是C给定情况下面A1到An的概率以及C的单独概率,只要能够把这个求出来,我们就能够解决我们刚刚的分类问题,在这个表达里面,我们也要注意一下这个C的单独概率,我们样本数据已知的情况下就是那个特别的那一列那几个类别列y列,它应该也是已知的,所以P(C)是肯定能求出来的,最终的话我们就变成了只要能够求出给定C然后求A1到An的概率,那么我们就可以解决了前面讲的分类问题。

image.gif3、朴素贝叶斯分类器

我们继续来往下推导,刚刚讲过,我们本来是要求给定一组属性,也就是一条记录,求它属于某一个类别的概念。通过刚刚的推导,我们知道很奇妙,我们反过来只要求出给定的类别,然后求一组属性的概率,就可以解决刚刚的分类问题。

如何来求给定类别,求一组属性的概率呢,这个本身还是比较难以解决的,所以这个时候我要让计算方便简单,我们引入一个条件独立性假设,也就是假设属性A1到An和类别之间都是条件独立的,就是类别给定了以后,然后条件之间都是互相独立的。有了条件独立性假设以后我们就可以把上面的这个表达方式子表达方法简化一下,也就是给定类别求A1到An的概率变成了每一个类别取每一个属性的概率,每一个类别取每一个属性的概率然后他们的乘积,因为有条件独立性假设,这个条件之间是独立的属性之间是独立的,就是类别值和每一个属性有关系,然后它们的乘积就是我们要求的答案。这里大家要注意了,给定一个类别,求一个属性,因为我们类别有多个值,二元分里有两个值,然后我们的属性的话也会有取几个值,例如属性如果是家庭收入的话具有低中高,那么类别的话是购买房车的话就有是和否,我们每一种可能性都要求的。

这个要去球的话,通过样本数据里面是比较容易计算出来的,也就是我们能够估计给定每一个类别以及它去每一个属性的概率吗,对所有的类别和属性来说,当然是可以的.

在这样的情况下面我们一个新的样本点、一个新的记录、一条新的数据就可以把它分类到某一个类里C,然后我们只要求出来给定了某一个类别,取每一个属性的概率的乘积,这里是乘积再乘以每一个类别的单独概率,然后如果是哪一个最大就是哪一个类。

这就是我们推导的这个关键的一个思路,也就是本身给定了一组属性,然后求它某个类别的概率然后反过来变成了我们要知道每一个类别,它取每一个属性的概率。我们在这个推导过程当中很关键引入了一个条件独立性假设,我们把这样一个应用条件假设的分类器叫做朴素分离器,朴素分类器是有好处的避免模型过于复杂,降低模型的维数,可以有效防止过拟合,关于过拟合我们以后要讨论是数据挖掘很重要的一个概念,能够节约模型的计算成本。

我们已故统计科学家Box话来说就是所有的模型都是错误的,但是有些是有用的,也就是我们简化了贝叶斯分类器的计算用了条件独立性假设就是朴素贝叶斯分类器,尽管这一个假设不是一定正确的,但是它是用在实际应用里面体现了它的价值。

image.png

相关文章
|
安全 Java Android开发
Android 14适配Google play截止时间临近,适配注意点和经验
本文介绍了Android 14带来的关键更新,包括性能优化、定制化体验、多语言支持、多媒体与图形增强等功能。此外,还强调了适配时的重要事项,如targetSdkVersion升级、前台服务类型声明、蓝牙权限变更等,以及安全性与用户体验方面的改进。开发者需按官方指南更新应用,以充分利用新特性并确保兼容性和安全性。
921 0
|
机器学习/深度学习 数据采集 人工智能
什么是AI?如何使用AI?本文告诉你
人工智能(AI)是借助计算机技术来模拟与实现人类智慧的一项科技。它涵盖了从感知到语言理解等多方面的能力。AI可划分为弱AI、强AI及超AI三类,当前主要集中在弱AI的应用上,如语音助手和图像识别。为了高效运用AI,首先需清晰目标,再选取合适的工具,同时保证数据质量,不断优化模型,并注重伦理考量,最终实现人机协同作业,充分发挥各自优势。
5541 2
|
Java 编译器 测试技术
技术分享:为什么 IDEA 建议去掉 StringBuilder,使用 “+” 拼接字符串?
【8月更文挑战第13天】在Java开发过程中,字符串拼接是一个常见的操作。传统上,开发者在处理大量字符串拼接时,往往倾向于使用StringBuilder或StringBuffer类,因为它们比直接使用“+”操作符进行字符串拼接在性能上更优。然而,近年来,随着Java编译器的不断优化,以及开发工具IDEA(IntelliJ IDEA)的建议,我们可能会看到一种趋势:在某些情况下,IDEA建议直接使用“+”来拼接字符串,而不是使用StringBuilder。这一建议背后,隐藏着哪些技术原因和考量呢?
280 5
|
缓存 Linux 开发工具
centos设置ntp服务同步目标服务器时间
【7 月更文挑战第 1天】linux+centos设置ntp服务同步目标服务器时间
|
机器人
AC/DC电源模块在工业应用中的几个典型案例
AC/DC电源模块在工业应用中的几个典型案例
AC/DC电源模块在工业应用中的几个典型案例
|
机器学习/深度学习 人工智能 JSON
LangChain + ChatGLM2-6B 搭建个人专属知识库
之前教过大家利用 langchain + ChatGLM-6B 实现个人专属知识库,非常简单易上手。最近,智谱 AI 研发团队又推出了 ChatGLM 系列的新模型 ChatGLM2-6B,是开源中英双语对话模型 ChatGLM-6B 的第二代版本,性能更强悍。 树先生之所以现在才更新 ChatGLM2-6B 知识库教程,是想等模型本身再多迭代几个版本,不至于刚出的教程很快不适配,或者项目本身一堆 bug,那样大家使用体验也不好。
3075 3
|
人工智能 物联网 vr&ar
AR与VR技术的融合:开启全新的现实体验
在当今快速发展的科技领域中,混合现实(AR)和增强现实(VR)技术成为引人注目的热门话题。本文将探讨AR与VR技术的融合应用,以及它们给我们带来的全新现实体验。通过结合虚拟和真实世界的元素,AR与VR技术正逐渐改变着我们对于交互、娱乐、教育和工作的理解。
|
存储 算法 安全
Python的hashlib模块:7种加密算法深入剖析
Python的hashlib模块:7种加密算法深入剖析
780 0
|
API Android开发 开发者
Android Notification使用
Android Notification使用
536 0
Android Notification使用