工业大数据分析算法实战-day07
文章目录
- day07
- 概率图模型
- 朴素贝叶斯(Naive Bayes)
- 贝叶斯网络(Bayesian Network)
- 一般图模型
- 生成式和判别式模型
- 图模型结构与模型推理
- 集成学习
- Boosting算法
- Stacking算法
day07
今天是第七天,昨日主要针对是第三章节中的决策树算法、支持向量机、隐马尔可夫模型进行阐述,介绍了算法的优化点以及核心参数,今天阐述第9小节概率图模型与贝叶斯方法、第10小节集成学习
概率图模型
概率图模型简称图模型,是一种用图结构来描述多元随机变量之间条件独立关系的概率模型。概率图模型简单可以分为如下示例:
图模型分成两种:有向图 和 无向图。
-
有向图模型(Directed Graphical Models)
- 特点:关系有方向,比如“谁影响谁”或者“谁依赖谁”。
- 例子:你准备考试,学习好不好可以被下面的因素影响:
- 节点1:你的学习时间(直接影响)
- 节点2:你的睡眠质量(影响学习时间)
- 节点3:你的考试成绩(依赖学习时间)这些关系之间有方向,比如:“睡眠质量 → 学习时间 → 考试成绩”。
- 这种有方向的依赖关系,就属于有向图模型,像贝叶斯网络就是这样的模型。
- 进一步扩展:动态贝叶斯网络(DBN):这就像看电视连续剧,每一集都会影响下一集的情节。
- 隐马尔可夫模型(HMM):你每天心情的变化是“隐藏的”(别人看不到),但你每天的表现(比如脸色好不好)是可以观察到的。大家通过观察你的表现推测你的心情,这就是HMM的原理。
-
无向图模型(Undirected Graphical Models)
- 特点:关系没有方向,强调“谁和谁之间有关联”,但不会说谁影响谁。
- 例子:假设有个微信群里几个人聊天:
- 小明和小红聊得很多,小红和小李也聊得很频繁。这种“谁和谁关系好”就是一种无向的关系,因为大家只是互相联系,没有明确的影响方向。
- 这种关系用无向图表示,就属于马尔可夫网络。
- 吉布斯随机场:想象一张床上放着很多沙包,每个沙包的重量会影响周围沙包的平衡。这种影响关系就是一种无向关系。
- 条件随机场(CRF):比如看一段话,判断每个词的词性。每个词的判断依赖于它周围的词,但没有明确的方向性。
朴素贝叶斯(Naive Bayes)
- 基本概念: 朴素贝叶斯是一种简单的概率分类方法,它基于贝叶斯定理,假设特征之间是“独立”的。也就是说,在做出分类决策时,朴素贝叶斯认为每个特征对于分类的贡献是相互独立的,尽管现实中这些特征可能是有关系的。
- 通俗解释: 假设你要判断一封邮件是否是垃圾邮件(垃圾邮件或正常邮件是分类目标)。你可以根据邮件中的特征(如是否包含“优惠”、“免费”等关键词)来进行判断。朴素贝叶斯做出的假设是:每一个特征(比如是否含有“优惠”这个词)对是否是垃圾邮件的影响是独立的。虽然实际情况可能是这些词语是相互关联的,但朴素贝叶斯忽略了这些关联,直接将每个词的影响单独计算,再加起来得出结论。
- **现实例子:**每天根据天气、气温、湿度等因素判断是否带伞。朴素贝叶斯会假设天气、气温、湿度等因素之间的影响是独立的,即使在现实中这些因素可能有联系。
贝叶斯网络(Bayesian Network)
- 基本概念: 贝叶斯网络是一种图形化的模型,它通过有向图来表示变量之间的条件依赖关系。每个节点代表一个随机变量,边表示变量之间的依赖关系。它利用贝叶斯定理进行推理,计算某些变量的条件概率。
- 通俗解释: 贝叶斯网络可以看作是对复杂系统中变量之间关系的“图示化”。假设你有一张图,节点表示不同的因素,比如天气、交通状况、出行计划等。箭头指示了这些因素之间的因果关系。通过贝叶斯网络,你可以根据已知的某些信息(比如今天下雨了)来推断其他未知的信息(比如是否会堵车)。
- **现实例子:**在计划外出时,天气(下雨或不下雨)会影响你是否需要带伞,而交通状况可能又会受到天气的影响。贝叶斯网络通过图形化的方式帮助你推理,给出最合理的决策。
一般图模型
一般图模型是概率图模型的一个更为广泛的概念,它包括不同类型的图结构和推理方法,主要包括以下几种:
-
PGM 是一种用图结构表示随机变量和它们之间条件依赖关系的模型,贝叶斯网络和马尔可夫网络(MRF)都是PGM的特殊形式。PGM 用图来表达复杂系统的依赖关系,利用概率进行推理。
- 通俗解释: 想象一个大企业的管理结构图,每个员工代表一个随机变量,边表示员工之间的依赖关系(例如,经理与下属的关系)。通过PGM,你可以通过已知的某些信息(比如某个经理的决策)推断其他未知的信息(如员工的表现)。
-
马尔可夫随机场是一种无向图模型,主要用于描述变量之间的相互依赖关系。在MRF中,图中的节点代表随机变量,而边表示这些变量之间的直接依赖关系。-
- 通俗解释: MRF 通常用于处理“局部依赖”的情况,即每个变量的状态只依赖于它相邻的变量。例如,在图像处理任务中,每个像素的颜色可能与其相邻像素的颜色相关,MRF可以用来建模这种局部依赖关系。
- **现实例子:**在图像分割任务中,MRF 可以用来建模像素的标签(比如前景或背景)的依赖关系,假设相邻像素的标签更可能相同。
-
条件随机场是MRF的一种变体,主要用于有标签的序列数据的标注问题(如文本标注、语音识别等)。CRF通过条件概率模型来建模变量之间的依赖关系,特别强调在给定输入数据条件下输出的依赖性。
- 通俗解释: CRF主要用来处理序列问题,像是在做自然语言处理时,识别一个句子中的每个词的词性标签(名词、动词等)。在CRF模型中,给定了输入句子的上下文信息,每个词的标签依赖于它周围词的标签。
- **现实例子:**在命名实体识别(NER)任务中,CRF用于从句子中识别出人物、地点等实体。假设“李华”是一个人名,CRF会通过上下文推断出“李华”可能是人名,而不是其他实体。
生成式和判别式模型
假设你有一组图片,目标是将图片分类为“猫”或“狗”。
-
生成模型(如朴素贝叶斯)会试图描述**“猫”和“狗”**是如何生成这些图片的特征的(例如,猫的耳朵和狗的尾巴的特征),它建模的是图像的联合分布 P(猫,图像)P(猫, 图像)P(猫,图像) 和 P(狗,图像)P(狗, 图像)P(狗,图像),并且可以通过贝叶斯公式推断每张图片属于“猫”还是“狗”。
-
判别模型(如逻辑回归)会直接关注给定一张图片,如何预测它是猫还是狗。它只关心 P(猫∣图像)P(猫 | 图像)P(猫∣图像) 和 P(狗∣图像)P(狗 | 图像)P(狗∣图像),即在已知图像特征的条件下,如何区分标签。
-
生成模型关注 联合分布 P(A,B)P(A, B)P(A,B),试图模拟数据和标签的共同生成过程。
-
判别模型关注 条件分布 P(A∣B)P(A | B)P(A∣B),直接根据输入预测输出标签。
图模型结构与模型推理
图模型结构指的是概率图模型中变量如何通过边连接起来,表示它们之间的依赖关系。不同的图结构(如有向图、无向图)适合不同类型的任务。
模型推理是通过已知的信息来推断未知的信息。在概率图模型中,推理通常是通过计算条件概率分布来实现的。具体的推理方法可以包括:
- 边际推理:计算某些变量的边际概率(即忽略其他变量)。
- 条件推理:计算某些变量在给定其他变量条件下的概率。
- 最大后验推理(MAP推理):给定某些观测值,推断最有可能的隐变量值。
通俗解释: 图模型结构就像是你在生活中做决策时,如何把不同的因素和它们之间的依赖关系通过图表表示出来。模型推理则是利用这些图表计算出你需要的信息,比如你知道一些条件下其他变量的可能性,或者你想通过已知条件推测其他未知的信息。
集成学习
构建多个学习器来完成任务,主要有以下三类:Bagging、Boosting、Stacking
方法 | 思想 | 具体步骤 | 代表算法 | 优点 | 缺点 |
---|---|---|---|---|---|
Bagging | 通过将多个模型训练在不同的随机子集上,降低方差,减少过拟合。 | 从训练数据中有放回地抽取多个子集,使用不同子集训练多个相同的模型,对模型预测结果进行平均(回归)或投票(分类)。 | 随机森林(Random Forest) | 减少模型方差,降低过拟合风险,对噪声有鲁棒性。 | 训练时间较长,消耗计算资源,需要多个独立的模型进行训练。 |
Boosting | 逐步训练模型,每次着重关注前一个模型的错误,减少偏差。 | 训练初始弱模型,增加前一模型错误样本的权重,训练下一个模型,迭代训练,最终加权所有模型的预测。 | AdaBoost, Gradient Boosting, XGBoost | 显著提高准确性,特别适合弱模型,可以减少偏差,提高整体性能。 | 对噪声和异常值敏感,训练时间长,计算复杂。 |
Stacking | 将不同类型的模型组合,通过一个元模型进一步学习如何合并预测结果。 | 训练多个不同类型的基础模型,将基础模型的预测结果作为新特征输入元模型,使用元模型做最终预测。 | 常见组合:逻辑回归+决策树+神经网络等 | 灵活结合不同类型的模型,提升性能,能够发挥不同模型的优势,提升准确性。 | 需要大量计算资源,训练时间长,需要调优和选择合适的模型组合。 |
Boosting算法
可分为AdaBoost和Gradient Boosting两类:
算法 | 关键特点 | 优点 | 缺点 | 提升与优化 |
---|---|---|---|---|
AdaBoost | 使用弱学习器(如决策树桩),每个模型集中改进前一个模型的错误。 | 简单易理解,效果直观;能提高弱模型的性能。 | 对噪声和异常值敏感;训练速度慢,可能容易过拟合。 | 主要是通过加权错分类样本来提高性能,但不适应复杂数据和高维数据。 |
GBM | 基于梯度提升的思想,逐步优化每一棵树来减少模型的误差。 | 适合各种回归和分类任务;对于复杂数据能较好地捕捉非线性关系。 | 训练时间长,计算开销大;对参数选择敏感。 | 引入梯度下降优化和树的增量学习,但计算效率较低,处理大规模数据时可能不够快。 |
GBDT | 基于GBM,使用决策树作为基础模型,通过梯度提升减少误差。 | 精度高,广泛应用于各类任务;能处理复杂的非线性关系。 | 训练速度慢,计算开销大;容易发生过拟合,调参难度大。 | 引入了更加精细的优化策略,如剪枝和更好的树结构,但计算效率相对较低。 |
XGBoost | 基于GBDT的优化版本,采用正则化、剪枝、并行计算等技术提升效率。 | 计算速度快,支持并行计算;更强的正则化能力,避免过拟合;对稀疏数据支持较好。 | 参数较多,需要精细调优;对异常值比较敏感。 | 在GBDT基础上加入了正则化、剪枝、并行计算等,提升了训练速度和模型的泛化能力。 |
LightGBM | 采用基于直方图的决策树算法,支持类别特征,速度快,能处理大规模数据。 | 训练速度极快,适用于大规模数据;内存使用少,支持类别特征处理。 | 调参复杂,可能容易过拟合;对小数据集效果不一定好。 | 使用直方图算法减少了训练时间,支持类别特征,提高了大规模数据集的处理能力,优化了内存使用。 |
Stacking算法
1、训练阶段的数据划分方法:在 Stacking 的训练阶段,我们首先需要训练多个基础模型,然后用这些模型的预测结果来训练一个元模型。为了避免训练过程中的数据泄露,通常会采取以下两种数据划分方式,把数据分成多个小部分,让每个基础模型在不同的子集上训练,确保它们的预测没有泄露训练数据。
- K折交叉验证(K-Fold Cross Validation):
- 我们把所有的训练数据分成 K 份(通常是 5 或 10)。例如,如果 K=5,我们会把数据分成 5 份,每一份轮流作为验证集,其余 4 份作为训练集。
- 在训练每个基础模型时,我们用 K-1 份数据训练它,用剩下的 1 份数据来评估它的表现。这样每一份数据都能作为验证集,确保基础模型的预测是公平的。
- 每个基础模型训练好后,它会在验证集上做预测,这些预测结果会作为新的特征,传递给 元模型(第二层模型)进行训练。
- Out-of-Bag 数据(OOB 数据): 这种方法通常是在 Bagging(例如随机森林)中使用。在训练过程中,每次训练时模型只使用部分数据,剩余的没有被选中的数据叫 OOB 数据,这些数据可以用来评估模型的效果。在 Stacking 中,OOB 数据可以用于生成每个基础模型的预测结果,避免过度拟合。类似于“每次都留下一些数据不参与训练,用这些数据来帮助模型改进”。
2、评分阶段的模型行为:在 评分阶段,我们用训练好的模型来对新的数据进行预测。这个过程的步骤如下,就像是我们把每个模型的预测结果拿出来,交给另一个“总的模型”去做最终的决策,来得到最终的预测结果:
- 基础模型预测:我们先用训练好的 基础模型(第一层模型)来对新的数据进行预测。每个基础模型会给出它自己的预测结果。比如,一个模型预测的是一个数值(回归问题),另一个模型预测的是一个类别标签(分类问题)。
- 元模型预测:然后,我们将这些基础模型的预测结果作为新的输入数据(新特征),传递给 元模型(第二层模型)。元模型会学习如何从这些基础模型的预测结果中选出最合适的预测,最终给出最终结果。
- 如果是回归问题,元模型给出一个数值预测。
- 如果是分类问题,元模型给出一个类别标签或者类别的概率。
相关文章:

工业大数据分析算法实战-day07
文章目录 day07概率图模型朴素贝叶斯(Naive Bayes)贝叶斯网络(Bayesian Network)一般图模型生成式和判别式模型图模型结构与模型推理 集成学习Boosting算法Stacking算法 day07 今天是第七天,昨日主要针对是第三章节中…...

六、nginx负载均衡
负载均衡:将四层或者七层的请求分配到多台后端的服务器上。 从而分担整个业务的负载。提高系统的稳定性,也可以提高高可用(备灾,其中一台后端服务器如果发生故障不影响整体业务). 负载均衡的算法 round robin 轮询 r…...

鸿蒙项目云捐助第十一讲鸿蒙App应用的捐助成功自定义对话框组件实现
在生活中,用户做了一个好事后,很多场合都会收到一份感谢。在捐助的行业也是一样的,用户捐出了一片爱心,就会收获一份温情。这里的温情是通过自定义对话框实现的。 一、通过自定义对话框组件实现捐款成功的信息页 这里用户捐款成…...

华为云联合中国信通院发布首个云计算智能化可观测性能力成熟度模型标准
2024年12月3日,由全球数字经济大会组委会主办,中国信息通信研究院(以下简称“中国信通院”)、中国通信企业协会承办的2024全球数字经济大会云AI计算国际合作论坛在北京成功召开。本次会议中,华为云联合中国信通院等单位…...

如何评估呼叫中心大模型呼出机器人的使用效果?
如何评估呼叫中心大模型呼出机器人的使用效果? 原作者:开源呼叫中心FreeIPCC,其Github:https://github.com/lihaiya/freeipcc 评估呼叫中心大模型呼出机器人的使用效果是一个复杂而多维的过程,需要综合考虑多个方面&…...

ARM/Linux嵌入式面经(六一):联合汽车电子
1、自我介绍 2、介绍一下 ARM与RISCV的差异 在嵌入式系统领域,ARM与RISC-V是两种重要的指令集架构(ISA),它们各自具有独特的特点和优势。以下是对两者差异的详细介绍: ARM与RISC-V的差异 开源性与专有性: ARM:ARM架构是商业化的,任何想要使用ARM指令集或相关技术的设…...

unity 雷达
unity 雷达 首先去商店下载TouchScript插件 导入的时候勾选Enable TUIO 然后把预制体Cursors和TouchManager拖上 最后把TuioInput这个脚本挂上 脚本上的端口号尽量不改...

单元测试知识总结
我们希望每段代码都是自测试的,每次改动之后,都能自动发现对现有功能的影响。 1 测试要求 在对软件单元进行动态测试之前,应对软件单元的源代码进行静态测试; 应建立测试软件单元的环境,如数据准备、桩模块、模拟器…...

Android:使用Service处理息屏后的WebSocket的服务端推送消息并传递给前端
前言 之前我们在使 RESTful 访问服务端时,一般都是客户端请求服务端应答的方式,这种通讯方式,对于需要持续获取数据的情形都是采用轮询的方式,但是这种方式对两边的性能消耗很大,特别是服务端的压力很大。现在当我们使…...

Git Bash Here 中文显示乱码的处理方法
在使用"open Git Bash Here"时,遇到中文显示乱码问题。 原因:通常是由于编码设置不正确导致的。 open Git Bash Here —>鼠标右击空白处,点击「选项」|或「Options」 在「文本」或 「Text」选项卡中,找到"local…...

FreeBSD安装教程
FreeBSD 是一个功能强大且可靠的开源 UNIX 操作系统,适合服务器和桌面环境。本文将介绍如何安装 FreeBSD,从系统准备到基础设置,为你快速上手提供帮助。 一、准备工作 1. 硬件要求 CPU:支持 x86 或 AMD64 架构的处理器。 内存&a…...

Loki 各模式简介
目录 Loki 部署模式 单片模式 简单可扩展 微服务模式 Loki 部署模式 Loki 是一个由许多微服务组成的分布式系统。它还具有独特的构建模型,其中所有这些微服务都存在于同一个二进制文件中。 您可以使用命令行标志配置单个二进制文件的行为-target,以指…...

MySQL八股-全局锁,表级锁,表锁,元数据锁,意向锁,行级锁,行锁,间隙锁,临键
文章目录 全局锁表级锁表锁(表级锁)元数据锁(MDL,Meta Data Lock,表级锁)元数据锁演示元数据锁兼容的情况元数据锁互相阻塞的情况 意向锁(Intention lock,表级锁)意向锁分类意向锁演示:意向共享锁(**IS**)与…...

(四)Spring Cloud Alibaba 2023.x:高效构建 Gateway 网关服务
目录 前言 准备 项目集成 pom.xml引入依赖 启动类 yml文件添加网关配置 修改消费者FeignService类 结果验证 前言 Spring cloud alibaba 体系中构建微服务,我们使用Spring Cloud Gateway 作为服务网关, Gateway是Spring 官方推出的一款基于 Web…...

Android XR 是什么?解释它的功能、设备、开发工具等
什么是“Android XR”? Android XR是最新配备AI的OS(操作系统),兼容耳机和眼镜(AR眼镜)。 沉浸式剧场 从视频列表中选择... 您可以体验完全身临其境的视频观看体验。 无限工作空间 您的现实世界将成为您…...

【算法】实体关系抽取
✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…...

Codeforces Round 993 (Div. 4)题解
A. Easy Problem 思路:经过看了一眼,我们发现,ab的和一定是n,且两个都是正整数, 所以a的范围就是从1~n-1 所以输出n-1即可 #include<bits/stdc.h> using namespace std; #define int long long int t; int n…...

【计算机网络】期末考试预习复习|中
作业讲解 转发器、网桥、路由器和网关(4-6) 作为中间设备,转发器、网桥、路由器和网关有何区别? (1) 物理层使用的中间设备叫做转发器(repeater)。 (2) 数据链路层使用的中间设备叫做网桥或桥接器(bridge)。 (3) 网络层使用的中间设备叫做路…...

从零用java实现 小红书 springboot vue uniapp (4)个人主页优化
前言 移动端演示 http://8.146.211.120:8081/#/ 前面的文章我们基本完成了详情页开发 今天我们具体的去进行实现个人中心 并且分享我开发时遇到的问题 首先先看效果 我们对布局整体规划一下 个人名片 半透明背景 刚开始我用的是 <view style"background-image: ur…...

为“行车大脑”降温:Simdroid-EC助力汽车ECU设计研发
ECU(Electronic Control Unit,电子控制单元)被誉为汽车的行车大脑,在工作时会产生大量的热量,而其散热存在以下难题:一是工作环境恶劣,ECU常处于高温环境中;二是ECU所处的空间较为狭…...

视频汇聚平台:Liveweb视频流媒体平台视频监控系统解决方案
数字化技术在安防领域的广泛应用已经成为公安等重要执法部门的重要趋势,主要得益于无线网络通信技术和计算机技术的快速进步。传统的视频监控系统存在诸多局限,例如只能进行现场监视,报警信息传输简单,无法远距离传输视频信号&…...

通过解调使用正则化相位跟踪技术进行相位解包裹
1. 绪论 光学计量学通常使用光学干涉仪来测量各种物理量。1,2 根据应用的不同,可以使用多种类型的干涉仪,但它们的共同目标是产生一个由被测物理量调制的条纹图案。使用这种光束编码程序可以检测到的物理量范围非常广:深度测量、应变分析、温…...

VMware替代 | 双一流大学采用ZStack ZSphere虚拟化平台加速医学应用算法分析
某双一流大学医学部在面对日益增长的医学应用算法分析需求时,选择采用ZStack ZSphere虚拟化平台,以满足其高性能计算和GPU业务应用的迫切需求。该平台凭借其轻量化、卓越性能及易用性,成功解决了医学部在虚拟化及GPU应用场景中的挑战。随着平…...

UNIAPP框架uView初步集成与开发设计
uView UI,是uni-app生态最优秀的UI框架,全面的组件和便捷的工具会让您信手拈来,如鱼得水。本文章分享UNIAPP集成使用uView页面动态开发设计。 一、使用HBuilder X 直接导入插件,下载后重启 uView - DCloud 插件市场 二、配置样…...

C05S08-LVS负载均衡
一、LVS 1. LVS概述 LVS(Linux Virtual Server、Linux虚拟服务)是一种基于Linux系统集群的负载均衡方案,属于四层的负载均衡。 集群:将相同组件部署在不同的服务器上,提供统一的服务,以及同样的功能&…...

C 语言代码诗韵:数字功能的雅集华章
函数基本操作练习 主要内容: 本任务主要练习函数的申请、定义、调用等,主要包含以下功能: 1)编写函数,输入一个整数,求各个数字之和; 2)编写函数,计算1!2&…...

ps案例制作
宣传海报 暖色调海报商品展示图...

【C++】列表初始化、声明、范围for、array容器
列表初始化、声明、范围for、array容器 一、统一的列表初始化1.1 使用{ }初始化1.2 initializer_list容器 二、声明2.1 auto关键字2.2 decltype关键字2.3 nullptr关键字 三、范围for四、array容器和forward_list容器 一、统一的列表初始化 1.1 使用{ }初始化 在C98中…...

C++智能指针详解
一、智能指针简介 智能指针是一个类似于指针的类,将指针交给这个类对象进行管理,我们就可以像使用指针一样使用这个类,并且它会自动释放资源。 智能指针运用了 RAII 的思想(资源获得即初始化)。RAII 是指,用对象的生命周期来管理资…...

基础库正则表达式
我们已经可以用requests 库来获取网页的源代码,得到 HTML 代码。但我们真正想要的数据是包含在 HTML代码之中的,要怎样才能从 HTML,代码中获取想要的信息呢?正则表达式就是其中一个有效的方法。 本篇博客我们将了解一下正则表达式的相关用法。正则表达…...