基于深度极限学习机DELM的回归预测

文章目录

  • 基于深度极限学习机DELM的回归预测
    • 1.ELM原理
    • 2.深度极限学习机(DELM)原理
    • 3.实验结果
    • 3.参考文献
    • 4.Matlab代码

1.ELM原理

ELM基础原理请参考:https://blog.csdn.net/u011835903/article/details/111073635。

自动编码器 AE(Auto Encoder)经过训练可以将输入复制到输出。因为不需要标记数据,训练自动编码器是不受监督的。因此,将AE的思想应用到ELM中,使ELM的输入数据同样被用于输出,即输出Y=X。作为自编码器的极限学习机ELM-AE网络结构如图1所示。

图1.ELM-AE网络结构图

若图1中m>L ,ELM-AE实现维度压缩,将高维度数据映射成低维度特征表达;若 m=L,ELM-AE实现等维度的特征表达;若 m<L ,ELM-AE实现稀疏表达,即原始数据的高维特征表达。

综上,ELM-AE是一个通用的逼近器,特点就是使网络的输出与输入相同,而且隐藏层的输入参数(ai,bi)(a_i,b_i)(ai​,bi​)​​随机生成后正交。正交化后的优点有:

(1)根 据 J-L(Johnson-Lindensrauss) 定理,权重和偏置正交化可以将输入数据映射到不同或等维度的空间,从而实现不同功能的特征表达。

(2)权重和偏置的正交化设计可以去除特征以外的噪声,使特征之间均匀,且更加线性独立进而增强系统的泛化能力。

ELM-AE的输出可以用如下表达式表示:
xj=∑i=1LβiG(ai,bi,xj),ai∈Rm,βi∈Rm,j=1,2,...,N,aTa=I,bTb=1(1)x_j=\sum_{i=1}^L \beta_iG(a_i,b_i,x_j),a_i\in R^m,\beta_i\in R^m,j=1,2,...,N,a^Ta=I,b^Tb=1 \tag{1} xj​=i=1∑L​βi​G(ai​,bi​,xj​),ai​∈Rm,βi​∈Rm,j=1,2,...,N,aTa=I,bTb=1(1)
其中aaa是aia_iai​组成的矩阵,bbb是bib_ibi​​组成的向量。隐藏层的输出权重为:
β=(IC+HTH)−1HTX(2)\beta = (\frac{I}{C}+H^TH)^{-1}HTX \tag{2} β=(CI​+HTH)−1HTX(2)
其中,X=[x1,...,xN]X=[x_1,...,x_N]X=[x1​,...,xN​]是输入数据。

2.深度极限学习机(DELM)原理

根据ELM-AE的特征表示能力,将它作为深度极限学习机 DELM的基本单元。与传统深度学习算法相同,DELM 也是用逐层贪婪的训练方法来训练网络,DELM每个隐藏层的输入权重都使用ELM-AE初始化,执行分层无监督训练,但是与传统深度学习算法不同的是DELM不需要反向微调过程。

图2.DELM模型训练过程

DELM的思想是通过最大限度地降低重构误差使输出可以无限接近原始输入,经过每一层的训练,可以学习到原始数据的高级特征。图2描述了DELM模型的训练过程,将输入数据样本X作为第1个ELM-AE的目标输出(X1=XX_1 =XX1​=X​​),进而求取输出权值 β1β_1β1​​​ ;然后将DELM第1个隐藏层的输出矩阵H1H_1H1​​​当作下1个ELM−AEELM-AEELM−AE​的输入与目标输出(X2=XX_2=XX2​=X​),依次类推逐层训练,最后1层用ELMELMELM​​​来训练,使用式(2)来求解DELM的最后1个隐藏层的输出权重βi+1\beta_{i+1}βi+1​​​ 。图2中Hi+1H_{i+1}Hi+1​​​ 是最后1个隐藏层的输出矩阵,T是样本标签。 Hi+1H_{i+1}Hi+1​​每1层隐藏层的输入权重矩阵为Wi+1=βi+1TW_{i+1}=\beta_{i+1}^TWi+1​=βi+1T​​。

3.实验结果

本案例中数据总量为600组,其中训练集和测试集分别划分为400组和200组。输入数据维度为3维,标签数据为1维。数据划分结果如下:

%% 导入数据
load data
%训练集——400个样本
P_train=input(:,(1:400));
T_train=output((1:400));
% 测试集——200个样本
P_test=input(:,(400:600));
T_test=output((400:600));

DELM的参数设置如下:

这里DELM采用2层结构,每层的节点数分别为2,3。采用sigmoid激活函数。

%% DELM参数设置
ELMAEhiddenLayer = [2,3];%ELM—AE的隐藏层数,[n1,n2,...,n],n1代表第1个隐藏层的节点数。
ActivF = 'sig';%ELM-AE的激活函数设置
C = 5; %正则化系数

最终预测结果如下:

训练集预测结果:


测试集预测结果:

从结果上来看DELM的预测值与真实值还是比较接近。

3.参考文献

[1]颜学龙,马润平.基于深度极限学习机的模拟电路故障诊断[J].计算机工程与科学,2019,41(11):1911-1918.

4.Matlab代码

基于深度极限学习机DELM的回归预测相关推荐

  1. ALO_DELM 蚁狮算法优化深度极限学习机回归预测算法

    ALO_DELM 蚁狮算法优化深度极限学习机回归预测算法 蚁狮算法 优化 ELM-AE网络结构 Ant Lion Optimization Deep Extreme Learning Machine ...

  2. 基于核极限学习机KELM、在线顺序极限学习机OS-ELM、在线贯序核极限学习机OSKELM

    基于核极限学习机KELM.在线顺序极限学习机OS-ELM.在线贯序核极限学习机OSKELM.遗忘因子的在线贯列核极限学习F-OSKELM和自适应遗忘因子的在线贯列核极限学习AF-OSKELM数据预测, ...

  3. 【ELM预测】基于鲸鱼算法优化极限学习机实现数据回归预测附matlab代码

    1 简介 为判断中国是否能够实现2030年碳排放强度下降60%-65%的承诺,以及碳排放总量是否能够在2030年达到峰值,论文构建了一个基于鲸鱼优化算法改进的极限学习机模型,对2019-2040年的碳 ...

  4. 【回归预测-DELM】基于多元宇宙优化算法改进深度学习极限学习机实现数据回归预测附matlab代码

    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.

  5. 【DELM回归预测】基于matlab多元宇宙优化算法改进深度学习极限学习机数据回归预测【含Matlab源码 2230期】

    ⛄一.多元宇宙优化算法 MVO是Seyedali Mirjalili受到多元宇宙理论的启发提出来的元启发式优化算法.主要根据多元宇宙理论的3个主要概念-白洞.黑洞和虫洞,来建立数学模型. MVO算法中 ...

  6. 【预测模型-ELM预测】基于麻雀算法优化极限学习机预测附matlab代码

    1 内容介绍 一种基于麻雀搜索算法优化极限学习机的风电功率预测方法,具体包括如下步骤:步骤1,确定影响风电功率的主导影响因子:步骤2,构建麻雀搜索算法优化核极限学习机预测模型,通过该模型对风电功率进行 ...

  7. 文献综述--------山东某地区基于深度学习神经网络的配电网负荷预测研究

    摘  要:地区电网负荷预测是供电企业在电网建设.运营过程中一项十分要的基础性的工作.小到一个企业的负荷预测,大到全国性电网的负荷预测研究,它的应用结果都会对适用范围内的企业经营管理.电力设施(电网)的 ...

  8. 基于深度混合核极限学习机的多变量输入时间序列预测

    0.前言 深度混合核极限学习机的时间序列预测方法:首先采用多层ELM-AE实现抽象特征提取,然后将提取的抽象特征用来训练一个混合核极限学习机实现分类.深度混合核极限学习机实际上是由多层极限学习机+HK ...

  9. 极限学习机︱R语言快速深度学习进行回归预测

    本文转载于张聪的博客,链接:https://ask.hellobi.com/blog/zason/4543. 深度学习在过去几年,由于卷积神经网络的特征提取能力让这个算法又火了一下,其实在很多年以前早 ...

  10. 浅层神经网络回归预测,基于MATLAB。 模型包括BPNN,极限学习机(ELM)和Elman网络

    浅层神经网络回归预测,基于MATLAB. 模型包括BPNN,极限学习机(ELM)和Elman网络(循环神经网络的一种). 有实例,直接替换数据可运行. 有训练集和测试集的划分,可直接套数据. 可以进行 ...

最新文章

  1. 领悟Web设计模式(转)
  2. SQL Server 2005即将终止服务 你准备好了么?
  3. C++学习笔记2[表达式与语句]
  4. 利旧IBM X3650m2 安装esxi5.1提供云桌面(备忘)
  5. C语言多文件编程基本格式
  6. wamp替换mysql_将wamp集成的mysql替换成安装版的
  7. ASP.NET中 TextBox控件使用 ReadOnly=true 属性
  8. LongAdder原理
  9. 测试网速_使用Speedtest CLI测试你的网速
  10. 将一个 iOS 设备变成 iBeacon
  11. N个球放M个盒子问题
  12. 第2章 Spring Boot实践,开发社区登录模块(上)
  13. 手机性能对比测试要点
  14. 驱动 | 在linux下DPDK的部署及使用
  15. JVM(六)---jvm压缩指针
  16. 炼丹系列2: Stochastic Weight Averaging (SWA) Exponential Moving Average(EMA)
  17. 静默安装VC_redist.x64.exe
  18. promentheus的组件有_四级考试写作:书信类话题范文模板
  19. [文档].Actel – Actel HDL Coding Style Guide
  20. mac备忘录html,10个高效使用苹果备忘录的方法:iPhone、iPad、Mac

热门文章

  1. python 窗口键 键位码_Python制作AI贪吃蛇,很多很多细节、思路都写下来了
  2. cordova打开外部链接_企业网盘的分享链接功能 这种的你一定没见过
  3. vue中的组件 (全局注册和本地注册组件)
  4. c#用canny算子做边缘提取_【从零学习OpenCV 4】Canny算法
  5. java线程同步的作用_Java并发编程之线程同步
  6. qt中如何模拟按钮点击_怎么在qt中实现一个按钮列表?
  7. 多台电脑集群运算_Linux服务器集群概念辨识
  8. android连接airprint打印机,AirPrint:iOS的打印机
  9. huffman树_Java使用哈夫曼树实现文件压缩的原理及实现
  10. Javascript:ES6模块化开发报错:Uncaught SyntaxError: Cannot use import statement outside a module