极限学习机 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 算法虽然没有传统神经网络的准确度高,但是可以被用于需要即时计算的场景中。

目录
相关文章
|
机器学习/深度学习 搜索推荐 算法
Learning Disentangled Representations for Recommendation | NIPS 2019 论文解读
近年来随着深度学习的发展,推荐系统大量使用用户行为数据来构建用户/商品表征,并以此来构建召回、排序、重排等推荐系统中的标准模块。普通算法得到的用户商品表征本身,并不具备可解释性,而往往只能提供用户-商品之间的attention分作为商品粒度的用户兴趣。我们在这篇文章中,想仅通过用户行为,学习到本身就具备一定可解释性的解离化的用户商品表征,并试图利用这样的商品表征完成单语义可控的推荐任务。
23722 0
Learning Disentangled Representations for Recommendation | NIPS 2019 论文解读
|
7月前
|
机器学习/深度学习 算法 数据处理
Stanford 机器学习练习 Part 3 Neural Networks: Representation
从神经网络开始,感觉自己慢慢跟不上课程的节奏了,一些代码好多参考了别人的代码,而且,让我现在单独写也不一定写的出来了。学习就是一件慢慢积累的过程,两年前我学算法的时候,好多算法都完全看不懂,但后来,看的多了,做的多了,有一天就茅塞顿开。所有的困难都是一时的,只要坚持下去,一切问题都会解决的。没忍住发了点鸡汤文。
20 0
|
10月前
|
机器学习/深度学习 编解码 算法
【5分钟 Paper】Dueling Network Architectures for Deep Reinforcement Learning
【5分钟 Paper】Dueling Network Architectures for Deep Reinforcement Learning
|
机器学习/深度学习 编解码 数据挖掘
深度学习论文阅读图像分类篇(三):VGGNet《Very Deep Convolutional Networks for Large-Scale Image Recognition》
在这项工作中,我们研究了卷积网络深度在大规模的图像识别环境下对准确性的影响。我们的主要贡献是使用非常小的(3×3)卷积滤波器架构对网络深度的增加进行了全面评估,这表明通过将深度推到 16-19 加权层可以实现对现有技术配置的显著改进。这些发现是我们的 ImageNet Challenge 2014 提交论文的基础,我们的团队在定位和分类过程中分别获得了第一名和第二名。我们还表明,我们的表示对于其他数据集泛化的很好,在其它数据集上取得了最好的结果。
155 0
|
机器学习/深度学习 算法
Machine Learning-L8-SVM:支持向量机全面解析
Machine Learning-L8-SVM:支持向量机全面解析
Machine Learning-L8-SVM:支持向量机全面解析
|
机器学习/深度学习 算法
周志华《Machine Learning》学习笔记(7)--支持向量机
支持向量机是一种经典的二分类模型,基本模型定义为特征空间中最大间隔的线性分类器,其学习的优化目标便是间隔最大化,因此支持向量机本身可以转化为一个凸二次规划求解的问题。
167 0
周志华《Machine Learning》学习笔记(7)--支持向量机
|
人工智能 算法 关系型数据库
Machine Learning-L17-贝叶斯网络
Machine Learning-L17-贝叶斯网络
Machine Learning-L17-贝叶斯网络
|
机器学习/深度学习 自然语言处理 算法
Machine Learning-L16-概率图模型
Machine Learning-L16-概率图模型
Machine Learning-L16-概率图模型
|
机器学习/深度学习 算法 Python
Machine Learning-L6-逻辑回归
Machine Learning-L6-逻辑回归
Machine Learning-L6-逻辑回归
|
机器学习/深度学习 存储 编解码
【论文泛读】轻量化之MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications(上)
【论文泛读】轻量化之MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
【论文泛读】轻量化之MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications(上)