ELM(Extreme Learning Machine):超限学习机

原创 2017年01月03日 18:59:31

定义

极限学习机器( Extreme Learning Machine,ELM) 是神经网络研究中的一种算法,是一种泛化的单隐层前馈神经网络( Single-hidden Layer Feed forward Network,SLFN)[1]。

特点

输入权值和隐层阈值进行随机赋值,输出层权值则通过最小二乘法直接计算。整个学习过程一次完成,无需迭代,因而能达到极快的学习速度[2]。

算法

假设有N个任意的样本 (Xi,ti)
其中Xi=[xi1,xi2,,xin]TRTti=[ti1,ti2,,tim]TRm

对于一个具有L个隐层节点,激活函数为g(x)的单隐层前馈神经网络输出可以表示为

i=1Lβigi(Xj)=i=1Lβig(WiXj+bi)=oj,j=1,2,N

其中, Wi=[wi1,wi2,,win]T为输入权重,βi=[βi1,βi2,,βim]T为输出权重,bi是第i个隐层单元的偏置,WiXj表示WiXj的内积

单隐层前馈神经网络学习的目标是在最小的误差下逼近N个样本,可以表示为

j=1Nojtj=0,j=1,2,,N

即存在βi,Wi,bi使得

i=1L=βig(WiXj+bi)=tj,j=1,2,,N

可以矩阵表示为

Hβ=T

其中,H是隐层节点输出,β为输出权重,T为期望输出
H(W1,,WL,b1,,bL,X1,,XL)

=g(W1X1+b1)g(W1XN+b1)g(WLX1+bL)g(WLXN+bL)N×L

其中

β=βT1βTLL×mT=TT1TTNN×m

为了能够训练单隐层神经网络,我们希望得到Wˆi,b^i,β^i使得

H(W^i,b^i)β^iT=minW,b,βH(Wi,bi)βiT,i=1,2,,L

等价于最小化损失函数

E=j=1N(i=1Lβig(WiXj+bi)tj)2

在ELM的思想中中,在输入权重Wi和隐含层偏置Bi随机确定后,隐层的输出矩阵H就会被确定,单隐层神经网络的求解过程就会被转换成一个线性系统Hβ=T的求解问题,输出权重β可由下式确定。(H+是矩阵H的Moore-Penrose广义逆)

β^=H+T

代码描述(Python)

import numpy as np
#激活函数
def F(x):
    return 1.0/(1+np.exp(-x))
#构造偏置矩阵
def CreateB(Num,InitB):
    return np.dot(np.ones((Num,1)),InitB)
#计算精度
def CalAccur(data,label,InW,OutW,InitB):
    Num=data.shape[0]
    result=np.dot(F(np.dot(data,InW)+CreateB(Num,InitB)),OutW)
    OriIndex=np.argmax(label,axis=1)
    NewIndex=np.argmax(result,axis=1)
    count=float(0)
    for i in range(Num):
        if(OriIndex[i]==NewIndex[i]):
            count+=1
    return count/Num

#读入数据
TrainData=np.loadtxt('ti.txt',delimiter=',')
TrainLabel=np.loadtxt('to.txt',delimiter=',')
TestData=np.loadtxt('ci.txt',delimiter=',')
TestLabel=np.loadtxt('co.txt',delimiter=',')
#获得数据的shape
[TrainInsNum,TrainFeaNum]=TrainData.shape
[TestInsNum,TestFeaNum]=TestData.shape
#设置隐层神经元结点数
NeuNum=int(input("Please input the number of the Neurals :"))
#随机生成输入层到隐含层之间的权重矩阵
InW=np.random.random((TrainFeaNum,NeuNum))*2-1
#随机生成每个隐层结点的偏置
InitB=np.random.random((1,NeuNum))
#计算输出矩阵
OutW=np.dot(np.linalg.pinv(F(np.dot(TrainData,InW)+CreateB(TrainInsNum,InitB))),TrainLabel)
#计算精度
TrainAccur=CalAccur(TrainData,TrainLabel,InW,OutW,InitB)
TestAccur=CalAccur(TestData,TestLabel,InW,OutW,InitB)
#输出训练精度和测试精度
print(TrainAccur)
print(TestAccur)

[1] HUANG G B, ZHU Q Y, SIEW C K. Extreme learning machine:theory and applications [J]. Neurocomputing, 2006,70( 1) : 489 -50.
[2] 康松林, 刘乐, 刘楚楚,等. 多层极限学习机在入侵检测中的应用[J]. 计算机应用, 2015, 35(9):2513-2518.
[3] zhiyong_will.简单易学的机器学习算法——极限学习机(ELM).http://blog.csdn.net/google19890102/article/details/18222103

版权声明:本文为博主原创文章,未经博主允许不得转载。

超限学习机--ELN 读书笔记一

G.-B. Huang, Q.-Y. Zhu and C.-K. Siew, “Extreme Learning Machine: Theory and Applications”, Neurocom...
  • chengdezhi2011
  • chengdezhi2011
  • 2015年12月10日 12:38
  • 1814

Deep Learning 的挑战: Extreme Learning Machine(超限学习机)?

序: 今天刚听了一个关于 Extreme Learning Machine (超限学习机)的讲座,讲员就是ELM的提出者 黄广斌 教授 。ELM的效果自然是比SVM,BP 算法优异很多。并且相对比 当...
  • hanzihan123
  • hanzihan123
  • 2014年10月21日 14:47
  • 7728

超限学习机(ELM)

ELM(Exteme learning machine,超限学习机),由新加坡南洋理工大学的Guangbin Huang(黄光斌)副教授提出的。...
  • baidu_35231778
  • baidu_35231778
  • 2016年08月17日 16:45
  • 3176

超限学习机的一些学习资料

  • 2015年11月14日 11:11
  • 56.28MB
  • 下载

ELM-超限学习机介绍

  • 2015年09月22日 09:35
  • 1.07MB
  • 下载

超限学习机

  • 2015年06月02日 09:56
  • 6.66MB
  • 下载

论战Yann LeCun:谁能解释极限学习机(ELM)牛X在哪里?

摘要:ELM算法执行过程中不必调整网络的输入权值以及隐元的偏置,学习速度快且泛化性能好,Yann LeCun质疑ELM存在命名、方法论方面存在问题,ELM发明者则认为,ELM和深度学习是相辅相成的,并...
  • han____shuai
  • han____shuai
  • 2016年05月12日 22:12
  • 1604

简单易学的机器学习算法——在线顺序极限学习机OS-ELM

这篇文章主要是前面整理的,就直接上图了。 实验: # coding:UTF-8 ################# # OS_ELM # a...
  • google19890102
  • google19890102
  • 2015年04月25日 20:03
  • 7044

ELM 极限学习机与SVM支持向量机

在上一篇《DeepLearning 的挑战: Extreme Learning Machine(超限学习机)?》 中介绍了一些ELM与DL 的一些比较,这篇主要介绍ELM的原理。 首先,ELM的核心就...
  • hanzihan123
  • hanzihan123
  • 2014年11月25日 11:20
  • 4537

Deep Learning 的挑战: Extreme Learning Machine(超限学习机)?

序: 今天刚听了一个关于 Extreme Learning Machine (超限学习机)的讲座,讲员就是ELM的提出者 黄广斌 教授 。ELM的效果自然是比SVM,BP 算法优异很多。并且相对比 当...
  • hanzihan123
  • hanzihan123
  • 2014年10月21日 14:47
  • 7728
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ELM(Extreme Learning Machine):超限学习机
举报原因:
原因补充:

(最多只允许输入30个字)