极限学习机 Extreme Learning Machines 介绍

简介: 极限学习机 Extreme Learning Machines 介绍

什么是极限学习机?

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

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

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

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

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

image.png

单隐藏层神经网络

其计算过程如下:

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

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

极限学习机计算过程

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

image.png

式中:

L 是隐藏单元的数量;

N 是训练样本的数量;

beta 是第 i 个隐藏层和输出之间的权重向量;

w 是输入和输出之间的权重向量;

g 是激活函数;

b 是偏置向量;

x 是输入向量。

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

image.png


式中:

m 是输出的数量;

H 是隐藏层输出矩阵;

T 是训练集目标矩阵;

ELM 主要相关理论

定理一:

image.png

定理二:

image.png

定理三:

image.png

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

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

image.png

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

image.png

ELM 算法

ELM 算法主要过程有:

  1. w_i,b_i,i=1,L 随机初始化
  2. 计算隐藏层输出 H
  3. 计算输出权重矩阵

image.png

  1. 利用 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 方法对不同的数据集进行了计算,结果如下:

image.png


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

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

image.png

总结

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

目录
相关文章
|
3月前
|
机器学习/深度学习 算法
【文献学习】RoemNet: Robust Meta Learning based Channel Estimation in OFDM Systems
本文提出了一种基于元学习的鲁棒信道估计算法RoemNet,旨在解决OFDM系统中由于训练和部署信道模型不一致导致的问题,并展示了其在不同信道环境下优越的性能。
39 5
|
机器学习/深度学习 搜索推荐 算法
Learning Disentangled Representations for Recommendation | NIPS 2019 论文解读
近年来随着深度学习的发展,推荐系统大量使用用户行为数据来构建用户/商品表征,并以此来构建召回、排序、重排等推荐系统中的标准模块。普通算法得到的用户商品表征本身,并不具备可解释性,而往往只能提供用户-商品之间的attention分作为商品粒度的用户兴趣。我们在这篇文章中,想仅通过用户行为,学习到本身就具备一定可解释性的解离化的用户商品表征,并试图利用这样的商品表征完成单语义可控的推荐任务。
23828 0
Learning Disentangled Representations for Recommendation | NIPS 2019 论文解读
|
3月前
|
机器学习/深度学习 移动开发 算法
【博士每天一篇文献-模型】Deep learning incorporating biologically inspired neural dynamics and in memory
本文介绍了一种结合生物学启发的神经动力学和内存计算的深度学习方法,提出了脉冲神经单元(SNU),该单元融合了脉冲神经网络的时间动力学和人工神经网络的计算能力,通过实验分析显示,在手写数字识别任务中,基于SNU的网络达到了与循环神经网络相似或更高的准确性。
19 1
【博士每天一篇文献-模型】Deep learning incorporating biologically inspired neural dynamics and in memory
|
3月前
|
机器学习/深度学习 算法 调度
【博士每天一篇文献-算法】Neurogenesis Dynamics-inspired Spiking Neural Network Training Acceleration
NDSNN(Neurogenesis Dynamics-inspired Spiking Neural Network)是一种受神经发生动态启发的脉冲神经网络训练加速框架,通过动态稀疏性训练和新的丢弃与生长策略,有效减少神经元连接数量,降低训练内存占用并提高效率,同时保持高准确性。
40 3
|
6月前
|
Python
[Knowledge Distillation]论文分析:Distilling the Knowledge in a Neural Network
[Knowledge Distillation]论文分析:Distilling the Knowledge in a Neural Network
36 1
|
机器学习/深度学习 算法 vr&ar
Machine Learning-L19-条件随机场
Machine Learning-L19-条件随机场
Machine Learning-L19-条件随机场
|
机器学习/深度学习 算法
Machine Learning-L8-SVM:支持向量机全面解析
Machine Learning-L8-SVM:支持向量机全面解析
Machine Learning-L8-SVM:支持向量机全面解析
|
机器学习/深度学习 算法
周志华《Machine Learning》学习笔记(7)--支持向量机
支持向量机是一种经典的二分类模型,基本模型定义为特征空间中最大间隔的线性分类器,其学习的优化目标便是间隔最大化,因此支持向量机本身可以转化为一个凸二次规划求解的问题。
212 0
周志华《Machine Learning》学习笔记(7)--支持向量机
|
机器学习/深度学习 算法
周志华《Machine Learning》学习笔记(4)--线性模型
笔记的前一部分主要是对机器学习预备知识的概括。
152 0
周志华《Machine Learning》学习笔记(4)--线性模型
|
机器学习/深度学习 算法 数据挖掘
周志华《Machine Learning》学习笔记(6)--神经网络
在机器学习中,神经网络一般指的是“神经网络学习”,是机器学习与神经网络两个学科的交叉部分。
103 0
周志华《Machine Learning》学习笔记(6)--神经网络