机器学习之贝叶斯分类器---《机器学习-周志华》学习笔记

朴素贝叶斯分类器——matlab实现 朴素贝叶斯分类对——matlab实现 根据西瓜数据集判断某个西瓜是不是好瓜: 本次实验是针对以上17行数据为训练数据,以及题目要求的1行数据为训练数据。实验源自于周志华的西瓜书,对于西瓜数据集3.0训练一个朴素贝叶斯分类器可参考:朴素贝叶斯分类MATLAB实现 我的实验首先将data.txt文件内的数据导入matlab中的元胞数组中: 前17行为训练数据集最后一行为测试数据集: 加载数据代码... 阅读详情

1. 解释先验概率、后验概率、全概率公式、条件概率公式,结合实例说明贝叶斯公式,如何理解贝叶斯定理?

①先验概率:是指根据以往经验和分析得到的概率

举个例子:如果我们对西瓜的色泽、根蒂和纹理等特征一无所知,按照常理来说,西瓜是好瓜的概率是60%。那么这个概率P(好瓜)就被称为先验概率。

②后验概率:事情已经发生,要求这件事情发生的原因是由某个因素引起的可能性的大小

举个例子:假如我们了解到判断西瓜是否好瓜的一个指标是纹理,把纹理清晰当作一种结果,然后去推测好瓜的概率,那么这个概率P(好瓜|纹理清晰)就被称为后验概率。

③全概率公式:

如果事件组 B 1 B_1 B1​ B 2 B_2 B2​,…满足
· B 1 B_1 B1​ B 2 B_2 B2​…两两互斥
· B 1 B_1 B1​∪ B 2 B_2 B2​…= Ω
则称事件组 B 1 B_1 B1​ B 2 B_2 B2​,…是样本空间Ω的一个划分;
设 B 1 B_1 B1​ B 2 B_2 B2​,…是样本空间Ω的一个划分,A为任一事件,则P(A)全概率公式为:
在这里插入图片描述
举个例子:上面联合概率概念买西瓜的例子中,我们要计算P(好瓜,纹理清晰)联合概率时,需要知道P(纹理清晰)的概率。那么,如何计算纹理清晰的概率呢?实际上可以分为两种情况:一种是好瓜状态下纹理清晰的概率,另一类是坏瓜状态下纹理清晰的概率。纹理清晰的概率就是这两种情况之和。因此,我们可以推导出全概率公式:
P(纹理清晰)=P(纹理清晰|好瓜)∙P(好瓜)+ P(纹理清晰|坏瓜)∙P(坏瓜)

④条件概率:设A,B是两个事件,且P(B)>0,则在事件B发生的条件下,事件A发生的条件概率

P ( A ∣ B ) = P ( A B ) / P ( B ) P(A|B)=P(AB)/P(B) P(A∣B)=P(AB)/P(B)
举个例子:已知一个西瓜是圆的,他是甜瓜的概率
P(甜|圆形)=P(又甜又圆)/P(圆形)

⑤贝叶斯公式:贝叶斯公式是建立在条件概率的基础上寻找事件发生的原因

即在这里插入图片描述

2. 结合实例说明朴素贝叶斯分类器是如何对测试样本进行分类的?并归纳总结算法步骤

某个医院早上收了六个门诊病人,如下表截图

现在又来了第七个病人,是一个打喷嚏的建筑工人。请问他患上感冒的概率有多大? 根据贝叶斯定理:
可得:
假定"打喷嚏"和"建筑工人"这两个特征是独立的,因此,上面的等式就变成了:
因此,这个打喷嚏的建筑工人,有66%的概率是得了感冒。同理,可以计算这个病人患上过敏或脑震荡的概率。 比较这几个概率,就可以知道他最可能得什么病。
构建朴素贝叶斯分类器的步骤如下:

1、根据训练样例分别计算每个类别出现的概率P(Ai),
2、对每个特征属性计算所有划分的条件概率P(Bi|Ai),
3、对每个类别计算P(B|Ai)*P(Ai),
4、选择3步骤中数值最大项作为B的类别Ak。

3. 分别说明如何用极大似然估计和贝叶斯估计进行朴素贝叶斯的参数估计

极大似然估计

假如有一个罐子,里面有黑白两种颜色的球,数目多少不知,两种颜色的比例也不知。我们想知道罐中白球和黑球的比例,但我们不能把罐中的球全部拿出来数。现在我们可以每次任意从已经摇匀的罐中拿一个球出来,记录球的颜色,然后把拿出来的球 再放回罐中。这个过程可以重复,我们可以用记录的球的颜色来估计罐中黑白球的比例。假如在前面的一百次重复记录中,有七十次是白球,请问罐中白球所占的比例最有可能是多少?
估计大家很快能反应出来答案是70%。但是如果让推导一下具体过程呢?
我们假设罐中白球的比例是p,那么黑球的比例就是1−p。因为每抽一个球出来,在记录颜色之后,我们把抽出的球放回了罐中并摇匀,所以每次抽出来的球的颜 色服从同一独立分布。这里我们把一次抽出来球的颜色称为一次抽样。题目中在一百次抽样中,七十次是白球的概率是p(x|θ),这里x是所有的抽样,θ是所给出的模型参数,表示每次抽出来的球是白色的概率为p。
先写出似然函数:

接下来对似然函数对数化:
然后求似然方程:
最后求解似然方程,得:p=0.7
贝叶斯估计

假如人们会感染一种病毒,有一种测试方法,在被测试者已感染这个病毒时,测试结果 为阳性的概率为95%。在被测试者没有感染这个病毒时,测试结果为阳性的概率为2%。现在,有一个人的测试结果为阳性,问这个人感染了病毒吗?
如果用最大似然估计的方法,既然感染了病毒出现阳性的概率为95%,没感染出现阳性的概率为2%,本着谁大像谁的原则,那我就认为这个人已经感染了病毒。
但是如果用贝叶斯方法进行估计,如果我们得知有一个先验概率,比如整体人群中只有1%的人会感染此种病毒,那么由贝叶斯公式:
在这里插入图片描述
其中,p(真阳性|检测为阳性)为后验概率,即我们通过检测出为阳性可以判断为真阳性的概率;
p(真阳性)为先验概率,
p(检测为阳性|真阳性)为条件概率,
p(真阳性)p(检测为阳性|真阳性)+p(真阴性)p(检测为阳性|真阴性)为全概率,检测出为阳性是由一个完备事件组构成的:这个人要么是真阳性,要么是真阴性。
由此可见,在贝叶斯估计中,先验概率对结果的影响很大。
在这种场景下,采用贝叶斯估计似乎更为合理一些。
最后来个总结:从本质上来说,最大似然是对点估计,贝叶斯推断是对分布估计。即,假设求解参数θ,最大似然是求出最有可能的θ值,而贝叶斯推断则是求解θ的分布。
原文:https://blog.youkuaiyun.com/bitcarmanlee/article/details/52201858

4. 编程实现拉普拉斯修正的朴素贝叶斯分类器,并以西瓜数据集3.0为例(P84),对P151的测试样本1进行判别。

import math
import numpy as np
import pandas as pd
 
D_keys = {
	'色泽': ['青绿', '乌黑', '浅白'], 
	'根蒂': ['蜷缩', '硬挺', '稍蜷'], 
	'敲声': ['清脆', '沉闷', '浊响'], 
	'纹理': ['稍糊', '模糊', '清晰'], 
	'脐部': ['凹陷', '稍凹', '平坦'], 
	'触感': ['软粘', '硬滑'], 
}
Class, labels = '好瓜', ['是', '否']
 
# 读取数据
def loadData(filename):
	dataSet = pd.read_csv(filename)
	dataSet.drop(columns=['编号'], inplace=True)
	return dataSet
 
# 配置测1数据
def load_data_test():
	array = ['青绿', '蜷缩', '浊响', '清晰', '凹陷', '硬滑', 0.697, 0.460, '']
	dic = {a: b for a, b in zip(dataSet.columns, array)}
	return dic
 
def calculate_D(dataSet):
	D = []
	for label in labels:
		temp = dataSet.loc[dataSet[Class]==label]
		D.append(temp)
 
	return D
 
def calculate_Pc(Dc, D):
	D_size = D.shape[0]
	Dc_size = Dc.shape[0]
	N = len(labels)
	return (Dc_size+1) / (D_size+N)
 
def calculate_Pcx_D(key, value, Dc):
	Dc_size = Dc.shape[0]
	Dcx_size = Dc[key].value_counts()[value]
	Ni = len(D_keys[key])
	return (Dcx_size+1) / (Dc_size+Ni)
 
def calculate_Pcx_C(key, value, Dc):
	mean, var = Dc[key].mean(), Dc[key].var()
	exponent = math.exp(-(math.pow(value-mean, 2) / (2*var)))
	return (1 / (math.sqrt(2*math.pi*var)) * exponent)
 
def calculate_probability(label, Dc, dataSet, data_test):
	prob = calculate_Pc(Dc, dataSet)
	for key in Dc.columns[:-1]:
		value = data_test[key]
		if key in D_keys:
			prob *= calculate_Pcx_D(key, value, Dc)
		else:
			prob *= calculate_Pcx_C(key, value, Dc)
 
	return prob
 
def predict(dataSet, data_test):
	# mu, sigma = dataSet.mean(), dataSet.var()
	Dcs = calculate_D(dataSet)
	max_prob = -1
	for label, Dc in zip(labels, Dcs):
		prob = calculate_probability(label, Dc, dataSet, data_test)
 
		if prob > max_prob:
			best_label = label
			max_prob = prob
 
		print(label, prob)
 
	return best_label
 
 
if __name__ == '__main__':
	# 读取数据
	filename = 'data_3.txt'
	dataSet = loadData(filename)
	data_test = load_data_test()
	label = predict(dataSet, data_test)
	print('预测结果:', label)
原文:https://blog.csdn.net/weixin_37922777/article/details/89454697 
机器学习(四)朴素贝叶斯 朴素贝叶斯1.朴素贝叶斯概述1.1 条件概率1.2 全概率公式1.3 贝叶斯推论2.朴素贝叶斯分类器应用3.使用朴素贝叶斯过滤垃圾邮件3.1 准备数据:切分文本3.2 测试算法:使用朴素贝叶斯进行交叉验证4. 实验小结 1.朴素贝叶斯概述 贝叶斯分类算法是统计学的一种分类方法,它是一类利用概率统计知识进行分类的算法。在许多场合,朴素贝叶斯(Naïve Bayes,NB)分类算法可以与决策树和神经网络分类算法相媲美,该算法能运用到大型数据库中,而且方法简单、分类准确率高、速度快。 那么,什么是贝叶斯算法呢?这 阅读详情

相关推荐

机器学习 贝叶斯分类器 拉普拉斯修正

文章目录1. 贝叶斯决公式2. 使用西瓜数据集3. 朴素贝叶斯3. 拉普拉斯修正4. 代码5. 结果5.1 训练数据集5.2 训练数据集5.3 结果6. 参考书籍 在分类问题情况下,在所有相关概率都已知的理想情形下,贝叶斯决策考虑如何基于这些概率和误判损失来选择最优的类> > 别标记 寻找一个判定准则 h:X → Y以最小化总体风险 贝叶斯判定准则:为最小化总体风险,只需在每个样本上选择那个能使条件风险R(c|x)最小的类别标记 被称为贝叶斯最优分类器,与之对应的总体风险R(h*)称为贝叶

今晚看星星的博客 9665

西瓜书:朴素贝叶斯分类器判断是否为好瓜

问题:西瓜书P151,用西瓜数据集3.0训练一个朴素贝叶斯分类器,对测试例“测1”进行分类。 西瓜数据集3.0如下: 编号 色泽 根蒂 敲声 纹理 脐部 触感 密度 含糖率 好瓜 1 ['青绿', '蜷缩', '浊响', '清晰', '凹陷', '硬滑', '0.697','0.460','YES'] 2 ['乌黑', '蜷缩', '沉闷', '清晰', '凹陷', '硬滑', '0.774','0.376','

Alocus的博客 1万+

《机器学习》周志华(西瓜书)学习笔记 第七章 贝叶斯分类器

《机器学习》周志华(西瓜书)学习笔记 总目录 第七章 贝叶斯分类器 1.贝叶斯决策论 假设有 N 种可能的类别标记,即 y={C1,C2,…,CN}y = \{C_1, C_2,… , C_N\}y={C1​,C2​,…,CN​}λji\lambda_{ji}λji​ 是将一个真实标记为 CjC_jCj​ 的样本误分类为 CiC_iCi​ 所产生的损失. 基于后验概率 P(Ci∣x)P(C_i |...

sdm12345的博客 1589

【机器学习】周志华西瓜书第七章贝叶斯分类器习题--实现拉普拉斯修正的朴素贝叶斯分类器,以西瓜数据集3.0为训练集,对“测1”进行判别

【机器学习】实现拉普拉斯修正的朴素贝叶斯分类器,以西瓜数据集3.0为训练集,对“测1”进行判别。

m0_53700832的博客 2125

周志华机器学习西瓜书 第七章 贝叶斯分类器-学习笔记(超详细)

缺点也是显然的:如果数据量较大,拉普拉斯修正可能会引入过多的平滑,导致概率估计不够准确、对于某些特定问题,可能需要调整平滑参数(如加的常数不一定是1)、而且拉普拉斯修正实际上是假定了属性与类别的均匀分布,这是额外引入的偏差,因为本身可能本身不是均匀的,所以这个要注意,实际问题是否是均匀的,若是不均匀可以调整所加的常数,调整偏差。是主观的,只是随着新证据的发现去不断的更新对概率的"信念值"。",即频率 主义认为概率是"事件",在大量重复性实验中所发生的频率,就会逼近真实的概率,涉及到极限的概念,是客观的。

Sodas的博客 1313

CTP接口入门

该文章主要讲什么 这篇文章的面向对象是有一些C++基础,并且想用C++来做程式化交易的同学。 这篇文章可以算是我的程式化学习笔记中的一篇。其中介绍了CTP的简单的使用方式,并且附上了一些代码以及我在试用的时候遇到的一些小坑。 什么是CTP CTP是上海期货推出的一套可供程序调用的交易接口。就好比官方给程序化交易提供了的一个专门的业务窗口。 接口相关文件下载 CTP接口可以在上期...

weizehua的专栏 4万+

周志华《Machine Learning》学习笔记(8)--贝叶斯分类器

上篇主要介绍和讨论了支持向量机。从最初的分类函数,通过最大化分类间隔,max(1/||w||),min(1/2||w||^2),凸二次规划,朗格朗日函数,对偶问题,一直到最后的SMO算法求解,都为寻找一个最优解。接着引入核函数将低维空间映射到高维特征空间,解决了非线性可分的情形。最后介绍了软间隔支持向量机,解决了outlier挤歪超平面的问题。本篇将讨论一个经典的统计学习算法–贝叶斯分类器。

VAY-长跑 6468

手把手教你用Multisim 14.2仿真一个4.4V的LDO电路(附完整仿真文件)

本文详细介绍了如何使用Multisim 14.2仿真一个4.4V的LDO电路,从环境配置、核心参数解析到电路搭建和仿真调试。通过分压电阻精确计算和瞬态响应测试,帮助读者掌握LDO电路的设计与验证技巧,并附有完整仿真文件供参考。

weixin_28738397的博客 275

周志华《Machine Learning》学习笔记(8)--贝叶斯分类器

因此只剩下类条件概率p(x | c ),它表达的意思是在类别c中出现x的概率,它涉及到属性的联合概率问题,若只有一个离散属性还好,当属性多时采用频率估计起来就十分困难,因此这里一般采用极大似然法进行估计。从最初的分类函数,通过最大化分类间隔,max(1/||w||),min(1/2||w||^2),凸二次规划,朗格朗日函数,对偶问题,一直到最后的SMO算法求解,都为寻找一个最优解。对于给定的样本x,P(x)与类标无关,P(c)称为类先验概率,p(x | c )称为类条件概率。

xiaoshun007的专栏 1583

SUMO仿真教程(1) ——安装环境的设置(Windows 10系统)

SUMO安装环境的设置 目录一.SUMO下载的官方网址二.下载步骤:三.环境设置:1.打开设置环境变量的界面2.用户(Administrator)变量设置3.系统变量设置四.总述 一.SUMO下载的官方网址 sumo的下载地址: 二.下载步骤: 1.以sumo1.8.0为示例进行演示,点击下载地址; 2.选择Windows64位的安装版本,如下图所示: 3.点击对应版本会跳转到如下图所示的界面,等待几秒后会自动下载(温馨提示:请将下载路径提前设置好): 4.到目标存储路径下查看下载完成的SUMO(本

weixin_50632459的博客 1万+

【Python爬虫】股票信息定向爬取

【Python爬虫】股票信息定向爬取:通过requests-bs4-re技术路线爬虫获取上交所和深交所所有股票的名称和交易信息

qq_39321802的博客 1504

周志华《Machine Learning》学习笔记 8 —— 贝叶斯分类器

       上篇主要介绍和讨论了支持向量机。从最初的分类函数,通过最大化分类间隔,max(1/||w||),min(1/2||w||^2),凸二次规划,朗格朗日函数,对偶问题,一直到最后的SMO算法求解,都为寻找一个最优解。接着引入核函数将低维空间映射到高维特征空间,解决了非线性可分的情形。最后介绍了软间隔支持向量机,解决了outlier挤歪超平面的问题。本篇将讨论一个经典的统计学习算法–贝叶斯...

zhuangV587的博客 366

开发具有情感分析能力的AI Agent

本文将深入探讨开发具有情感分析能力的AI Agent的各个方面。我们将首先介绍情感分析的基础知识,包括定义、背景和应用领域。接着,我们将详细讲解情感分析的核心概念、数据处理方法和算法原理。随后,文章将展示如何设计情感分析系统架构,并进行项目实战,包括环境安装、源代码实现和案例分析。最后,我们将总结最佳实践和注意事项,为读者提供进一步学习的资源。情感分析(Sentiment Analysis),也称为意见挖掘,是自然语言处理(NLP)的一个分支。

SuperAGI2025 1146

机器学习周志华学习笔记-第7章<贝叶斯分类器>

机器学习周志华学习笔记-第7章<贝叶斯分类器>

ydl1128的博客 1445

网神 SecGate 3600 防火墙 app_av_import_save文件上传漏洞(含批量验证poc)

网神 SecGate 3600 防火墙 app_av_import_save文件上传漏洞(含批量验证poc)

weixin_43567873的博客 298

Linux内核配置选项详解及编译过程

在内核编译完成后,可以通过重启系统并选择新编译的内核来使用它。可以在该菜单下选择需要编译进内核的设备驱动,也可以选择将设备驱动编译为模块。可以在该菜单下选择需要编译进内核的设备驱动,也可以选择将设备驱动编译为模块。可以选择需要的调试选项,并根据需要启用或禁用相应的功能。可以选择需要的文件系统类型,并根据需要启用或禁用相应的选项。可以选择需要的网络协议和功能,并根据需要启用或禁用相应的选项。可以选择需要的调试选项,并根据需要启用或禁用相应的功能。可以选择需要的文件系统类型,并根据需要启用或禁用相应的选项。

TechGlide的博客 747

周志华《机器学习》同步学习笔记 ——第七章 贝叶斯分类器

周志华《机器学习》同步学习笔记 ——第七章 贝叶斯分类器7.1 贝叶斯决策论7.2 极大似然估计7.3 朴素贝叶斯分类器拉普拉斯修正7.4 半朴素贝叶斯分类器7.5 贝叶斯网结构学习推断7.6 EM算法 最近白天学车晚上看书 我瑞了 (概率论还没看啊啊啊啊) 7.1 贝叶斯决策论 对于分类任务,贝叶斯决策论考虑基于相关概率和误判损失来选择最优的类别标记。 期望损失(条件风险): λij\l...

克小洛的秘密基地 720

DeiT详解:知识蒸馏的Transformer

DeiT模型(8600万参数)仅用一台 GPU 服务器在 53 hours train,20 hours finetune,仅使用 ImageNet 就达到了 84.2 top-1 准确性,而无需使用任何外部数据进行训练,性能与最先进的卷积神经网络(CNN)可以抗衡。其核心是提出了针对 ViT 的教师-学生蒸馏训练策略,并提出了方法,使得在视觉领域训练得又快又好。

走在深度学习前沿的小宋 2637

机器学习(周志华)学习笔记六:贝叶斯分类器(上)

本文记录对《机器学习》贝叶斯分类器部分的理解,并实现习题7.3,7.4

mddh_123的博客 771

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

周志华机器学习西瓜书学习笔记——第七章 贝叶斯分类器

第七章 贝叶斯分类器Contents7.1贝叶斯决策论7.2极大似然估计7.3朴素贝叶斯分类器7.4半朴素贝叶斯分类器7.5贝叶斯网7.6 EM算法 7.1贝叶斯决策论l  针对分类任务,相关概率已知,基于这些先验概率与误判损失来选择最优类别。Bayes Decision Rule: 为最小化整体风险,只需在每个样本上选择使条件风险最小的类别cBayes Optimal Classifier:  ...

personae的博客 1369

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

周志华《Machine Learning》学习笔记--第七章--贝叶斯分类器

对小样本数据集表现优异,泛化能力强;能输出分类结果的概率置信度,适合高风险决策场景;计算复杂度低,训练和推理速度极快;对缺失数据不敏感,鲁棒性好。

weixin_46200189的博客 374

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

机器学习(周志华)学习笔记七:贝叶斯分类器(下)

编写《机器学习》习题7.9、7.10时,对贝叶斯网概念有了一些理解,在此希望分享给大家。

mddh_123的博客 681
上一篇: 机器学习之特征选择——《机器学习-周志华》学习笔记
下一篇: 机器学习之集成学习---《机器学习-周志华》学习笔记
echo__o
博客等级 码龄7年 4粉丝 4原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值