机器学习---初识贝叶斯分类器

news2024/11/18 22:26:20

1. 引入问题

有两个可选的假设:病人有癌症、病人无癌症,可用数据来自化验结果:正+和负-

有先验知识:在所有人口中,患病率是0.008,对确实有病的患者的化验准确率为98%,对确实无

病的患者的化验准确率为97%

总结如下:

P(cancer)=0.008, P(cancer)=0.992

P(+|cancer)=0.98, P(-|cancer)=0.02

P(+|cancer)=0.03, P(-|cancer)=0.9

问题:假定有一个新病人,化验结果为正,是否应将病人断定为有癌症?求后验概率P(cancer|+)

和P(cancer|+)

解决上面的问题:已知某条件概率,如何得到两个事件交换后的概率,也就是在已知P(A|B)的情况

下如何求得P(B|A)。

A:判断准确    B:癌症

条件概率: 在事情B发生的条件下A发生的条件概率,其求解公式为:

贝叶斯定理的意义在于,在生活中经常遇到这种情况:我们可以很容易直接得出P(A|B),P(B|A)则

很难直接得出,但我们更关心P(B|A),贝叶斯定理就为我们打通从P(A|B)获得P(B|A)的道路。

 :表示在没有训练数据前假设A拥有的初始概率,P(A)被称为A的先验概率。

P(A|B)表示假设B成立时A的概率。机器学习中我们关心的是P(B|A),即给定A时B的成

立的概率,称为B的后验概率。

 P(B|A)随着P(B)和P(A|B)的增长而增长,随着P(A)的增长而减少,即如果A独立于B时被观察到的

可能性越大,那么B对A的支持度越小。

2. 朴素贝叶斯分类器

条件独立性:给定类标号y,朴素贝叶斯分类器在估计类条件概率时假设属性之间条件独立。条件

独立假设可以形式化的表达如下:

其中每个训练样本可用一个属性向量X=(x1,x2,x3,„,xn)表示,各个属性之间条件独立。

比如,对于一篇文章“Good good study,Day day up.”

用一个文本特征向量来表示:x=(Good, good, study, Day, day , up)。

一般各个词语之间肯定不是相互独立的,有一定的上下文联系。但在朴素贝叶斯文本分类时,我们

假设个单词之间没有联系,可以用一个文本特征向量来表示这篇文章,这就是“朴素”的来历。

有了条件独立假设,就不必计算X和Y的每一种组合的类条件概率,只需对给定的Y,计算每个xi的

条件概率。后一种方法更实用,因为它不需要很大的训练集就能获得较好的概率估计。

P(xi|Y=y)怎么计算呢?它一般根据类别y下包含属性xi的实例的比例来估计。以文本分类为例,xi表

示一个单词,P(xi|Y=y)=包含该类别下包含单词的xi的文章总数/ 该类别下的文章总数。

假设给定了如下训练样本数据,我们学习的目标是根据给定的天气状况判断你对PlayTennis这个请

求的回答是Yes还是No。

Day

Outlook

Temperature

Humidity

Wind

PlayTennis

D1

Sunny

Hot

High

Weak

No

D2

Sunny

Hot

High

Strong

No

D3

Overcast

Hot

High

Weak

Yes

D4

Rain

Mild

High

Weak

Yes

D5

Rain

Cool

Normal

Weak

Yes

D6

Rain

Cool

Normal

Strong

No

D7

Overcast

Cool

Normal

Strong

Yes

D8

Sunny

Mild

High

Weak

No

D9

Sunny

Cool

Normal

Weak

Yes

D10

Rain

Mild

Normal

Weak

Yes

D11

Sunny

Mild

Normal

Strong

Yes

D12

Overcast

Mild

High

Strong

Yes

D13

Overcast

Hot

Normal

Weak

Yes

D14

Rain

Mild

High

Strong

No

         

我们需要利用训练数据计算后验概率P(Yes|x)和P(No|x),如果P(Yes|x)>P(No|x),那么新实例分类

为Yes,否则为No。 

我们将使用此表的数据,并结合朴素贝叶斯分类器来分类下面的新实例:

Day

Outlook

Temperature

Humidity

Wind

PlayTennis

D1

Sunny

Hot

High

Weak

No

D2

Sunny

Hot

High

Strong

No

D8

Sunny

Mild

High

Weak

No

D14

Rain

Mild

High

Strong

No

D6

Rain

Cool

Normal

Strong

No

      

   

Day

Outlook

Temperature

Humidity

Wind

PlayTennis

D3

Overcast

Hot

High

Weak

Yes

D4

Rain

Mild

High

Weak

Yes

D5

Rain

Cool

Normal

Weak

Yes

D7

Overcast

Cool

Normal

Strong

Yes

D9

Sunny

Cool

Normal

Weak

Yes

D10

Rain

Mild

Normal

Weak

Yes

D11

Sunny

Mild

Normal

Strong

Yes

D12

Overcast

Mild

High

Strong

Yes

D13

Overcast

Hot

Normal

Weak

Yes

           

由于 大于所以该样本分类为No

3. 多项式模型

基本原理:多项式模型中, 设某文档d=(t1,t2,…,tk),tk是该文档中出现过的单词,允许重复,则:

V是训练样本的单词表(即抽取单词,单词出现多次,只算一个),|V|则表示训练样本包含多少种

单词。在这里,m=|V|, p=1/|V|。P( tk|c)可以看作是单词tk在证明d属于类c上提供了多大的证据,

而P(c)则可以认为是类别c在整体上占多大比例(有多大可能性)。

给定一个新样本Chinese Chinese Chinese Tokyo Japan,对其进行分类:

该文本用属性向量表示为d=(Chinese, Chinese, Chinese, Tokyo, Japan),类别集合为Y={yes,

no}。                

id

doc

类别In c=China?

1

Chinese Beijing Chinese

yes

2

Chinese Chinese Shanghai

yes

3

Chinese Macao

yes

4

Tokyo Japan Chinese

no

P(Japan | yes)=P(Tokyo | yes)= (0+1)/(8+6)=1/14

P(Chinese | yes)=(5+1)/(8+6)=6/14=3/7

P(Chinese|no)=(1+1)/(3+6)=2/9

P(Japan|no)=P(Tokyo| no) =(1+1)/(3+6)=2/9

p(yes|d)=(3/7)3×1/14×1/14×8/11=108/184877≈0.00058417

P(no|d)= (2/9)3×2/9×2/9×3/11=32/216513≈0.00014780

因此,这个文档属于类别china。

4. 伯努利模型

基本原理:

id

doc

类别In c=China?

1

Chinese Beijing Chinese

yes

2

Chinese Chinese Shanghai

yes

3

Chinese Macao

yes

4

Tokyo Japan Chinese

no

P(Chinese|yes)=(3+1)/(3+2)=4/5

P(Beijing|yes)= P(Macao|yes)= P(Shanghai |yes)=(1+1)/(3+2)=2/5

P(Japan | yes)=P(Tokyo | yes)=(0+1)/(3+2)=1/5

P(Chinese|no)=(1+1)/(1+2)=2/3

 P(Japan|no)=P(Tokyo| no) =(1+1)/(1+2)=2/3

P(Beijing|no)= P(Macao|no)= P(Shanghai|no)=(0+1)/(1+2)=1/3

P(yes | d)=P(yes)×P(Chinese|yes) ×P(Japan|yes) ×P(Tokyo|yes)×(1-P(Beijing|yes)) ×(1-

P(Shanghai|yes))×(1-P(Macao|yes))=3/4×4/5×1/5×1/5×(1-2/5) ×(1-2/5)×(1-2/5)=81/15625≈0.005

P(no | d)= 1/4×2/3×2/3×2/3×(1-1/3)×(1-1/3)×(1-1/3)=16/729≈0.022

因此,这个文档不属于类别china

        二者的计算粒度不一样,多项式模型以单词为粒度,伯努利模型以文件为粒度,因此二者的

先验概率和类条件概率的计算方法都不同。计算后验概率时,对于一个文档d,多项式模型中,只

有在d中出现过的单词,才会参与后验概率计算。伯努利模型中,没有在d中出现,但是在全局单词

表中出现的单词,也会参与计算,不过是作为“反方”参与。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1226172.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

远程炼丹教程

【精选】深度学习远程炼丹:一文离线完成ubuntudockerpycharm环境配置_不能联网的电脑如何用docker配置深度学习环境_Yunlord的博客-CSDN博客文章浏览阅读2.6k次,点赞8次,收藏10次。本文详细讲解如何在离线服务器中安装dockerpycharm的远程深度…

Janus: 基于eBPF的5G实时AI控制器

O-RAN定义的RIC模型并不能很好支持对实时性有很高要求的用例,本文定义了一套基于eBPF的内联执行架构,从而可以将RIC的支持扩展到实时场景。原文: Taking 5G RAN Analytics and Control to a New Level[1] 摘要 Open RAN为5G无线接入网(RAN)引入了模块化和…

亚马逊Lightsail:云服务新篇章,轻松开启您的数字未来

文章目录 前言一、Lightsail是什么?Lightsail的优势使用场景 二、AWS lightsail创建VPS总结 前言 对于开发者而言,当你想构建系统架构时,你的面前就出现了两种选择,选择一是花时间去亲手挑选每个亚马逊云科技组件(云服…

PS学习笔记——移动工具

文章目录 介绍文档内移动文档间移动 介绍 移动工具:用于移动图层中的对象,并且同一图层中的所有对象都将一起移动 选中移动工具后,选项栏中会出现“显示变换控件”,勾选后即可看见图层中的对象周围出现边框,可以进行缩…

【Go学习之 go mod】gomod小白入门,在github上发布自己的项目(项目初始化、项目发布、项目版本升级等)

参考 Go语言基础之包 | 李文周的博客Go mod的使用、发布、升级 | weiGo Module如何发布v2及以上版本1.2.7. go mod命令 — 新溪-gordon V1.7.9 文档golang go 包管理工具 go mod的详细介绍-腾讯云开发者社区-腾讯云Go Mod 常见错误的原因 | walker的博客 项目案例 oceanweav…

山西电力市场日前价格预测【2023-11-20】

日前价格预测 预测说明: 如上图所示,预测明日(2023-11-20)山西电力市场全天平均日前电价为255.39元/MWh。其中,最高日前电价为436.50元/MWh,预计出现在18:00。最低日前电价为21.61元/MWh,预计出…

如何查看 class 文件的编译器版本

文章目录 原理分析解决方案其它解决方案javap 命令行工具 在平时的 Java 开发中,有时候我们需要知道某个 class 文件是由哪个版本的 Java 编译器编译生成的 原理分析 class 文件,即字节码文件,它有特定的二进制格式,这种格式是由…

『力扣刷题本』:环形链表(判断链表是否有环)

一、题目 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置&am…

接口调用微信公众号群发功能,绕过微信自身限制

微信群发功能要求要微信认证。微信认证要求要企业账号、而且需要认证费用。 本篇文章教大家非微信认证账号如何群发公众号信息 本篇文章基于python语言开发,其他的语言一样的方式,不需要拘泥于语言 注意事项: 要求有微信公众平台登陆状态,也就是Cookie数据, 如何通过Py…

统信UOS通过源码安装软件提示“configure: error: cannot run C compiled programs.”错误

1. 问题说明 使用源码的方式安装git软件,安装过程中出现两个错误。 编译错误“cannot run C compiled programs” XC:~/Downloads/git-2.42.1$ ./configure --prefix/home/software/git-2.42.1 configure: Setting lib to lib (the default) configure: Will try…

消息消费过程

前言 本文介绍下Kafka消费过程, 内容涉及消费与消费组, 主题与分区, 位移提交,分区再平衡和消费者拦截器等内容。 消费者与消费组 Kafka将消费者组织为消费组, 消息只会被投递给消费组中的1个消费者。因此, 从不同消费组中的消费者来看, Kafka是多播(Pub/Sub)模式…

腾讯云服务器公网带宽速度怎么样?上传下载实测!

腾讯云服务器公网带宽下载速度计算,1M公网带宽下载速度是128KB/秒,5M带宽下载速度是512KB/s,腾讯云10M带宽下载速度是1.25M/秒,腾讯云百科txybk.com来详细说下腾讯云服务器不同公网带宽实际下载速度以及对应的上传速度对照表&…

二十九、W5100S/W5500+RP2040树莓派Pico<Web socket Server>

文章目录 1 前言2 简介2 .1 什么是WebSocket协议?2.2 WebSocket协议工作原理2.3 WebSocket协议优点2.4 WebSocket应用场景 3 WIZnet以太网芯片4 WebSocket示例概述以及使用4.1 流程图4.2 准备工作核心4.3 连接方式4.4 主要代码概述4.5 结果演示 5 注意事项6 相关链接…

鸿蒙:Harmony开发基础知识详解

一.概述 工欲善其事,必先利其器。 上一篇博文实现了一个"Hello Harmony"的Demo,今天这篇博文就以Demo "Hello Harmony" 为例,以官网开发文档为依据,从鸿蒙开发主要的几个方面入手,详细了解一下鸿…

macOS 后台项目已添加 “Google Updater添加了可在后台运行的项目。你可以在“登陆项”设置中管理

文章目录 Intro解决查看三个文件夹分析 & 操作确认结果是否生效 Intro 我的macbook上经常弹出这样的通知狂: macOS 后台项目已添加 “Google Updater添加了可在后台运行的项目。你可以在“登陆项”设置中管理 不胜其扰,终于决定禁用它。以下为方法…

算法设计与分析【期中+期末复习知识点总结】(持续更新)

第1章:算法概述 算法:具有输入、输出、确定性、有限性。 程序(算法数据结构程序):具有输入、输出、确定性(注意:程序可以不满足有限性,如操作系统是在无限循环中执行的程序&#x…

es的优势

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目…

教程:使用 Keras 优化神经网络

一、介绍 在 我 之前的文章中,我讨论了使用 TensorFlow 实现神经网络。继续有关神经网络库的系列文章,我决定重点介绍 Keras——据说是迄今为止最好的深度学习库。 我 从事深度学习已经有一段时间了,据我所知,处理…

橱柜的装修干货|板材、五金、高度、配色4个方面。福州中宅装饰,福州装修

引言 橱柜的装修干货。 橱柜是厨房的核心,一个好的橱柜能让厨房变得实用又美观。以下是关于橱柜装修的几个问题解答。 1. 橱柜的柜门常用的板材有哪些? 橱柜的柜门常用的板材有实木板、防火板、烤漆板、包复框、PVC板、膜压板等。不同板材有不同的特点…