什么是极限学习机?

极限学习机(ELM, Extreme Learning Machines)是一种前馈神经网络,最早由新加坡南洋理工大学黄广斌教授于2006年提出。其发表的文章中对于极限学习机的描述如下:

该算法具有良好的泛化性能以及极快的学习能力

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

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

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

单隐藏层神经网络

其计算过程如下:

  1. 输入值乘以权重值
  2. 加上偏置值
  3. 进行激活函数计算
  4. 对每一层重复步骤1~3
  5. 计算输出值
  6. 误差反向传播
  7. 重复步骤1~6

而 ELM 则对其进行了如下改进:去除步骤4;用一次矩阵逆运算替代步骤6;去除步骤7。

极限学习机计算过程

具体地,ELM 计算过程如下:


式中:

L 是隐藏单元的数量;
N 是训练样本的数量;

beta 是第 i 个隐藏层和输出之间的权重向量;
w 是输入和输出之间的权重向量;
g 是激活函数;
b 是偏置向量;
x 是输入向量。

极限学习机的计算过程与标准反向传播神经网络十分类似,但是隐藏层与输出之间的权重矩阵是伪逆矩阵。
将上式可以简写为:



式中:

m 是输出的数量;
H 是隐藏层输出矩阵;
T 是训练集目标矩阵;

ELM 主要相关理论

定理一:

定理二:

定理三:

了解了上述定理后,现在我们要做的是定义我们的代价函数。如果输入权重和隐层层偏差可以随机选择,那么SLFN是一个线性系统。

由于我们考虑的 ELM 是一个线性系统,那么可以设计优化函数:

由于 H 是可逆的,所以计算如下:

ELM 算法

ELM 算法主要过程有:

  1. w_i,b_i,i=1,L 随机初始化
  2. 计算隐藏层输出 H
  3. 计算输出权重矩阵[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gJKy7Hb8-1591837856202)(p6.png)]
  4. 利用 beta 在新的数据集上进行预测 T

Python 应用案例见https://github.com/burnpiro/elm-pure

其中,基础的 ELM 算法就能够在 MNIST 数据集达到 91%以上的准确率,并且在 intel i7 7820X CPU 平台上通过 3s 就能够计算完成。

性能对比

首次提出 ELM 的论文中,于2006年通过 Pentium 4 1.9GHz CPU 用 ELM 方法对不同的数据集进行了计算,结果如下:



很明显梯度下降比矩阵反转需要更长的训练时间。此结果表中最重要的信息是准确性和节点数。在前两个数据集中,可以看到作者使用了不同大小的BP来获得与ELM相同的结果。在第一种情况下,BP网络的大小是原来的5倍,在第二种情况下,BP网络的大小是原来的2倍。也说明了 ELM 方法在逼近数据集时有很高的精确性。

本文也对两个具有代表性的数据集(CIFAR-10, MNIST)进行了分析,结果如下:

总结

ELM 算法虽然没有传统神经网络的准确度高,但是可以被用于需要即时计算的场景中。

极限学习机 Extreme Learning Machines 介绍相关推荐

  1. 极限学习机(Extreme Learning Machine)ELM

    二.ELM 1.算法介绍及功能 极限学习机(Extreme Learning Machine) ELM是一种针对单隐含层前馈神经网络(Single-hiddenLayerFeedforwardNeur ...

  2. MATLAB机器学习系列-8 极限学习机(Extreme Learning Machine, ELM)原理及其代码实现

    极限学习机(Extreme Learning Machine, ELM) 极限学习机网络结构和BP网络结构类似. 和BP神经网络不同点: 极限学习机输入层到隐含层的权重W是可以随意指定的.BP神经网络 ...

  3. 极限学习机(Extreme Learning Machine)概述

    摘要 当今研究领域的一项事实就是,前向神经网络(feed-forward neural networks)的训练速度比人们所期望的速度要慢很多.并且,在过去的几十年中,前向神经网络在应用领域存在着很大 ...

  4. 极限学习机(Extreme Learning Machine, ELM)的训练与预测matlab仿真

    目录 1.算法概述 2.仿真效果 3.MATLAB仿真源码 1.算法概述 极限学习机(ELM)是当前一类非常热门的机器学习算法,被用来训练单隐层前馈神经网络(SLFN

  5. 极限学习机(Extreme Learning Machine)(小白之路)

    优秀的博客已经很多了,在这里我粘贴一些对我有帮助的博客,感谢大佬们!(既有原理 也有 一些实现[python 和 matlab]): ①极限学习机(Extreme Learning Machine, ...

  6. 【UWB】ELM,Extreme Learning Machine 极限学习机

    文章目录 例子 1 例子 2 Ref. 例子 1 % 任务2: ELM 网络 % Date: 2021-10-15 % Author: Zhao-Jichao clear clc%% 训练 % 导入数 ...

  7. 【UWB】ELM 极限学习机原理及公式推导

    文章目录 简介 Ref: 关于代码实现请参考:[UWB]ELM,Extreme Learning Machine 极限学习机 简介 极限学习机(Extreme Learning Machine) EL ...

  8. 【ELM预测】基于粒子群算法改进极限学习机ELM实现数据预测matlab源码

    一.极限学习机的概念 极限学习机(Extreme Learning Machine) ELM,是由黄广斌提出来的求解单隐层神经网络的算法. ELM最大的特点是对于传统的神经网络,尤其是单隐层前馈神经网 ...

  9. 【ELM预测】基于极限学习机ELM实现数据预测matlab源码

    一.极限学习机的概念 极限学习机(Extreme Learning Machine) ELM,是由黄广斌提出来的求解单隐层神经网络的算法. ELM最大的特点是对于传统的神经网络,尤其是单隐层前馈神经网 ...

最新文章

  1. vue根据不同权限显示图片_vue如何实现路由权限控制
  2. ubuntu安装迅雷软件
  3. promise和Angular中的 $q, defer
  4. 3.1.3 覆盖与交换
  5. jQuery插件scrollToTop 4行代码实现网站回到顶部
  6. php 匹配div正则表达式,Php正则表达式匹配div
  7. Android 如何全局获取Context
  8. R6300V2 从 DD-WRT 回刷恢复 官方原厂固件   DD-WRT to R6300V2
  9. deepin 下安装xdroid
  10. Racket编程指南——24 命令行工具和你的编辑器选择
  11. npm出现UNMET DEPENDENCY的一种情况
  12. 常见的浏览器指纹包含哪些
  13. Redis主从复制 AKF
  14. Gitlab关闭开放注册功能
  15. IT 大牛们的小传,有点academic风格的说^_^
  16. Linux第四章:1.Linux关机、重启、休眠、切换用户命令大全
  17. idea配置logback彩色日志
  18. 生信格式 | BedGraph(基因组浏览器绘制)
  19. Vue监听器的基本使用(监听属性-深度监听和立即执行)
  20. 引进软件国际标准,培养高级软件人才

热门文章

  1. 华为海思 verilog 笔试准备
  2. matlab对信号的滤波方法
  3. springboot项目本地运行无问题,Linux系统报错org.thymeleaf.exceptions.TemplateInputException
  4. python字典经典例题_Python小白--------基础练习题(列表,元组,字典)
  5. 怎么将服务器上的文件下载到本地电脑上
  6. NFA到DFA的转换及DFA的简化
  7. beyond compare java_文件内容比较工具---Text compare Beyond compare
  8. C语言的fgets() 与 gets()
  9. 数据结构复习题(线性表)
  10. HTML Table之展开收起