博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
超限学习机(ELM)、在线顺序超限学习机(OS-ELM)
阅读量:2051 次
发布时间:2019-04-28

本文共 2479 字,大约阅读时间需要 8 分钟。

概念

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 β的递推公式推导可以参考大佬 的文章。

总结

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

Ref

转载地址:http://xbklf.baihongyu.com/

你可能感兴趣的文章
【Python】自动化测试框架-共通方法汇总
查看>>
【Python】if相关知识点
查看>>
【Python】xpath中为什么粘贴进去代码后老报错?如何在定位元素的时候准确找到定位切入点?...
查看>>
Loadrunner解决启动浏览器后页面显示空白
查看>>
【Python】唯品会购买商品
查看>>
【JMeter】如何录制创建及得到曲线图
查看>>
【Loadrunner】Error -26601: Decompression function 错误解决、27728报错解决方案
查看>>
【F12】谷歌浏览器F12前端调试工具 Console
查看>>
【服务器】如何在服务器发布网站?Sasa讲解
查看>>
【F12】九个Console命令,让js调试更简单
查看>>
【数据库】left join(左关联)、right join(右关联)、inner join(自关联)的区别...
查看>>
【雅思】【写作】【大作文】Advantage VS. Disadvantage
查看>>
【雅思】金山词霸-单词学习(41-80)
查看>>
【雅思】【写作】【大作文】Report
查看>>
【雅思】【作文】顾家北100句翻译
查看>>
【雅思】【写作】【大作文】Discuss both views and give your own opinion
查看>>
【托业】【金山词霸】21-42
查看>>
【托业】【金山词霸】单词1-20
查看>>
【Python】脚本运行报错:IndentationError: unindent does not match any outer indentation level...
查看>>
【JMeter】前置处理器
查看>>