什么是极限学习机?

极限学习机(ELM, Extreme Learning Machines)是一种前馈神经网络,最早由新加坡南洋理工大学黄广斌教授于2006年提出。该算法具有良好的泛化性能以及极快的学习能力

极限学习机和标准神经网络的区别

ELM 不需要基于梯度的反向传播来调整权重,而是通过 Moore-Penrose generalized inverse来设置权值。

标准的单隐藏层神经网络结构如下:

极限学习机

极限学习机是由Huang等[26]提出的一种特殊类型的单隐含层前馈神经网络.随机初始化其输入权值和偏置并得到对应的输入权重,在ELM模型的整个训练过程中并不需要对模型的各个参数进行调整,只需要对模型隐含层神经元的个数进行设置,最终就可以获得唯一的最优解[45].具有简洁高效,无需调参,训练学习速度较快等优点,其基本网络结构如图1所示.

图1 极限学习机基本结构

极限学习机模型的理论架构如下[26]:ELM模型包括输入层、隐含层和输出层,其中输入层的n个神经元分别与n个输入变量相对应,隐含层有l个神经元,输出层的m个神经元分别与m个输出变量相对应设隐含层神经元的激活函数为g(x),则ELM极限学习机的输出为

其中ωi=[ωi1,ωi2,...,ωin],xj=[x1j,x2j,...,xnj]T,ωi代表输入层神经元与隐含层神经元之间的连接权值,bi表示第i个神经元的偏差也即隐含层阈值. 式(8)也可以表示为Hβ=TT,其中H代表神经网络隐含层的输出矩阵,H的具体形式可以表示为

ELM实现汽油辛烷值预测实例

部分代码:

%%ELM极限学习实现汽油辛烷值预测
%% 训练集/测试集产生
clear all
clc
load xinwan_data.mat
% 随机产生训练集和测试集
temp = randperm(size(NIR,1));%打乱60个样本排序
disp(temp(1:50))
% 训练集——50个样本
P_train = NIR(temp(1:50),:)';
T_train = octane(temp(1:50),:)';
% 测试集——10个样本
P_test = NIR(temp(51:end),:)';
T_test = octane(temp(51:end),:)';
N = size(P_test,2);%% 数据归一化% 训练集
%% 这里函数的作用就是对p_train数据进行归一化处理
[Pn_train,inputps] = mapminmax(P_train);
Pn_test = mapminmax('apply',P_test,inputps);
% 测试集
%% 这里函数的作用就是对T_train数据进行归一化处理
[Tn_train,outputps] = mapminmax(T_train);
Tn_test = mapminmax('apply',T_test,outputps);%% ELM创建/训练
[IW,B,LW,TF,TYPE] = elmtrain(Pn_train,Tn_train,30,'sig',0);%% ELM仿真测试
tn_sim = elmpredict(Pn_test,IW,B,LW,TF,TYPE);
% 反归一化
T_sim = mapminmax('reverse',tn_sim,outputps);

实验共选取60个样本,将50个样本作为训练,10个样本作为测试,测试结果如下图所示:

读者可根据自己的需求更换数据进行测试,代码亲测有效。

完整代码请见详情:

ELM极限学习实现汽油辛烷值预测(MATLAB)相关推荐

  1. 《MATLAB智能算法30个案例》:第25章 有导师学习神经网络的回归拟合——基于近红外光谱的汽油辛烷值预测

    <MATLAB智能算法30个案例>:第25章 有导师学习神经网络的回归拟合--基于近红外光谱的汽油辛烷值预测 1. 前言 2. MATLAB 仿真示例 3. 小结 1. 前言 <MA ...

  2. matlab里BP神经网络实现实例2汽油辛烷值预测

    一.引入 1.首先得到数据,比如数据是从exce导入,也可以是现成的.mat文件.60组汽油样品,利用傅里叶近红外变换光谱仪对其进行扫描,扫描范围900~1700nm,扫描间隔2nm,每个样品的光谱曲 ...

  3. matlab光谱实验,实验四Matlab神经网络及应用于近红外光谱的汽油辛烷值预测

    . 实验四Matlab神经网络以及应用于汽油辛烷值预测 一.实验目的 1. 掌握MATLAB创建BP神经网络并应用于拟合非线性函数 2. 掌握MATLAB创建REF神经网络并应用于拟合非线性函数 3. ...

  4. 有监督学习神经网络的回归拟合——基于红外光谱的汽油辛烷值预测(Matlab代码实现)

    目录 1 概述 2 部分运行结果 3 Matlab代码实现 4 参考文献 1 概述 红外光谱法(IR)属于分子振动光谱技术,波数范围在4000cm-1-400cm-1之间,它的原理是基于分子中各类官能 ...

  5. BP神经网络实现汽油辛烷值预测,《MATLAB源码+数据集》

    发展背景 在人工神经网络的发展历史上,感知机(Multilayer Perceptron,MLP)网络曾对人工神经网络的发展发挥了极大的作用,也被认为是一种真正能够使用的人工神经网络模型,它的出现曾掀 ...

  6. BP神经网络——基于近红外光谱的汽油辛烷值预测

    BP神经网络--基于近红外光谱的汽油辛烷值预测 问题描述 获取数据 解题思路及步骤 1.产生训练集/测试集 2.创建/训练BP神经网络及仿真测试 3.性能评价 4.绘图 Matalab代码 问题描述 ...

  7. 组合预测模型 | PSO-ELM、ELM极限学习机数据回归预测对比(Matlab程序)

    组合预测模型 | PSO-ELM.ELM极限学习机数据回归预测对比(Matlab程序) 目录 组合预测模型 | PSO-ELM.ELM极限学习机数据回归预测对比(Matlab程序) 预测结果 基本介绍 ...

  8. RBF神经网络——基于近红外光谱的汽油辛烷值预测

    RBF神经网络--基于近红外光谱的汽油辛烷值预测 问题描述 辛烷值是汽油最重要的品质指标,传统的实验室检测方法存在样品用量大.测试周期长和费用高等问题,不适用与生产控制,特别是在线测试,近红外光谱分析 ...

  9. 有导师学习神经网络的回归拟合——基于近红外光谱的汽油辛烷值预测

    文章目录 一.理论基础 1.BP神经网络概述 2.RBF神经网络概述 二.案例背景 1.问题描述 2.解题思路与步骤 三.MATLAB程序实现 1.产生训练集/测试集 2.创建/训练BP神经网络及仿真 ...

最新文章

  1. .net使用memcached
  2. [导入]Actual Windows Manager 3.7
  3. Django用法(一)
  4. OpenCASCADE:Android交叉编译 OCCT库
  5. java获取list redis_【快学springboot】14.操作redis之list
  6. CodeForces - 1452E Two Editorials(二阶差分)
  7. debug idea js_IntelliJ IDEA 配置chrome插件调试js代码 - 狂奔的熊二 - 博客园
  8. python Scrapy爬取天气预报,零基础的你也可以快速上手
  9. set获取元素_C++与STL入门(4):关联容器:集合set
  10. 智能优化算法:算术优化算法-附代码
  11. JavaScript 验证统一社会信用代码/营业执照注册号
  12. Ubuntu系统基本操作
  13. jquery仿百度AI官网banner图片代码
  14. 基于networkx的《人民的名义》人物关系图
  15. 计算机桌面文件如何发送给qq好友,QQ怎么与好友分享屏幕 如何共享电脑屏幕给好友...
  16. linux上的两种可执行程序
  17. Python编程从入门到实践第五章部分习题
  18. python PIL将图片转换成九宫格拼图样式
  19. 三层架构中网关在核心与汇聚的区别和实验
  20. python 字符画

热门文章

  1. 基本器件选型之二极管
  2. 透明度与十六进制代码转换
  3. Google Protocol Buffers 之.Net应用
  4. win10 22H2优化了大小核吗?
  5. 时间序列平稳化的 8 种方法比较及Matlab实现
  6. 速腾M1激光雷达调试
  7. 无线式PT二次回路压降测试仪(SXP-W4m)操作程序
  8. linux系统rm什么命令,linux系统中rm命令的详细解释
  9. 如何在iPhone、iPad 和 iPod Touch 上关闭“查找我的网络”?
  10. 迪士尼业务部门大变革,即将强推流媒体