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

server/2024/12/16 10:06:16/

文章目录

  • day05
    • 分而治之中的MARS算法
    • 神经网络逼近能力解释

day05

今天是第5天,昨日从统计分析开始利用统计学的知识判断当前样本的分布以及估计总体的参数和假设检验的情况,以及介绍了线性回归算法的相关优化点,但是毕竟线性回归是线性划分的,实际情况很多是非线性的,比如温度对故障可能在低温没什么影响但是高温却急剧的增加影响,这就需要分区进行建模,今天将学习多元自适应回归样条算法(MARS)以及神经网络算法(该小节只讲述了部分,后面会有专门的深度学习小节)

分而治之中的MARS算法

相比较传统的线性回归最大的不同在于将数据分为不同区间,然后在每个区间内进行局部的线性回归,具体来说:

  • 数据划分(分区间)

    • 在传统的线性回归中,我们假设所有的数据点都符合一个统一的线性关系(比如 y = a * x + b)。但实际上,数据中可能存在非线性关系,例如温度对故障的影响,在低温区间可能没有太大影响,但在高温区间可能会急剧增加故障风险。
    • MARS 会将数据分成多个区间(或者叫“段”)。每个区间的线性关系可能不同,它会在不同的区间内用不同的线性方程来拟合数据。
  • 基函数(分段线性回归)

    • MARS 的每个区间都有一个 基函数,这些基函数通常是分段的线性函数。例如,假设我们正在研究温度(T)与故障之间的关系,MARS 可能会根据温度的不同值划分为多个区间,并在每个区间内使用线性回归来拟合数据。

    • 比如:

      • T < 30 时,模型可能是 故障风险 = a1 * T + b1

      • 30 ≤ T < 35 时,模型可能是 故障风险 = a2 * T + b2

      • T ≥ 35 时,模型可能是 故障风险 = a3 * T + b3

    • 每个区间内都有自己的一组参数(a1, b1, a2, b2, 等),这些参数会根据该区间的数据来确定。

  • 如何选择分裂点?

    • MARS 算法会通过一种 贪心算法,在数据中选择最能降低误差的分裂点(比如,温度在哪个值附近划分最能提升模型的拟合效果)。
    • 比如,它会尝试不同的温度值来进行分区(如 30°C,35°C 等),然后计算每个分裂点所带来的误差减少,最终选择最能改善模型的分裂点。
  • 逐步建模和剪枝:在前向建模过程中,MARS 会不断添加新的基函数来提高模型的精度,每加一个新的分段模型,都会计算模型的误差,直到误差不能再显著下降。然后,后剪枝会去除一些对模型贡献较小的基函数,保持模型的简洁性,避免过拟合。

特点线性回归MARS
拟合关系线性关系(y = ax + b)非线性关系(通过分段线性回归拟合)
模型复杂度简单,只有一个公式较复杂,多个分段回归模型
处理非线性能力只能处理线性关系能自动处理复杂的非线性关系
模型解释性易于理解,参数(a, b)有明确物理意义较复杂,但每个分段也有物理意义
计算复杂度计算速度快,适合小数据计算较慢,适合复杂问题
适用场景数据关系简单,线性数据关系复杂,有多段不同的线性关系

举例说明:假设正在做一个机房故障预测模型,其中有两个变量:温度(T)湿度(H),并且你发现它们与故障之间的关系可能不是简单的线性关系。比如:

  • 当温度低于某个值时,湿度对故障影响较小。
  • 但当温度超过某个阈值时,湿度对故障的影响会急剧增加。

传统的线性回归只能拟合一个整体的线性关系(例如 故障风险 = a1 * T + a2 * H + b),但它可能无法准确捕捉到温度和湿度之间的这种非线性交互关系。MARS 会根据数据自动选择适合的温度和湿度的分裂点(例如 T = 30H = 50%),并在每个区间内使用不同的线性回归模型来拟合数据,这样就能更精确地捕捉到不同环境条件下的故障风险。

下面是对比类似的算法,都是采用:分而治之的思想

算法基本原理优点缺点举例
MARS数据分成多个区间,每个区间用简单的线性回归来拟合。适应非线性关系,能够处理高维数据。模型划分和边界处理较复杂,计算量大。比如在机房温湿度监控中,不同时间段和不同区域的温湿度影响因素不同,可以根据不同时间段(如白天、夜晚)和区域(如机架区、空调区)建立不同的线性模型。
CART通过递归分割数据,按不同条件划分每个区域,进行回归或分类。简单直观,结果易于解释。容易过拟合,需要剪枝,无法处理复杂非线性。在机房电力负荷预测中,根据温湿度、设备运行状况等条件,递归划分数据,判断不同条件下的负荷预测。比如当温度高于某一阈值时,负荷增加,模型会根据这些条件做决策。
PPR将数据投影到低维空间,再用多个非线性函数组合进行拟合。能处理复杂的非线性关系。计算复杂,模型解释性差。在机房空调系统的能效预测中,温度、湿度、设备负载等多个因素共同作用,PPR可以将这些复杂的因素投影到低维空间,通过多个非线性函数综合分析,预测空调系统的能效表现。

神经网络逼近能力解释

本节重点针对的是ANN,不做其他讨论,我们都知道ANN是一个三层结构的网络,包括输入层、隐含层和输出层,可以做分类、回归任务,所以在增加隐含层节点的前提下,ANN算法具有无限的函数逼近的能力,但是如何理解其逼近能力?神经元通常采用sigmoid作为激活函数.

  • 当权重参数很大时,sigmoid函数的输出会趋近于0或1,这样它的行为就像一个阶跃函数了。简单来说,当权重很大时,sigmoid函数的曲线变得几乎是一个“断崖”,这使得它能做类似阶跃函数的决策。

    • Sigmoid函数:形状像"S"字母的曲线,它的输出范围是(0, 1),对于较大的输入值,它的变化就会变得非常陡峭。
    • 阶跃函数:是一个非常简单的函数,当输入超过某个阈值时输出为1,否则输出为0。它像一个“开关”,只输出两个值。
  • 多个阶跃函数通过不同的偏移参数和加权,可以构成复杂的分段函数

    • 在神经网络中,每个神经元可以看作是一个小的决策单元,如果我们用多个神经元的阶跃函数(或sigmoid等函数)组合起来,就能够在不同的输入范围内形成不同的输出,这些不同的输出在一起就构成了一个复杂的分段函数
    • 分段函数:在不同的区间内,函数的表现不同。神经网络通过多个层次的神经元,每层可以通过不同的加权和偏移,形成对输入的不同处理,从而逼近复杂的目标函数。
  • 实际的ANN模型不是简单的分段逼近,而是通过损失函数的梯度下降与反向传播

    • 梯度下降:是一种优化方法,用来最小化神经网络输出与目标值之间的差距(即损失)。通过计算梯度并更新参数,逐步调整权重和偏置,使网络的预测越来越准确。
    • 反向传播:在训练过程中,通过反向传播算法计算误差的梯度,并利用梯度下降方法来更新每一层神经元的参数。反向传播确保网络能够根据数据中的模式调整其内部结构。

ELM的模型结构和ANN一致,但是训练参数(输入层、隐含层)阶段和输出层权重计算方式不一样,可查验下表,核心就是输入层、隐含层参数随机固定,计算输出层就把问题转换为了简单的线性问题。所以ELM算法比传统神经网络的准确度偏差,但是计算量低很多,可以用在一些需要即时计算的场景。

特性极限学习机(ELM)人工神经网络(ANN)
参数训练只训练输出层的权重,隐藏层权重随机初始化且固定训练所有层的权重和偏置,通过反向传播调整
求解参数通过线性方法(如最小二乘法)直接求解输出层权重通过梯度下降和反向传播迭代求解所有参数

http://www.ppmy.cn/server/150600.html

相关文章

Vue 核心特性:响应式

Vue的核心特性之一是响应式。这意味着当Vue实例的数据发生变化时&#xff0c;相关的DOM会自动更新。这是通过Vue的响应式系统来实现的。 Vue的响应式系统通过使用Object.defineProperty方法来劫持对象的属性访问&#xff0c;从而达到监听数据变化的目的。当数据发生变化时&…

使用Spring Boot构建高效的RESTful API

目录 1. RESTful API简介 2. 准备工作 2.1 创建Spring Boot项目 2.2 项目结构 3. 构建API 3.1 创建数据模型 3.2 创建Repository 3.3 创建Controller 3.4 配置文件 3.5 运行项目 4. 测试API 5. 图表展示 5.1 用户数据分布 5.2 请求响应时间分析 5.3 数据库连接状…

【论文速读】| AttackQA:利用微调及开源大语言模型辅助网络安全运营的数据集的开发与应用

基本信息 原文标题: AttackQA: Development and Adoption of a Dataset for Assisting Cybersecurity Operations Using Fine-Tuned and Open-Source LLMs 原文作者: Varun Badrinath Krishna 作者单位: SambaNova Systems 关键词: 网络安全、检索增强生成&#xff08;RAG&…

计算机基础 原码反码补码问题

整数的二进制的表示形式&#xff1a;其实有三种 原码&#xff1a;直接根据数值写出的二进制序列就是原码 反码&#xff1a;原码的符号位不变&#xff0c;其他位按位取反就是反码 补码&#xff1a;反码1&#xff0c;就是补码 负数&#xff1a;-1 以补码形式存放在内存 写出 -1…

Vue组件相关记录

Vue组件开发 非单文件组件 创建组件api Vue.extend({}) const student Vue.extend({template: <div>{{studentName}} - {{age}}</div>,data() {return {studentName: jjking,age: 12}}})new Vue({el: #app,//局部注册components: {student: student}})不能使用e…

数据链路层(Java)(MAC与IP的区别)

以太网协议&#xff1a; "以太⽹" 不是⼀种具体的⽹络, ⽽是⼀种技术标准; 既包含了数据链路层的内容, 也包含了⼀些物理 层的内容. 例如: 规定了⽹络拓扑结构, 访问控制⽅式, 传输速率等; 例如以太⽹中的⽹线必须使⽤双绞线; 传输速率有10M, 100M, 1000M等; 以太…

修炼之道 --- 其二

序言 在这篇文章中的内容&#xff0c;我们主要关注 C 和计算机网络 方面&#xff0c;在今天的文章中可有一个重量级嘉宾 虚函数。在回答问题的同时&#xff0c;引发了一些我的疑问。有些超出我能力的问题我可能不会解释那么好&#xff0c;欢迎大家指针&#xff01;  话不多说&…

CSS系列(14)--后处理器详解

前端技术探索系列&#xff1a;CSS 后处理器详解 &#x1f527; 致读者&#xff1a;探索 CSS 工程化的未来 &#x1f44b; 前端开发者们&#xff0c; 今天我们将深入探讨 CSS 后处理器&#xff0c;特别是 PostCSS 的使用及其生态系统。 PostCSS 基础 &#x1f680; 配置与使…