当前位置: 首页 > news >正文

工业大数据分析算法实战-day07

文章目录

  • day07
    • 概率图模型
      • 朴素贝叶斯(Naive Bayes)
      • 贝叶斯网络(Bayesian Network)
      • 一般图模型
      • 生成式和判别式模型
      • 图模型结构与模型推理
    • 集成学习
      • Boosting算法
      • Stacking算法

day07

今天是第七天,昨日主要针对是第三章节中的决策树算法、支持向量机、隐马尔可夫模型进行阐述,介绍了算法的优化点以及核心参数,今天阐述第9小节概率图模型与贝叶斯方法、第10小节集成学习

概率图模型

概率图模型简称图模型,是一种用图结构来描述多元随机变量之间条件独立关系的概率模型。概率图模型简单可以分为如下示例:

image-20241217201648572

图模型分成两种:有向图无向图

  • 有向图模型(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将不同类型的模型组合,通过一个元模型进一步学习如何合并预测结果。训练多个不同类型的基础模型,将基础模型的预测结果作为新特征输入元模型,使用元模型做最终预测。常见组合:逻辑回归+决策树+神经网络等灵活结合不同类型的模型,提升性能,能够发挥不同模型的优势,提升准确性。需要大量计算资源,训练时间长,需要调优和选择合适的模型组合。

image-20241217211822416

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 思路&#xff1a;经过看了一眼&#xff0c;我们发现&#xff0c;ab的和一定是n&#xff0c;且两个都是正整数&#xff0c; 所以a的范围就是从1~n-1 所以输出n-1即可 #include<bits/stdc.h> using namespace std; #define int long long int t; int n…...

【计算机网络】期末考试预习复习|中

作业讲解 转发器、网桥、路由器和网关(4-6) 作为中间设备&#xff0c;转发器、网桥、路由器和网关有何区别&#xff1f; (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&#xff08;Electronic Control Unit&#xff0c;电子控制单元&#xff09;被誉为汽车的行车大脑&#xff0c;在工作时会产生大量的热量&#xff0c;而其散热存在以下难题&#xff1a;一是工作环境恶劣&#xff0c;ECU常处于高温环境中&#xff1b;二是ECU所处的空间较为狭…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说&#xff0c;传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度&#xff0c;通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?

uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件&#xff0c;用于在原生应用中加载 HTML 页面&#xff1a; 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个对象的状态变化需要自动通知其他对象&#xff0c;比如&#xff1a; 电商平台中&#xff0c;商品库存变化时需要通知所有订阅该商品的用户&#xff1b;新闻网站中&#xff0…...

springboot整合VUE之在线教育管理系统简介

可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生&#xff0c;小白用户&#xff0c;想学习知识的 有点基础&#xff0c;想要通过项…...

android13 app的触摸问题定位分析流程

一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...

es6+和css3新增的特性有哪些

一&#xff1a;ECMAScript 新特性&#xff08;ES6&#xff09; ES6 (2015) - 革命性更新 1&#xff0c;记住的方法&#xff0c;从一个方法里面用到了哪些技术 1&#xff0c;let /const块级作用域声明2&#xff0c;**默认参数**&#xff1a;函数参数可以设置默认值。3&#x…...

Redis上篇--知识点总结

Redis上篇–解析 本文大部分知识整理自网上&#xff0c;在正文结束后都会附上参考地址。如果想要深入或者详细学习可以通过文末链接跳转学习。 1. 基本介绍 Redis 是一个开源的、高性能的 内存键值数据库&#xff0c;Redis 的键值对中的 key 就是字符串对象&#xff0c;而 val…...