ELM(Extreme Learning Machine)是一种新型神经网络算法,最早由Huang于2004年提出【Extreme learning
elm特点是随机生成隐层节点的参数,训练模型速度快。
elm从网络结构上来看是一个单隐层的前馈神经网络(SLFN)如下图所示。
由此可知隐藏层的输入为:
其中g函数表示的激活函数,可以是sigmod,rbf,但不限于此。ai,bi表示的是输入节点的参数向量。βi代表的是输入节点与隐层节点连接的权重向量,βi的每个分量的维度为f(设输入层节点为f),式子中的L代表的是隐含层神经元节点的个数。
同理设隐层神经元节点的个数为L,输出层的输出为m维向量,若为2分类,则为一维向量,则在忽略输入层和隐藏层的情况下可以设输出函数表达式为:
G函数代表隐层神经元的输出,针对加法型隐藏层节点,G为:
小g为激活函数,可以使线性,也可以是sigmod函数。对于rbf隐含层节点为:
ai和bi分别表示了第i个径向基函数节点的中心和影响因子
神经网络的输出可以表示为:
其中
如果神经网络能够无误差的预测训练样本,那么隐含层和输出层的权值是有解的,特别的,当L=N时,肯定有解。但是实际问题中,L往往是远小于N的,那么求解权值向量的问题是无解的,即网络输出和实际值之间有误差,可以定义代价函数为:
其中:
b.如果H是非列满秩的,则使用奇异值分解求解H的广义逆来计算最佳权值。
在Huang的survey中描述了一种思想,该思想把SVM也看成了神经网络,该思想把神经网络的输入层到最后一层隐含层的部分或者SVM核函数映射的部分都看成了从输入空间到一个新的空间的转换,然后,BP会将误差反向传播更新权值使得误差最小化,而SVM则力求找到最大分界间隔的分界面,将新空间映射到输出空间,从这个角度来看,SVM确实可以看成是一种神经网络。