超限学习机(ELM)、在线顺序超限学习机(OS-ELM)

news/2024/10/30 16:00:57/

概念

ELM是一种应用于训练SLFN的算法,传统的单隐层前馈神经网络(Single hidden Layer Feedforward Network, SLFN)由于其结构简单、训练速度快且具有较高的泛化能力等特点,已经在模式识别、信号处理、短期预测等领域有了很多应用成果。相比于传统的基于梯度下降的BP算法来训练SLFN,ELM具有更好的泛化能力和更快的训练速度。

虽然,国内外对ELM的评价褒贬不一,但是本着学习的态度就稍稍整理一下了。

超限学习机(ELM,Extreme Learning Machine)

1、ELM学习理论

ELM的提出目的是为了解决人工神经网络训练时耗费的时间和高成本。对此,黄教授提出了ELM学习理论:

机器或者生物学习可以不需要调整隐层节点:给定任何连续目标函数或者可分类目标,只要前馈神经的隐层节点是非线性阶段连续的,神经网络无需调整隐层节点就能任意逼近目标连续函数或者对分类目标加以区分。

ELM考虑的主要问题在于高泛化能力、尽可能少的人工干预以及实时学习。

2、ELM实现原理

下面是ELM网络的结构,从直观上看,就是一个SLFN的结构图。

在隐层中的每个节点处,有如下定义:

i i i个隐层节点的输出方程为: h i ( x ) = G ( a i , b i , x ) h_{i}(x) = G(a_{i}, b_{i}, x) hi(x)=G(ai,bi,x)
其中 a i , b i a_{i} , b_{i} ai,bi为第 i i i个隐层节点的参数,可以理解为对应的输入权重和节点的偏向。 G ( . ) G(.) G(.)则是相应的激活函数,当选取不同激活函数时,得到的表现形式也便不同:
S i g m o i d : G ( a i , b i , x ) = g ( a i × x + b i ) Sigmoid:G(a_{i},b_{i},x) = g(a_{i} \times x + b_{i}) Sigmoid:G(ai,bi,x)=g(ai×x+bi)
R B F : G ( a i , b i , x ) = g ( b i ∣ ∣ x − a i ∣ ∣ ) RBF:G(a_{i},b_{i},x) = g(b_{i}||x-a_{i}||) RBF:G(ai,bi,x)=g(bixai)
F o u r i e r S e r i e s : G ( a i , b i , x ) = c o s ( a i × x + b i ) Fourier Series:G(a_{i},b_{i},x) = cos(a_{i}\times x + b_{i}) FourierSeries:G(ai,bi,x)=cos(ai×x+bi)

最后再根据任务是做分类还是回归,单分类还是多分类来进行加权求和得到输出结果:
f ( x ) = ∑ i = 1 L β i G ( a i , b i , x ) = β H f(x) = \sum_{i=1}^{L}\beta_{i}G(a_{i},b_{i},x)=\beta H f(x)=i=1LβiG(ai,bi,x)=βH

对于有 N N N个批次的样本 x i , i = 1 , 2 , 3... , N x_{i}, i=1,2,3...,N xi,i=1,2,3...,N,对应的目标值为 t i , i = 1 , 2 , 3... , N t_{i},i=1,2,3...,N ti,i=1,2,3...,N,这样,目标函数就是使得 m i n ∣ ∣ f ( X ) − T ∣ ∣ min||f(X) - T|| minf(X)T,等价于最小化损失函数 E = ∑ i = 1 N [ f ( x i ) − t i ] 2 E=\sum_{i=1}^{N}[f(x_{i}) - t_{i}]^{2} E=i=1N[f(xi)ti]2,这里通过传统的梯度下降不断迭代就可以调整所有的参数,而在ELM算法中,由于隐层的输入权重 a L a_{L} aL 和偏向 b L b_{L} bL 是随机产生的,也就是矩阵 H H H是固定的,所以训练过程只需要求解方程 β H = T \beta H = T βH=T中的输出权重 β \beta β就可以了,也就是 β ^ = T H T \hat{\beta} = TH^{T} β^=THT

在线顺序超限学习机(OS-ELM,Online Sequential Extreme Learning Machine

因为ELM是一种 batch based 的算法,所以这就意味着在训练阶段,它需要获得所有的训练数据,然后 train then test,而不是随着新数据的到来在线更新。所以黄广斌教授的团队又提出了在线顺序超限学习机算法,用于在线学习并更新网络参数,OS-ELM具备了ELM的速度和泛化能力上的优点,并且可以随着新数据的到来不断更新模型,而不是重新训练模型

OS-ELM分为两个部分,第一部分为通过少量的训练样本,利用ELM算法计算并初始化输出权重 β 0 \beta_{0} β0;第二部分开始在线学习,每次当一个新的数据样本到来时,通过一个递推公式得到新的输出权重 β 1 \beta_{1} β1,从而实现在线且快速的训练,具体的关于 β \beta β的递推公式推导可以参考大佬 https://blog.csdn.net/google19890102/article/details/45273309 的文章。

总结

关于业内对于ELM算法褒贬不一的原因还是其算法的简单、随机产生权重的不稳定,ELM利用随机初始化输入权重将求解输出权重转换为矩阵运算,通过一个单隐层的前馈神经网络来匹敌深度神经网络的复杂的梯度下降迭代的训练过程,确实让从事深度神经网络研究的一些人不得不产生质疑,但是毕竟ELM的成果也是很多的,所以一些短期预测、分类或者在线学习的问题还是可以使用的,毕竟只是个工具,用对了自然有其work的地方。

Ref

黄教授2016年会议关于ELM的ppt
简单易学的机器学习算法——极限学习机(ELM)
简单易学的机器学习算法——在线顺序极限学习机OS-ELM


http://www.ppmy.cn/news/143545.html

相关文章

疫情肆虐 三大学习机对比评测 助你在家预习

我们挑选了三款相近价位的不同型号来进行横向对比,分别是读书郎学生平板G550A、步步高家教机S3 Pro以及优学派学生平板U27,配置表如下: 从硬件对比上看,在同价位里三款产品差异不大,步步高S3 Pro屏幕尺寸稍小&#xff…

K8s相关常用命令

一、查看相关信息 查看pod相关信息 kubectl get pod --all-namespaces|grep 关键字 kubectl get po --all-namespaces -owide |grep 关键字 kubectl describe pod -n namespace 查看service相关信息 kubectl get svc -n namespace |grep 关键字 pod调度 kubectl get no…

iphone usb开热点无法共享上网

iphone开热点给电脑,插入数据线,理论上是可以上网的,但实际在我机器上是不行的,反复对比了一下 用5.10的deepin社区版是可以的,但用4.19内核的UOS就死活不行,网络,网关啥都是好的,就是不发包。 …

6s如何无线连电脑连接服务器,iPhone6s用itunes wifi同步到电脑图文教程

iPhone6s用itunes wifi同步到电脑教程,iPhone6s/6s Plus已经开售几天了,越来越多的果粉拿到了心仪的新机,不过对于部分新手果粉来说,iPhone6s怎么用iTunes同步呢?要知道,用iTunes同步/备份是保证手机中重要…

怎样使用计算机进行上网,台式电脑如何利用ipnone手机进行上网

随着移动互联网的发展,移动智能终端市场的竞争日益加剧。在中高端智能手机市场中,以iOS为操作系统的iPhone广受用户欢迎,而最近有很多小伙伴问小编台式电脑如何利用ipnone手机进行上网,下面就由学习啦小编跟大家分享具体的操作方法吧,希望对大…

关于MacBook Pro和iPhone和iPad连接无线WIFI不能上网的问题

关于MacBook Pro和iPhone和iPad连接无线WIFI不能上网的问题 三台设备连接的是同一台路由器(我的是腾达路由器),经常显示无线WIFI正常连接的图标,但就是上不去网,(只连接MacBook Pro的时候也是显示有IP,但上…

iphone不能网络连接到服务器未响应,iphone用usb上网没反应怎么办

以iPhone11,IOS13,win10系统为例: 1、首先右击开始按钮。然后点击运行。 2、之后输入services.msc。然后点击确定。之后双击Apple Mobile Device Service。 3、看下是否正在运行,不在运行的话,点击启动,点击…

MySQL中字符串查询效率大比拼

背景 最近有个同事对字符串加索引,加完后,发现多了个奇奇怪怪的数字 执行的SQL如下: alter table string_index_test add index idx_name (name) USING BTREE;这个奇怪数字就是191,它很是疑惑,也没指定索引的长度 通…