极限学习机(Extreme Learning Machine) ELM,是由黄广斌提出来的求解神经网络算法。ELM最大的特点是对于传统的神经网络,尤其是单隐层前馈神经网络(SLFNs),ELM比传统的学习算法速度更快。
ELM是一种新型的快速学习算法,对于单隐层神经网络,ELM 可以随机初始化输入权重和偏置并得到相应的输
出权重。对于一个单隐层神经网络,假设有个任意的样本,其中,。对于一个有个隐层节点的单隐层神经网络可以表示为
其中,为激活函数,为输入权重,为输出权重,是第个隐层单元的偏置。表示和的内积。
单隐层神经网络学习的目标是使得输出的误差最小,可以表示为
即存在,和,使得
可以表示为
其中是隐层节点的输出,为输出权重,为期望输出。
为了能够训练单隐层神经网络,我们希望得到和使得
其中,这等价于最小化损失函数
传统的一些基于梯度下降法的算法,如BP学习算法及其变种,可以用来求解这样的问题,但是基本的基于梯度的学习算法需要在迭代的过程中调整所有参数。而在ELM算法中, 一旦输入权重和隐层的偏置被随机确定,隐层的输出矩阵就被唯一确定。训练单隐层神经网络可以转化为求解一个线性系统。并且输出权重可以被确定
其中,是矩阵的Moore-Penrose广义逆。且可证明求得的解的范数是最小的并且唯一。
极限学习机的代码下载:点击打开链接