极限学习机(ELM)的使用

极限学习机的理论

在传统的神经网络训练中,我们通常的做法是要通过梯度下降算法来不断的调整隐层与输出层,输出层与隐层之间的权值矩阵,以及偏置b。但是ELM算法指出,其实隐层的权值矩阵W和偏置b其实是没有必要调整的,在学习算法开始时,任意随机给定W和b的值,利用其计算出H(隐层节点的输出),并令其保持不变,需要确定的参数就只有β了。这是一个比较重要的理论基础。

单隐层前向神经网络(SLFN)结构

设前向神经网络的输入层节点数量为P,特征向量的维数与输入节点数量相同;hidden layer的节点数量为L.

则hidden layer的第i个节点的输出为:

g(x;wi,bi)=g(xwi+bi)

则相当于将P维向量映射到L维向量:

h(x)=[g(x;wl,bl),....,g(x;wL,bL)]

其中wi为第输入层节点与隐层节点之间的第i个链接,bi为偏置,g为激活函数,这里使用sigmoid函数:

g(x;wi,bi)=11+e?(xwi+bi)

输出层的节点数记作M;第i个隐层节点和第j个输出层节点之间的权重为,则节点j的输出为:

fj(x)=∑i=1Lβi,j?g(x;wi,bi)(6)

因此输入样本X,他对应的输出为:f(x)=[f1(x),....,fM(x)],其中:

β=??????β1::βL??????=??????β1,1::βL,1...::...β1,M::βL,M??????

在识别阶段,给定一个样本X,则该样本所属类别为:

label(x)=argj=1,....,Mmaxfj(x)

使用ELM训练SLFN分类器

在ELM算法中,input weight and biases 是随机分配的,因此只有β 需要训练

令 yk 表示输入xk 对应的实际的输出向量,则将所有的训练样本带入公式(6)中可以得到:

Hβ=Y

其中:

H=??????h(x1)::h(xN)??????=??????g(x1;w1,b1)::g(xN;w1,b1)...::...g(x1;wL,bL)::g(xN;wL,bL)??????

Y=??????y1::yN??????=??????y1,1::yN,1...::...y1,M::yN,M??????

训练的目标是使得训练误差||T?Hβ||2和输出权重||β||的范数最小。

因此训练过程可以表示为一个有约束最优化问题:

minimize:ψ(β,ξ)=12||β||2+C2||ξ||2subjectto:Hβ=T?ξ

其中C是一个regularization factor,用来平衡拟合函数的平滑度和函数拟合值与真实数据距离差距这两者之间的关系。

可以使用拉格朗日法解决此问题,如果矩阵(IC+HTH)为非奇异矩阵,则

β=(IC+HTH)?1HTT

若矩阵非奇异,则还可有:

β=HT(IC+HHT)?1T

可以看到,矩阵(IC+HTH)是L*L维的矩阵,而(IC+HHT)是N*N维矩阵,因此当训练样本很大时,可以使用(15)对(14)进行降维处理。

该方法只有两个参数要调节:1)隐层节点数L; 2)规范化系数C

训练速度要比传统的神经网络快

实验测试

实验采用的是标志牌识别实验。

使用标志牌识别数据集GTSRB进行测试。我直接使用的该数据集中已经提取好的HOG特征,输入神经网络中训练。

源代码可以参考我的github:https://github.com/JayYangSS/TrafficSignRecognition_ELM

本代码是基于作者的ELM源代码: http://www.ntu.edu.sg/home/egbhuang/

测试43个种类的标志牌,分类准确度:91.94%。限于计算机内存限制,没有使用全部的训练集样本,只使用了训练集的一半,如果使用全部的训练集相信精度可以更高。

时间: 2024-09-29 18:49:00

极限学习机(ELM)的使用的相关文章

简单易学的机器学习算法——极限学习机(ELM)

极限学习机的概念 ELM是一种新型的快速学习算法,对于单隐层神经网络,ELM可以随机初始化输入权重和偏置并得到相应的输出权重. 对于一个单隐层神经网络,假设有N个任意的样本,其中, .对于一个有个隐层节点的单隐层神经网络可以表示为 其中,为激活函数,为输入权重, 为输出权重,是第个隐层单元的偏置. 单隐层神经网络的学习目标是使得输出的误差最小,可以表示为 即存在,和 ,使得 可以矩阵表述为. 其中,是隐层节点的输出,为输出权重,为期望输出. ,

ELM极限学习机

极限学习机(Extreme Learning Machine) ELM,是由黄广斌提出来的求解神经网络算法.ELM最大的特点是对于传统的神经网络,尤其是单隐层前馈神经网络(SLFNs),ELM比传统的学习算法速度更快. ELM是一种新型的快速学习算法,对于单隐层神经网络,ELM 可以随机初始化输入权重和偏置并得到相应的输出权重.对于一个单隐层神经网络,假设有个任意的样本,其中,.对于一个有个隐层节点的单隐层神经网络可以表示为 其中,为激活函数,为输入权重,为输出权重,是第个隐层单元的偏置.表示和

paper 102:极限学习机(Extreme Learning Machine)

原文地址:http://blog.csdn.net/google19890102/article/details/18222103 极限学习机(Extreme Learning Machine) ELM,是由黄广斌提出来的求解神经网络算法.ELM最大的特点是对于传统的神经网络,尤其是单隐层前馈神经网络(SLFNs),ELM比传统的学习算法速度更快. ELM是一种新型的快速学习算法,对于单隐层神经网络,ELM 可以随机初始化输入权重和偏置并得到相应的输 出权重.对于一个单隐层神经网络,假设有个任意

极限学习机(Extreme Learning Machine)学习笔记

最近研究上了这个一个东西--极限学习机. 在很多问题中,我大多会碰到两个问题,一个是分类,另一个就是回归.简单来说,分类是给一串数打个标签,回归是把一串数变为一个数. 在这里我们需要处理的数据一般维度都比较高,在处理这两类问题时最简单的方法就是加权.使那些对最终结果影响大的维度的数据的权设大点,影响小的权设小点.其实,影响小的这些维度的数据对于我们整个建立的模型也不是完全没有用的.至少它们保证了我们整个模型的稳定和鲁棒性. 直到现在我都没有说什么是ELM(极限学习机),因为,它本身还存在很大的争

ELM 极限学习机与SVM支持向量机

在上一篇<DeepLearning 的挑战: Extreme Learning Machine(超限学习机)?> 中介绍了一些ELM与DL 的一些比较,这篇主要介绍ELM的原理. 首先,ELM的核心就是将复杂的迭代过程转变为隐层参数随机产生. 其次,ELM 是一个神经网络,有输入层.隐藏层,输出层. 最后,ELM 的多分类效果优于SVM,而且速度贼快. 对于训练样本集{xi,ti}  i=1-N, 共有N各样本,其中每个样本xi 是一个d维列向量,ti是输出标签. ELM,的输出为: 其中,w

极限学习机

本质:训练前只需设置网络隐层节点和激励函数,训练过程中随机产生网络的输入权值向量和隐层节点偏置,引入矩阵广义逆的思想解析得到网络的输出权值向量,训练过程快速简单,参数选择容易且具有良好的全局搜索能力. 优化点: (1)设置网络隐层节点个数:目前都是经验公式,没有确定的 (2)选择激励函数:目前大多数用sig (3)随机产生网络的输入权值向量和隐层节点偏置:有文献优化

ELM

1.ELM训练函数elmtrain function [IW,B,LW,TF,TYPE] = elmtrain(P,T,N,TF,TYPE) % ELMTRAIN Create and Train a Extreme Learning Machine % Syntax % [IW,B,LW,TF,TYPE] = elmtrain(P,T,N,TF,TYPE) % Description % Input % P   - Input Matrix of Training Set  (R*Q) % T

基于局部感受野的极速学习机

说明 基于局部感受野的极速学习机 摘要内容 引言部分 回顾ELMCNN和HTM 极速学习机ELM ELM特征映射feature mapping ELM特征学习Learning 卷积神经网络CNN 卷积 池化 层级实时记忆HTM 基于局部感受野的极速学习机ELM-LRF A 全连接与局部连接Full and Local Connections B 基于局部感受野的ELM C 组合节点 局部感受野的实现 A ELM-LRF的特殊组合节点 B 随机输入权重 C 平方根池化squaresquare-ro

基于速度学习机的局部感受野

说明 基于速度学习机的局部感受野 摘要内容 引言部分 回想ELMCNN和HTM 极速学习机ELM ELM特征映射feature mapping ELM特征学习Learning 卷积神经网络CNN 卷积 池化 层级实时记忆HTM 基于局部感受野的极速学习机ELM-LRF A 全连接与局部连接Full and Local Connections B 基于局部感受野的ELM C 组合节点 局部感受野的实现 A ELM-LRF的特殊组合节点 B 随机输入权重 C 平方根池化squaresquare-ro