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

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.mzph.cn/news/154800.shtml

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

相关文章

redis--高可用之持久化

redis高可用相关知识 在web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999%等等)。 但是在Redis语境中,高可用的含义似乎要宽泛一些,除了保证提供正常服务( 如主…

【MySQL】一些内置函数(时间函数、字符串函数、数学函数等,学会了有妙用)

内置函数 前言正式开始时间函数显示当前日期、时间、日期时间的日期计算相差多少天示例创建一张表,记录生日 留言表 字符串函数charsetconcatinstr(string, substring)ucase和lcaseleft(string, length)length求字符串长度replace(str, search_str, replace_str)tri…

Python实现视频字幕时间轴格式转换

自己喜欢收藏电影,有时网上能找到的中文字幕文件都不满足自己电影版本。在自己下载的压制版电影中已内封非中文srt字幕时,可以选择自己将srt的时间轴转为ass并替换ass中的时间轴。自己在频繁 复制粘贴改格式的时候想起可以用Python代码完成转换这一操作&…

Windows配置全局代理

一. Windows下为PowerShell/CMD/Git设置代理 —————————————————————————————————————————————————————— 二. [WinError 10061] 由于目标计算机积极拒绝,无法连接。 keyerror:192。 HTTP Error 403: Forbidd…

TikTok科技前沿:探索短视频创新应用

随着科技的不断发展,短视频平台TikTok已经不仅仅是一个简单的社交娱乐平台,更成为了数字创意和技术创新的前沿阵地。本文将深入探讨TikTok在科技前沿的探索,揭示短视频平台如何借助先进技术实现创新,以及这些创新对数字时代的影响…

Altium Designer学习笔记4

学会添加库。 元器件添加成功。 放置TYPE-C元器件。 绘制网络标识和电源端口,并且添加文字备注。 修改元器件的属性。

华为ac+fit无线2层漫游配置案例

ap的管理dhcp在ac上,业务dhcp在汇聚交换机上、并且带2层漫游 R1: interface GigabitEthernet0/0/0 ip address 11.1.1.1 255.255.255.0 ip route-static 12.2.2.0 255.255.255.0 11.1.1.2 ip route-static 192.168.0.0 255.255.0.0 11.1.1.2 lsw1: vlan batch 100…

【深度学习实验】注意力机制(二):掩码Softmax 操作

文章目录 一、实验介绍二、实验环境1. 配置虚拟环境2. 库版本介绍 三、实验内容0. 理论介绍a. 认知神经学中的注意力b. 注意力机制: 1. 注意力权重矩阵可视化(矩阵热图)2. 掩码Softmax 操作a. 导入必要的库b. masked_softmaxc. 实验结果 ​ …

论文《A recurrent latent variable model for sequential data》笔记:详解VRNN

A recurrent latent variable model for sequential data 背景 1 通过循环神经网络的序列建模 循环神经网络(RNN)可以接收一个可变长度的序列 x ( x 1 , x 2 , . . . , x T ) x (x_1, x_2, ..., x_T) x(x1​,x2​,...,xT​)作为输入,并通…

MATLAB 模型预测控制(MPC)控制入门 —— 设计并仿真 MPC 控制器

系列文章目录 MATLAB 模型预测控制(MPC) 文章目录 系列文章目录前言一、使用 MPC Designer 设计控制器1.1 CSTR 模型1.2 导入被控对象并定义 MPC 结构1.3 定义输入和输出通道属性1.4 配置仿真场景1.5 配置控制器水平线1.6 定义输入约束条件1.7 指定控制…

SpringBoot-Docker容器化部署发布

在生产环境都是怎么部署 Spring Boot? 打成 jar 直接一键运行打成 war 扔到 Tomcat 容器中运行容器化部署 一、准备Docker 在 CentOS7 上安装好 Docker 修改 Docker 配置,开启允许远程访问 Docker 的功能,开启方式很简单,修改 /usr/lib/s…

自动驾驶相关

广汽研究院的感知岗 熟悉DL、CV,的设计和优化 CV中的分类、检测、分割等任务有落地经验 python、C,tensorFlow、torch等框架 GPU原理,有CUDA、多核CPU软件开发,和模型部署经验 积极热情 2022年4月-国内自动驾驶公司技术实力最…

第四代可燃气体监测仪:可燃气体监测仪在燃气管网中的作用有哪些

燃气管网如同城市的血脉,纵横交错着覆盖在每一寸土地。然而如此复杂的管网,仅靠人工巡查难免有些力不从心。毕竟人工监测的范围有其局限性,难以做到全方位、全天候的紧密监测,难免会有疏忽和遗漏。如何将安全隐患消灭于萌芽状态&a…

semodule工具详解(1)

本文内容参考: semodule(8) - Linux manual page https://linux.die.net/man/8/semodule 1. 介绍 名称 semoudule —— 管理SELinux策略模块。 简介 semodule [options]... MODE [MODES]... 描述 semodule是用于管理SELinux策略模块的工具,包括安装…

Linux CentOS 8(DNS的配置与管理)

Linux CentOS 8(DNS的配置与管理) 目录 一、DNS相关知识1.1 DNS简介1.2 DNS的解析原理1.3 DNS解析 二、DNS服务器部署2.1 不使用chroot模式启动DNS2.2 使用chroot模式DNS 三、DNS配置文件详解3.1 主配文件详解3.2 区域数据库文件详解 四、项目实施4.1 主…

【每日OJ —— 225.用队列实现栈(队列)】

每日OJ —— 225.用队列实现栈(队列) 1.题目:225.用队列实现栈(队列)2.解法2.1.解法讲解:2.1.1.算法讲解2.1.2.代码实现2.1.3.提交通过展示 1.题目:225.用队列实现栈(队列&#xff0…

php伪随机数

利用工具 php_mt_seed <?php // php 7.2function white_list() {return mt_rand();}echo white_list(), "\n";echo white_list(), "\n";echo white_list(), "\n"; 输入命令&#xff1a; ./php_mt_seed 1035656029 <?phpmt_srand(181095…

CISP模拟考试(一)

免责声明 文章仅做经验分享用途,利用本文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,一旦造成后果请自行承担!!! 以下哪一项对安全风险的描述是准确的?CA、安全风险是指一种特定脆弱性利用一种或一组威胁造成组织…

关于校园网使用罗技flow功能

目录 情况概述问题及解决方案 情况概述 我目前设备是一台Macbook air m1处理器&#xff0c;学校给配了一台windows台式&#xff0c;台式机不能连蓝牙&#xff0c;不能连wifi&#xff0c;只能用网线&#xff0c;我的需求是想让mac和windows共用一套键鼠&#xff0c;在了解到罗技…

echarts 实现3D立体柱状图示例

该示例有如下几个特点&#xff1a; ①实现tooltip自定义样式&#xff08;echarts 实现tooltip提示框样式自定义-CSDN博客&#xff09; ②数据为0时&#xff0c;顶部四边形不展示 ③legend图标设置为自定义图片 【第②也是一个难点&#xff0c;我没有找到其他解决办法&#xff…