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

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

传统单隐层前馈神经网络

单隐层前馈神经网络
x1,x2,x3为输入层,之后为一层隐藏层,最后一层为输出层。

在隐藏层节点中,首先计算z[1]=w[1] x+b[1],再令a[1]=g(z[1]);
在输出层节点中,计算z[2]=w[2] a[1]+b[2],再令a[2]=g(z[2]),a[2]即为输出值y^ 。
g(z)为非线性激活函数,一般选择g(z)=σ(z)=(1+e-z)-1,
tanh(z)=(ez-e-z)/(ez+e-z),
或ReLU(z)=max{0,z}。
如果激活函数选择为线性函数,即g(z)=z的形式,则:
b[2]=w[2] a[2] + b[2] = w[2] (w[1] x + b[1]) + b[2]
= (w[1] w[2]) x + (w[2] b[1] + b[2]) = w’ x + b’,
这使得隐藏层没有意义,不管经过几次迭代,都是对输入的样本作线性处理。
(疑问: 为何神经网络要对 x 作 w x + b 处理?)

优点
  1. 可以直接从输入的样本集中估测得到复杂的非线性映射。
  2. 为大规模的自然或人工现象提供模型,而使用传统参数技术则难以处理。
缺点
  1. 需要调参。例如学习率α不容易确定:太小会导致收敛太慢,耗费时间,学习效果差;太大会导致收敛过快,学习效果不稳定。
  2. 可能得到局部最优解,而不是全局最优。
  3. 会产生过拟合现象:为了将损失最小化,可能将错误的结果也学到。
  4. 梯度下降学习方法需要逐步迭代,耗费时间。

极限学习机

定义

极限学习机(Extreme Learning Machine,ELM)是神经网络研究中的一种算法,是一种单隐层前馈神经网络(Single-hidden Layer Feedforward neural Network,SLFN)。

原理

对于N个样本(Xi,ti),其中Xi=[xi1,xi2,…,xin]T ∈Rn,ti=[ti1,ti2,…,tim]T ∈Rm,
对于一个具有N’个隐层节点,激活函数为g(x)的单隐层前馈神经网络,
其数学模型可以表示为 :
∑ βi gi(Xj) = ∑ βi g(Wi ⋅ Xj + bi)= oj , (j=1,2,…N)

其中, Wi=[wi1,wi2,…,win]T 为输入层权重,连接第i层隐藏层节点与输入节点;
βi=[βi1,βi2,…,βim]T 为输出权重,连接第i层隐藏层节点和输出节点;
bi是第i个隐层单元的偏置,Wi⋅Xj表示Wi与Xj的内积。

单隐层前馈神经网络学习的目标是在最小的误差下逼近N个样本,理想状态下总误差为0,即 :
∑∥oj − tj∥ = 0,(j=1,2,…,N)

即存在 βi , Wi , bi ,使得 :
∑ βi g(Wi ⋅ Xj + bi) = tj ,(j=1,2,…,N)

或表示为:Hβ=T。
其中H(w1,…,wN’,b1,…,bN’,x1,…,xN)=
[[g(w1 x1 + b1),…,g(wN’ x1 + bN’)],
[ …],
[g(w1 xN + b1),…,g(wN’ xN + bN’)]],
β=[β1T,…,βN’T]T (N’×m),T=[t1T,…,tNT]T (N×m)。

学习的目的是找到一组特定的wi^ ,bi^ ,β^(i=1,2,…,N’),使得:
||H(w1^ ,w2^ ,…,wN’^ ,b1^ ,b2^ ,…,bN’^ ) β^ - T|| = min||H(w1,w2,…,wN’,bi,b2,…,bN’) β - T||。
相当于损失函数的最小值:
E=min∑(∑ βi g( Wi⋅ Xj + bi) - tj)2

得到β^ =H T ,H是H的广义逆矩阵,
||H β^ - T|| = ||H H T - T|| = min ||H β - T||。

特点

输入层和隐含层节点的权重为随机赋值,且不需要迭代更新;学习过程通过最小二乘法计算输出权重。因此极限学习机与传统的前馈神经网络相比,学习速度更快,同时还表现出更好的泛化能力。

自我总结

传统神经网络是使用梯度下降方法,不断迭代找到一组特定的w^ ,b^ ,令y^ =w^ x + b^ 使得损失函数L(y^,y)最小;极限学习机在公式上与传统神经网络的区别是增加了输出层权重 β,而且输入层与隐藏层权重是随机确定的,只需计算得到输出层权重,少了梯度下降求最优值的过程,因此学习速度更快。但我对为何神经网络对 x 进行 w x + b 的处理还是搞不清楚,我参考的论文和视频都是一开始就用这种方法,而没有进行解释。难道 y = w x + b 的形式就能完全表示输入层与输出层的关系吗?或许我应该再深入学习一下线性代数。

[1]HUANG G B, ZHU Q Y, SIEW C K. Extreme learning machine:theory and applications [J]. Neurocomputing, 2006
[2] zhiyong_will.简单易学的机器学习算法——极限学习机(ELM).http://blog.csdn.net/google19890102/article/details/18222103
[3]Mosout.ELM(Extreme Learning Machine):超限学习机.https://blog.csdn.net/Mosout/article/details/53997040
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值