文章目录

  • 简介
  • Ref:

关于代码实现请参考:【UWB】ELM,Extreme Learning Machine 极限学习机

简介

极限学习机(Extreme Learning Machine) ELM,是由南洋理工大学黄广斌教授提出来的求解单隐层神经网络的算法。

ELM最大的特点是对于传统的神经网络,尤其是单隐层前馈神经网络(SLFNs),在保证学习精度的前提下比传统的学习算法速度更快。

对于上图所示的一个单隐含层神经网络,假设有 NNN 个任意样本(x1,x2,⋯,xNx_1, x_2, \cdots, x_Nx1​,x2​,⋯,xN​),LLL 个隐藏层神经元,MMM 个输出神经元。其中样本的维度可以为任意,即 xi=[xi1,xi2,⋯,xin]T∈Rnx_i = [x_{i1}, x_{i2}, \cdots, x_{in}]^{\text{T}} \in \R^{n}xi​=[xi1​,xi2​,⋯,xin​]T∈Rn,期望输出假设为 y^i=[y^j1,y^j2,⋯,y^jm]T∈Rm\hat{y}_i = [\hat{y}_{j1}, \hat{y}_{j2}, \cdots, \hat{y}_{jm}]^{\text{T}} \in \R^{m}y^​i​=[y^​j1​,y^​j2​,⋯,y^​jm​]T∈Rm,网络的实际输出为 yi=[yj1,yj2,⋯,yjm]T∈Rm{y}_i = [{y}_{j1}, {y}_{j2}, \cdots, {y}_{jm}]^{\text{T}} \in \R^{m}yi​=[yj1​,yj2​,⋯,yjm​]T∈Rm。

对于上述含有 LLL 个隐含节点的单隐含层神经网络可以表示为

∑k=1Lβk⋅G(Wi⋅Xi+bk)=yj\sum_{k=1}^{L} \beta_k \cdot G(W_i \cdot X_i + b_k) = y_jk=1∑L​βk​⋅G(Wi​⋅Xi​+bk​)=yj​

这里,βk\beta_kβk​ 为输出权重,G(⋅)G(\cdot)G(⋅) 为隐含层的激活函数,WiW_iWi​ 为输入权重,XiX_iXi​ 为输入样本,bkb_kbk​ 为第 kkk 个神经元的偏置,Wi⋅XiW_i \cdot X_iWi​⋅Xi​ 表示 WiW_iWi​ 和 XiX_iXi​ 的内积,yjy_jyj​ 表示第 jjj 个样本的输出。

当隐藏层节点足够多时,ELM 可以逼近任何连续函数,为使得 ELM 具有更好的泛化能力,通常隐藏层神经元 LLL 个数应该大于输入神经元 NNN,单隐含层神经网络的学习目标是使得输出的误差最小,即
min⁡(∑j=1N∥y^j−yj∥)\min (\sum_{j=1}^N \|\hat{y}_j - y_j\|)min(j=1∑N​∥y^​j​−yj​∥)

即存在 βk,Wi\beta_k, W_iβk​,Wi​ 和 bkb_kbk​ 使得
∑k=1Lβk⋅G(Wi⋅Xi+bk)=y^j\sum_{k=1}^{L} \beta_k \cdot G(W_i \cdot X_i + b_k) = \hat{y}_jk=1∑L​βk​⋅G(Wi​⋅Xi​+bk​)=y^​j​

改写成矩阵的形式为:
Hβ=YH \beta = YHβ=Y

这里 HHH 为隐含层神经元的输出,β\betaβ 为输出权重,TTT 为期望输出。

H=[G(w1x1+b1)G(w2x1+b2)⋯G(wLx1+bL)G(w1x2+b1)G(w2x2+b2)⋯G(wLx2+bL)⋮⋮⋱⋮G(w1xN+b1)G(w2xN+b2)⋯G(wLxN+bL)]N×LH= \left[\begin{matrix} G(w_1 x_1 + b_1) & G(w_2 x_1 + b_2) & \cdots & G(w_L x_1 + b_L) \\ G(w_1 x_2 + b_1) & G(w_2 x_2 + b_2) & \cdots & G(w_L x_2 + b_L) \\ \vdots & \vdots & \ddots & \vdots \\ G(w_1 x_N + b_1) & G(w_2 x_N + b_2) & \cdots & G(w_L x_N + b_L) \\ \end{matrix}\right]_{N \times L}H=⎣⎢⎢⎢⎡​G(w1​x1​+b1​)G(w1​x2​+b1​)⋮G(w1​xN​+b1​)​G(w2​x1​+b2​)G(w2​x2​+b2​)⋮G(w2​xN​+b2​)​⋯⋯⋱⋯​G(wL​x1​+bL​)G(wL​x2​+bL​)⋮G(wL​xN​+bL​)​⎦⎥⎥⎥⎤​N×L​

β=[β1Tβ2T⋮βLT]L×M,Y=[y1Ty2T⋮yMT]N×M\beta = \left[\begin{matrix} \beta_1^\text{T} \\ \beta_2^\text{T} \\ \vdots \\ \beta_L^\text{T} \\ \end{matrix}\right]_{L \times M},~~~~ Y = \left[\begin{matrix} y_1^\text{T} \\ y_2^\text{T} \\ \vdots \\ y_M^\text{T} \\ \end{matrix}\right]_{N \times M}β=⎣⎢⎢⎢⎡​β1T​β2T​⋮βLT​​⎦⎥⎥⎥⎤​L×M​,    Y=⎣⎢⎢⎢⎡​y1T​y2T​⋮yMT​​⎦⎥⎥⎥⎤​N×M​

为了能训练单隐含层神经网络,希望得到 W^i,b^i\hat{W}_i, \hat{b}_iW^i​,b^i​ 和 β^i\hat{\beta}_iβ^​i​,使得
∥H(W^i,b^i)β^i−Y∥=min⁡W,b,β∥H(Wi,bi)βi−Y∥\|H(\hat{W}_i, \hat{b}_i) \hat{\beta}_i - Y\| = \min_{W,b,\beta} \|H(W_i, b_i)\beta_i - Y\|∥H(W^i​,b^i​)β^​i​−Y∥=W,b,βmin​∥H(Wi​,bi​)βi​−Y∥

这等价于最小化损失函数
E=(∑j=1N∥y^j−yj∥)E = (\sum_{j=1}^N \|\hat{y}_j - y_j\|)E=(j=1∑N​∥y^​j​−yj​∥)

在 ELM 神经网络中,一旦输入权重 WiW_iWi​ 和隐含层偏置 bib_ibi​ 被随机确定,则隐含层的输出矩阵 HHH 就被唯一确定,训练过程则可以转化为求解一个线性系统 Hβ=YH\beta = YHβ=Y,因此输出权重 β\betaβ 的最小二乘解则可以通过下式求得:
β^=H+Y\hat{\beta} = H^+ Yβ^​=H+Y

这里 H+H^{+}H+ 是矩阵 HHH 的 Moore-Penrose 广义逆,且 β\betaβ 的最小二乘解是唯一的。相较于传统前馈神经网络,ELM 保证了学习精度,具有良好的泛化性能,速度更快。

Ref:

  1. 简单易学的机器学习算法——极限学习机(ELM)
  2. 极限学习机(Extreme Learning Machine, ELM)原理详解和MATLAB实现

【UWB】ELM 极限学习机原理及公式推导相关推荐

  1. 组合预测模型 | PSO-ELM、ELM极限学习机数据回归预测对比(Matlab程序)

    组合预测模型 | PSO-ELM.ELM极限学习机数据回归预测对比(Matlab程序) 目录 组合预测模型 | PSO-ELM.ELM极限学习机数据回归预测对比(Matlab程序) 预测结果 基本介绍 ...

  2. 机器学习 | MATLAB实现ELM极限学习机elmtrain参数设定

    机器学习 | MATLAB实现ELM极限学习机elmtrain参数设定 目录 机器学习 | MATLAB实现ELM极限学习机elmtrain参数设定 基本介绍 模型描述 程序设计 学习小结 往期精彩 ...

  3. 回归预测 | MATLAB实现ELM极限学习机多输入单输出

    回归预测 | MATLAB实现ELM极限学习机多输入单输出 目录 回归预测 | MATLAB实现ELM极限学习机多输入单输出 效果一览 基本介绍 模型结构 程序设计 拓展学习 参考资料 效果一览 基本 ...

  4. 回归预测 | MATLAB实现ELM极限学习机多输入单输出(空气质量预测)

    回归预测 | MATLAB实现ELM极限学习机多输入单输出(空气质量预测) 目录 回归预测 | MATLAB实现ELM极限学习机多输入单输出(空气质量预测) 效果一览 基本描述 程序设计 参考资料 效 ...

  5. R语言--ELM极限学习机(elmNNRcpp包)

    极限学习机(Extreme Learning Machine) 具有学习效率高和泛化能力强的优点,被广泛应用于分类.回归.聚类.特征学习等问题中.本文利用elmNNRcpp包实现极限学习机的回归和分类 ...

  6. 2018-3-31 ELM极限学习机--笔记(黄广斌PPT,以及极限学习机原理介绍的部分,但是忘记网址了)

    1.创始人: 黄教授微博: 黄广斌-ELM的微博_微博 https://weibo.com/elm201x 文章来源: Extreme Learning Machines: Random Neuron ...

  7. 【UWB】ELM,Extreme Learning Machine 极限学习机

    文章目录 例子 1 例子 2 Ref. 例子 1 % 任务2: ELM 网络 % Date: 2021-10-15 % Author: Zhao-Jichao clear clc%% 训练 % 导入数 ...

  8. MATLAB机器学习系列-8 极限学习机(Extreme Learning Machine, ELM)原理及其代码实现

    极限学习机(Extreme Learning Machine, ELM) 极限学习机网络结构和BP网络结构类似. 和BP神经网络不同点: 极限学习机输入层到隐含层的权重W是可以随意指定的.BP神经网络 ...

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

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

最新文章

  1. 程序员七夕如何表白:朕只爱一个皇后!(单例模式)
  2. phpstudy安装imagick扩展库怎么装
  3. 猫狗识别——PyTorch
  4. 异常检测算法之HBOS
  5. 查看回调函数执行在那个线程中的方法
  6. 烂泥:nagios学习(四):pnp4nagios图形化绘制nagios数据
  7. python3字典详解_python3 字典的常用 方法
  8. android坐标画图软件下载,几何平板Geometry Pad(绘图,测量数字坐标轴)2.7.0
  9. 手把手教你学DSP:基于TMS320C55x
  10. 小米路由pro php,完全拆解小米路由器Pro:无接口,预加硬盘无望
  11. 未来几年,自动化发展趋势展望
  12. 文献阅读_Radiogenomic analysis of vascular endothelial growth factor in patients with diffuse gliomas
  13. Python学习笔记--文件操作
  14. 认识TIA博途Portal软件平台
  15. 【ICML 2015迁移学习论文阅读】Unsupervised Domain Adaptation by Backpropagation (DANN) 反向传播的无监督领域自适应
  16. NTP网络时钟同步协议对计算机网络数据的重要性
  17. 如何理解一台服务器可以绑定多个ip,一个ip可以绑定多个域名
  18. Adobe国际认证|面向大学生和青少年的数字安全提示
  19. [经验教程]手机上微信新消息不提示也不显示微信消息通知怎么办?
  20. CentOS7 安装过程中的多盘分区功能探讨(二)

热门文章

  1. 五小步让VS Code支持AngularJS智能提示
  2. Python中简化的验证码功能实现
  3. JavaWeb总结(四)—JSP深入解析
  4. cherry-pick,revert和rebase使用的3-way合并策略
  5. Oracle 表及表空间(一)
  6. (转)MySql开启远程连接权限
  7. 百度地图 IOS版开发经验分享
  8. logrotate 进行nginx日志分割
  9. 2-16 HDO1106
  10. Flash补间引擎应用:图片特效(2)