二、ELM
1、算法介绍及功能
极限学习机(Extreme Learning Machine) ELM是一种针对单隐含层前馈神经网络(Single-hiddenLayerFeedforwardNeuralNetwork,SLFN)的神经网络的算法。最大的特点是输入权值和隐含节点的偏置都是在给定范围内随机生成的,被证实学习效率高且泛化能力强。训练时的主要目的在于输出层的权值求解。
ELM具有学习效率高和泛化能力强的优点,被广泛应用于分类、回归、聚类、特征学习等问题中。
2、算法结构及原理
ELM是一种新型的快速学习算法,对于单隐层神经网络,ELM 可以随机初始化输入权重和偏置并得到相应的输出权重。
(1)对于一个单隐层神经网络(见Figure1),假设有N个任意的样本,其中,
,
。对于一个有L个隐层节点的单隐层神经网络可以表示为
其中,为**函数,
为输入权重,
为输出权重,
是第i个隐层单元的偏置。
表示
和
的内积。
(2)单隐层神经网络学习的目标是使得输出的误差最小,可以表示为:
即存在,
和
,使得
(3)可以矩阵表示为
其中,H是隐层节点的输出,B为输出权重,T为期望输出
(4)为了能够训练单隐层神经网络,我们希望得到,
和
,使得
其中,i=1,…,L,这等价于最小化损失函数
在ELM算法中, 一旦输入权重和隐层的偏置
被随机确定,隐层的输出矩阵H就被唯一确定。训练单隐层神经网络可以转化为求解一个线性系统
。并且输出权重
可以被确定
3、计算步骤
ELM算法的特点是其学习过程不需要调整隐含层节点参数,输入层至隐含层的特征映射可以是随机的或人为给定的。由于仅需求解输出权重,ELM在本质上是一个线性参数模式(linear-in-the-parameter model),其学习过程易于在全局极小值收敛 。
对于给定N组训练数据,使用ELM对包含L个隐含层和M个输出层的SLFN进行学习有如下步骤:
(1)对ELM的输入权值向量和隐含层节点
进行随机赋值,完成初始化。
(2)计算隐含层输出矩阵H
(3)计算输出权值矩阵
即完成了ELM神经网络的建立和初始化。