【UWB】ELM 极限学习机原理及公式推导
文章目录
- 简介
- 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(w1x1+b1)G(w1x2+b1)⋮G(w1xN+b1)G(w2x1+b2)G(w2x2+b2)⋮G(w2xN+b2)⋯⋯⋱⋯G(wLx1+bL)G(wLx2+bL)⋮G(wLxN+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=⎣⎢⎢⎢⎡y1Ty2T⋮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∥=minW,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:
- 简单易学的机器学习算法——极限学习机(ELM)
- 极限学习机(Extreme Learning Machine, ELM)原理详解和MATLAB实现
【UWB】ELM 极限学习机原理及公式推导相关推荐
- 组合预测模型 | PSO-ELM、ELM极限学习机数据回归预测对比(Matlab程序)
组合预测模型 | PSO-ELM.ELM极限学习机数据回归预测对比(Matlab程序) 目录 组合预测模型 | PSO-ELM.ELM极限学习机数据回归预测对比(Matlab程序) 预测结果 基本介绍 ...
- 机器学习 | MATLAB实现ELM极限学习机elmtrain参数设定
机器学习 | MATLAB实现ELM极限学习机elmtrain参数设定 目录 机器学习 | MATLAB实现ELM极限学习机elmtrain参数设定 基本介绍 模型描述 程序设计 学习小结 往期精彩 ...
- 回归预测 | MATLAB实现ELM极限学习机多输入单输出
回归预测 | MATLAB实现ELM极限学习机多输入单输出 目录 回归预测 | MATLAB实现ELM极限学习机多输入单输出 效果一览 基本介绍 模型结构 程序设计 拓展学习 参考资料 效果一览 基本 ...
- 回归预测 | MATLAB实现ELM极限学习机多输入单输出(空气质量预测)
回归预测 | MATLAB实现ELM极限学习机多输入单输出(空气质量预测) 目录 回归预测 | MATLAB实现ELM极限学习机多输入单输出(空气质量预测) 效果一览 基本描述 程序设计 参考资料 效 ...
- R语言--ELM极限学习机(elmNNRcpp包)
极限学习机(Extreme Learning Machine) 具有学习效率高和泛化能力强的优点,被广泛应用于分类.回归.聚类.特征学习等问题中.本文利用elmNNRcpp包实现极限学习机的回归和分类 ...
- 2018-3-31 ELM极限学习机--笔记(黄广斌PPT,以及极限学习机原理介绍的部分,但是忘记网址了)
1.创始人: 黄教授微博: 黄广斌-ELM的微博_微博 https://weibo.com/elm201x 文章来源: Extreme Learning Machines: Random Neuron ...
- 【UWB】ELM,Extreme Learning Machine 极限学习机
文章目录 例子 1 例子 2 Ref. 例子 1 % 任务2: ELM 网络 % Date: 2021-10-15 % Author: Zhao-Jichao clear clc%% 训练 % 导入数 ...
- MATLAB机器学习系列-8 极限学习机(Extreme Learning Machine, ELM)原理及其代码实现
极限学习机(Extreme Learning Machine, ELM) 极限学习机网络结构和BP网络结构类似. 和BP神经网络不同点: 极限学习机输入层到隐含层的权重W是可以随意指定的.BP神经网络 ...
- 基于樽海鞘算法的极限学习机(ELM)回归预测-附代码
基于樽海鞘算法的极限学习机(ELM)回归预测 文章目录 基于樽海鞘算法的极限学习机(ELM)回归预测 1.极限学习机原理概述 2.ELM学习算法 3.回归问题数据处理 4.基于樽海鞘算法优化的ELM ...
最新文章
- 程序员七夕如何表白:朕只爱一个皇后!(单例模式)
- phpstudy安装imagick扩展库怎么装
- 猫狗识别——PyTorch
- 异常检测算法之HBOS
- 查看回调函数执行在那个线程中的方法
- 烂泥:nagios学习(四):pnp4nagios图形化绘制nagios数据
- python3字典详解_python3 字典的常用 方法
- android坐标画图软件下载,几何平板Geometry Pad(绘图,测量数字坐标轴)2.7.0
- 手把手教你学DSP:基于TMS320C55x
- 小米路由pro php,完全拆解小米路由器Pro:无接口,预加硬盘无望
- 未来几年,自动化发展趋势展望
- 文献阅读_Radiogenomic analysis of vascular endothelial growth factor in patients with diffuse gliomas
- Python学习笔记--文件操作
- 认识TIA博途Portal软件平台
- 【ICML 2015迁移学习论文阅读】Unsupervised Domain Adaptation by Backpropagation (DANN) 反向传播的无监督领域自适应
- NTP网络时钟同步协议对计算机网络数据的重要性
- 如何理解一台服务器可以绑定多个ip,一个ip可以绑定多个域名
- Adobe国际认证|面向大学生和青少年的数字安全提示
- [经验教程]手机上微信新消息不提示也不显示微信消息通知怎么办?
- CentOS7 安装过程中的多盘分区功能探讨(二)