极限学习机(ELM)是当前一类非常热门的机器学习算法,被用来训练单隐层前馈神经网络(SLFN)。本篇博文尽量通俗易懂地对极限学习机的原理进行详细介绍,之后分析如何用python实现该算法并对代码进行解释。
1. 算法的原理
极限学习机(ELM)用来训练单隐藏层前馈神经网络(SLFN)与传统的SLFN训练算法不同,极限学习机随机选取输入层权重和隐藏层偏置,输出层权重通过最小化由训练误差项和输出层权重范数的正则项构成的损失函数,依据Moore-Penrose(MP)广义逆矩阵理论计算解析求出。理论研究表明,即使随机生成隐藏层节点,ELM仍保持SLFN的通用逼近能力。在过去的十年里,ELM的理论和应用被广泛研究,从学习效率的角度来看,极限学习机具有训练参数少、学习速度快、泛化能力强的优点。
极限学习机的隐藏层节点数为 L,与单隐层前馈神经网络的结构一样,极限学习机的网络结构如下图所示:

极限学习机ELM是一类Single-hidden Layer Feedforward Neural Network(SLFNs)算法,由Huang等基于 Moore-Penrose 广义逆的理论提出,主要针对SLFNs中存在的学习速率慢,迭代时间长,学习参数如学习步长、学习率需要人为提前设置等问题。与传统的神经网络学习算法相比,ELM只需要设置合适的隐层节点数,随机生成隐层所需所有参数,利用最小二乘法确定输出层权值。整个学习过程只需一步而无需多次更新隐层参数。正是因为ELM算法的快速学习能力以及较强的非线性逼近能力等特点,使得ELM在实际应用中受到了研究者们的青睐。例如ELM及改进算法被广泛应用于故障检测、时间序列预测、姿态识别、化学分析、医疗诊断、智能供电等领域。

算法的推导见:ELM原理

在此基础上对,正则化极限学习机(RELM)、在线学习的极限学习机(OS-ELM)、带遗忘机制的在线学习极限学习机(FOS-ELM)使用python进行了实现,并基于一个简单的数据集对三种算法进行了比较,并比较了不同隐藏层节点对性能的影响。

# In[]
# 不同算法和隐藏层结果对比
class_dict = {"ELM":RELM_HiddenLayer,"OS_DELM":OS_DELM_HiddenLayer,"FOS_DELM":FOS_DELM_HiddenLayer}
funcs = ["ELM","OS_DELM","FOS_DELM"]
lists = {"ELM":[[],[]],"OS_DELM":[[],[]],"FOS_DELM":[[],[]]}
results = []
for func in funcs:list_ = lists[func]for j in range(1, 500, 20):func_ = class_dict[func]a = func_(X_train, j)a.classifisor_train(Y_train)predict = a.classifisor_test(X_test)pre = metrics.precision_score(predict, Y_true, average='macro')list_[0].append(j)list_[1].append(pre)results.append(list_)
plt.plot(results[0][0],results[0][1],label="ELM")
plt.plot(results[1][0],results[1][1],label="OS_DELM")
plt.plot(results[2][0],results[2][1],label="FOS_DELM")
plt.xlabel("n_hidden")
plt.ylabel("accuracy")
plt.legend()
plt.savefig("ELM.png")
plt.show()


全部代码下载:python+RELM+OS-ELM+FOS-ELM+代码实现-实例验证+算法比较.rar

极限学习机ELM原理与实现相关推荐

  1. 【ELM预测】基于粒子群算法改进极限学习机ELM实现数据预测matlab源码

    一.极限学习机的概念 极限学习机(Extreme Learning Machine) ELM,是由黄广斌提出来的求解单隐层神经网络的算法. ELM最大的特点是对于传统的神经网络,尤其是单隐层前馈神经网 ...

  2. 【ELM预测】基于极限学习机ELM实现数据预测matlab源码

    一.极限学习机的概念 极限学习机(Extreme Learning Machine) ELM,是由黄广斌提出来的求解单隐层神经网络的算法. ELM最大的特点是对于传统的神经网络,尤其是单隐层前馈神经网 ...

  3. 基于樽海鞘算法的极限学习机(ELM)回归预测-附代码

    基于樽海鞘算法的极限学习机(ELM)回归预测 文章目录 基于樽海鞘算法的极限学习机(ELM)回归预测 1.极限学习机原理概述 2.ELM学习算法 3.回归问题数据处理 4.基于樽海鞘算法优化的ELM ...

  4. 基于哈里斯鹰算法的极限学习机(ELM)分类算法-附代码

    基于哈里斯鹰算法的极限学习机(ELM)分类算法 文章目录 基于哈里斯鹰算法的极限学习机(ELM)分类算法 1.极限学习机原理概述 2.ELM学习算法 3.分类问题 4.基于哈里斯鹰算法优化的ELM 5 ...

  5. 【ELM预测】基于遗传算法改进极限学习机ELM实现数据预测matlab源码

    一.极限学习机的概念 极限学习机(Extreme Learning Machine) ELM,是由黄广斌提出来的求解单隐层神经网络的算法. ELM最大的特点是对于传统的神经网络,尤其是单隐层前馈神经网 ...

  6. Python机器学习17——极限学习机(ELM)

    本系列基本不讲数学原理,只从代码角度去让读者们利用最简洁的Python代码实现机器学习方法. (2023年3月11日,已更新--针对评论区指出没有加入激活函数,现在已更新,加入了sigmod激活函数, ...

  7. 基于粒子群算法的极限学习机(ELM)分类算法-附代码

    基于粒子群算法的极限学习机(ELM)分类算法 文章目录 基于粒子群算法的极限学习机(ELM)分类算法 1.极限学习机原理概述 2.ELM学习算法 3.分类问题 4.基于粒子群算法优化的ELM 5.测试 ...

  8. 极限学习机(ELM)

    1. 引言 极限学习机(extreme learning machine)ELM是一种简单易用.有效的单隐层前馈神经网络SLFNs学习算法.2004年由南洋理工大学黄广斌副教授提出.传统的神经网络学习 ...

  9. 【预测模型-ELM分类】基于极限学习机ELM+OSELM+KELM+半监督SSELM+USELM实现数据集分类附matlab代码

    1 内容介绍 极限学习机是由黄广斌等[13]提出的一种针对前馈神经网络设计的机器学习算法.该算法结构简单.计算速率快.ELM的关键在于找到输出和输出之间的映射空间.首先确定隐含层之间的连接权值w和隐含 ...

  10. 基于极限学习机ELM的人脸识别程序

    前言 有关极限学习机基础知识请参考 极限学习机详解 目标 基于YALE人脸库,15组人脸(每组照片代表一个人),进行人脸分类识别.(下载地址:YALE人脸库) 将每类人脸前10张照片用于学习,第11张 ...

最新文章

  1. JavaScript事件的捕获阶段(Capture phase)
  2. 解决 from torch._C import *ImportError: DLL load failed: 找不到指定的程序。
  3. python22个字符串长度_python字符串处理内置方法一览表
  4. 面试基础(1)——面向对象/get,post的区别
  5. 基于Linux和MiniGUI的嵌入式系统软件开发指南(二)
  6. POJ - 2392 朴素多重背包 + 贪心 WA与AC代码细节分析
  7. 3S基础知识:VB中利用MapX创建用户定制工具
  8. 人工智能教程(1.1)
  9. 计算机室火灾隐患表现,校园安全防火知识
  10. 要给新家搭建智能家居,到底该从哪里入手?回复被「坑惨」的业主
  11. Windows下LimeSDR Mini使用说明
  12. 四网协同之WLAN专利分析与启示
  13. 什么是CI/CD?它们与敏捷开发和devops的关系?
  14. windows操作系统服务器 网卡速度关联项
  15. vue {{}}中小数保留几位小数的toFixed(小数位数)方法
  16. redis命令之string类型setex命令用法详情
  17. java使用redis incr,JFinal Redis plugin 有关数值类型incr操作的bug
  18. 第一章-走近群智感知,辨识庐山真面目
  19. Markdown 教程(三)Markdown 段落
  20. 【AGL】初探AGL之Application framework

热门文章

  1. Python——对象
  2. php获取静态url地址,[静态/伪静态]自定义URL地址详细教程
  3. DevChartControl的颜色配置
  4. 030_《Delphi COM深入编程》
  5. 微信打飞机--Java版
  6. opengl编程指南第9版源码编译注意事项
  7. 基于linux下的在线电子词典
  8. Windows内核原理与实现之Windows研究内核(WRK)
  9. Gallery3D简介
  10. 计算机网络课设--小型企业网络的规划与设计