此條目介紹的是机器学习中的一种**人工神经网络模型**。关于教育类电子产品学习机，请见「**小霸王 (公司)**」。

| 机器学习与 |
| --- |
| 散点图展示了线性支持向量机核函數的决策边界（虚线） |
| 范式
* 监督学习
* 無監督學習
* 線上機器學習
* 元学习（英语：）
* 半监督学习
* 自监督学习
* 强化学习
* 基于规则的机器学习（英语：）
* 量子機器學習
 |
| 问题
* 统计分类
* 生成模型
* 迴歸分析
* 聚类分析
* 降维
* 密度估计（英语：）
* 异常检测
* 数据清洗
* 自动机器学习
* 关联规则学习
* 語意分析
* 结构预测（英语：）
* 特征工程
* 表征学习
* 排序学习（英语：）
* 语法归纳（英语：）
* 本体学习（英语：）
* 多模态学习（英语：）
 |
| 监督学习(**分类** · **回归**)
* 学徒学习（英语：）
* 决策树学习
* 集成学习
	+ Bagging
	+ 提升方法
	+ 随机森林
* *k*-NN
* 線性回歸
* 朴素贝叶斯
* 人工神经网络
* 邏輯迴歸
* 感知器
* 相关向量机（RVM）
* 支持向量机（SVM）
 |
| 聚类分析
* BIRCH
* CURE算法（英语：）
* 层次
* *k*-平均
* Fuzzy
* 期望最大化（EM）
* DBSCAN
* OPTICS
* 均值飘移（英语：）
 |
| 降维
* 因素分析
* CCA
* ICA
* LDA
* NMF（英语：）
* PCA
* PGD（英语：）
* t-SNE（英语：）
* SDL
 |
| 结构预测（英语：）
* 圖模式
	+ 貝氏網路
	+ 條件隨機域
	+ 隐马尔可夫模型
 |
| 异常检测
* RANSAC
* *k*-NN
* 局部异常因子（英语：）
* 孤立森林（英语：）
 |
| 人工神经网络
* 自编码器
* 認知計算
* 深度学习
* DeepDream（英语：）
* 多层感知器
* RNN
	+ LSTM
	+ GRU（英语：）
	+ ESN（英语：）
	+ 储备池计算（英语：）
* 受限玻尔兹曼机
* GAN
* SOM
* 卷积神经网络
	+ U-Net
* Transformer
	+ Vision transforme（英语：）
* 脉冲神经网络（英语：）
* Memtransistor（英语：）
* 电化学RAM（英语：）（ECRAM）
 |
| 强化学习
* Q学习
* SARSA
* 时序差分（TD）
* 多智能体（英语：）
	+ Self-play（英语：）
 |
| 与人类学习
* 主动学习（英语：）
* 众包
* Human-in-the-loop（英语：）
 |
| 模型诊断
* 学习曲线（英语：）
 |
| 数学基础
* 内核机器（英语：）
* 偏差–方差困境（英语：）
* 计算学习理论（英语：）
* 经验风险最小化
* 奥卡姆学习（英语：）
* PAC学习（英语：）
* 统计学习
* VC理论
 |
| 大会与出版物
* NeurIPS
* ICML（英语：）
* ICLR
* ML（英语：）
* JMLR（英语：）
 |
| 相关条目
* 人工智能术语（英语：）
* 机器学习研究数据集列表（英语：）
* 机器学习概要（英语：）
 |
| * 
* 论
* 编
 |

**极限学习机**（英文：Extreme Learning Machines，縮寫ELM），又名**超限学习机**，為人工智能機器學習領域中的一種人工神經網路模型，是一种求解单隐层前馈神经网路的学习演算法。极限学习机是用于分类、回归、聚类、稀疏逼近、压缩和特征学习的前馈神经网络，具有单层或多层隐层节点，其中隐层节点的参数（不仅仅是将输入连接到隐层节点的权重）不需要被调整。这些隐层节点可以随机分配并且不必再更新（即它们是随机投影但具有非线性变换），或者可以从其祖先继承下来而不被更改。在大多数情况下，隐层节点的输出权重通常是一步学习的，这本质上相当于学习一个线性模型。"超限学习机"（ELM）的名称是由其主要发明者黄广斌教授及其他学者共同商议后赋予此类模型的。

据其发明者称，这些模型能够产生良好的泛化性能，并且比使用反向传播训练的网络快数千倍。研究表明这些模型在分类和回归应用中一般都可以胜过Support Vector Machines (SVM, 支持向量机)。

历史
--

2001-2010年，ELM研究主要集中在"广义"单隐层前馈神经网路（Single-Hidden-Layer Feedforward Networks, SLFNs）的统一学习框架，包括但不限于Sigmoid网路、Radial Basis Function (RBF)网路、阈值网路、三角网路、模糊推理系统、傅里叶级数 、 拉普拉斯变换、小波网路等。这些年取得的主要成果之一是在理论上成功地证明了 ELM 的通用逼近和分类能力  

从 2010 年到 2015 年，ELM 研究扩展到统一的学习框架，统一了核学习（Kernel Learning）的、SVM 和一些典型的特征学习方法，如主成分分析 (Principal Component Analysis, PCA) 和非负矩阵分解 (Non-Matrix Factorization, NMF)。研究表明，与 ELM 相比，SVM 实际上提供了次优解决方案。ELM可以提供白盒（White-Box）内核映射，这是通过 ELM 随机特征映射实现的，而不是 SVM 中使用的黑盒（Black-Box）内核。 PCA 和 NMF 可以被视为ELM的隐层使用线性节点的特殊情况。 

从 2015 年到 2017 年，越来越多的ELM研究开始聚焦于多层实现 。此外，自 2011 年以来，ELM理论得到越来越多的生物学研究发现的验证。  

从2017年开始，为了克服训练LU分解过程中的低收敛问题，基于Hessenberg分解和QR分解的正则化方法开始受到关注 

2017年，Google Scholar在其"经典论文：过去10年时间考验的文章"，有两篇 ELM 论文被列入"2006 年人工智能前 10 名"，分别排名第 2 和第 7 位。

特點
--

传统的前馈神经网络（如BP神经网络）需要人为设置大量的网络训练参数，此算法卻只需要设定网络的结构，而不需设置其他参数，因此具有简单易用的特点。其输入层到隐藏层的权值是一次随机确定的，算法执行过程中不需要再调整，而隐藏层到输出层的权值只需解一个线性方程组来确定，因此可以提升计算速度。

開發
--

极限学习机的名稱來自新加坡南洋理工大學黃廣斌教授所建立的模型。黃教授指出，此算法的泛化性能良好，且其學習速度比運用反向传播算法訓練的速度要快上1000倍。

算法
--

给定一个单隐层的ELM，假设第i个隐层节点的输出函数是：{\displaystyle h\_{i}(\mathbf {x} )=G(\mathbf {a} \_{i},b\_{i},\mathbf {x} )}, 其中{\displaystyle \mathbf {a} \_{i}}和 b\_{i}是第i个隐层节点的参数。有L个隐层节点的单隐层ELM的输出函数是:

{\displaystyle f\_{L}({\bf {x}})=\sum \_{i=1}^{L}{\boldsymbol {\beta }}\_{i}h\_{i}({\bf {x}})}, 其中 {\displaystyle {\boldsymbol {\beta }}\_{i}}是第i个隐层节点的输出权值。

{\displaystyle \mathbf {h} (\mathbf {x} )=[h\_{i}(\mathbf {x} ),...h\_{L}(\mathbf {x} )]}是ELM的隐层输出映射向量。给定N个训练样本，ELM的隐层输出映射矩阵\mathbf{H}是： {\displaystyle {\bf {H}}=\left[{\begin{matrix}{\bf {h}}({\bf {x}}\_{1})\\\vdots \\{\bf {h}}({\bf {x}}\_{N})\end{matrix}}\right]=\left[{\begin{matrix}G({\bf {a}}\_{1},b\_{1},{\bf {x}}\_{1})&\cdots &G({\bf {a}}\_{L},b\_{L},{\bf {x}}\_{1})\\\vdots &\vdots &\vdots \\G({\bf {a}}\_{1},b\_{1},{\bf {x}}\_{N})&\cdots &G({\bf {a}}\_{L},b\_{L},{\bf {x}}\_{N})\end{matrix}}\right]}

期望的训练数据目标矩阵\mathbf{T}是: {\displaystyle {\bf {T}}=\left[{\begin{matrix}{\bf {t}}\_{1}\\\vdots \\{\bf {t}}\_{N}\end{matrix}}\right]}

一般而言，ELM是一种正则化神经网络，但其具有未调整的隐层映射（由随机隐层节点、内核或其它实现形成），其目标函数为：

{\displaystyle {\text{Minimize: }}\|{\boldsymbol {\beta }}\|\_{p}^{\sigma \_{1}}+C\|{\bf {H}}{\boldsymbol {\beta }}-{\bf {T}}\|\_{q}^{\sigma \_{2}}}

其中 {\displaystyle \sigma \_{1}>0,\sigma \_{2}>0,p,q=0,{\frac {1}{2}},1,2,\cdots ,+\infty }.

在ELM中，可以使用 \sigma \_{1}、\sigma \_{2}、p 和 q 的不同组合，并由此产生对应于回归、分类、稀疏编码、压缩、特征学习和聚类等的不同学习算法。

作为一个特例，最简单的ELM训练算法学习模型可以简化为（对于单隐层 Sigmoid 神经网络）：

{\displaystyle \mathbf {\hat {T}} =\mathbf {W} \_{2}\sigma (\mathbf {W} \_{1}x)}

其中 **W**1是输入层到隐层的权值（包括隐层节点的参数），\sigma 是隐层节点的输出函数（或者常称为激励函数，或基函数），**W**2是隐层到输出层的权值（隐层的输出权值）。ELM算法可以表达为：

1. 随机产生**W**1（比如高斯噪声）；
2. 基于最小二乘法估算**W**2 ：
{\displaystyle \mathbf {W} \_{2}=\sigma (\mathbf {W} \_{1}\mathbf {X} )^{+}\mathbf {T} }

结构
--

在大多数情况下，ELM 用于单隐层前馈网络 (SLFN)，包括但不限于Sigmoid网络、RBF网络、阈值网络、模糊推理网络、复杂神经网络、小波网络、傅里叶变换、拉普拉斯变换等。 由于ELM可以有对应于回归、分类、稀疏编码、压缩、特征学习和聚类的不同算法实现，多个 ELM组合可以用于形成多隐层网络、分层网络或深度学习。

和传统神经网络不一样的是ELM 中的隐节点是一个计算元素（computing element），不需要将其视为经典神经网络中的神经元。ELM 中的隐节点可以是经典的人工神经元、数学和信号系统中的基函数，也可以是一些隐节点形成的子网络。

理论
--

发表研究证明了 ELM 的通用逼近和分类能力。特别是，黄广斌和他的团队使用了将近七年时间（2001-2008）对ELM的通用逼近能力理论的严格证明

### 通用逼近能力

理论上，任何非常量分段连续函数都可以用作 ELM 隐层节点的激活函数，这样的激活函数不必是可微分的。如果调整隐层节点的参数可以使单隐层前馈网络逼近任何目标函数f({\mathbf {x}})，那么隐层节点参数可以根据任何连续分布概率随机生成，并且有适当的输出权重 {\boldsymbol \beta }使得{\displaystyle \ lim\_{L\rightarrow \infty }\left\|\sum \_{i=1}^{L}{\boldsymbol {\beta }}\_{i}h\_{i}({\bf {x}})-f({\bf {x}})\right\|=0}成立的概率为 1。

### 通用分类能力

给定任何非常量分段连续函数作为 SLFNs 中的激活函数，如果调整隐层节点的参数可以使 SLFNs 逼近任何目标函数 f({\mathbf {x}})，那么具有随机隐层映射的 SLFNs {\displaystyle \mathbf {h} (\mathbf {x} )} 可以分开任意形状的任意不相交区域。

神经元（基函数）
--------

ELM隐层节点可以使用广泛的非常量分段连续函数{\displaystyle G(\mathbf {a} ,b,\mathbf {x} )}做为输出函数（从数值分析上讲，基函数）：

### 实数域

Sigmoid function: {\displaystyle G(\mathbf {a} ,b,\mathbf {x} )={\frac {1}{1+\exp(-(\mathbf {a} \cdot \mathbf {x} +b))}}}

Fourier function: {\displaystyle G(\mathbf {a} ,b,\mathbf {x} )=\sin(\mathbf {a} \cdot \mathbf {x} +b)}

Hardlimit function: {\displaystyle G(\mathbf {a} ,b,\mathbf {x} )={\begin{cases}1,&{\text{if }}{\bf {a}}\cdot {\bf {x}}-b\geq 0\\0,&{\text{otherwise}}\end{cases}}}

Gaussian function: {\displaystyle G(\mathbf {a} ,b,\mathbf {x} )=\exp(-b\|\mathbf {x} -\mathbf {a} \|^{2})}

Multiquadrics function: {\displaystyle G(\mathbf {a} ,b,\mathbf {x} )=(\|\mathbf {x} -\mathbf {a} \|^{2}+b^{2})^{1/2}}

Wavelet: {\displaystyle G(\mathbf {a} ,b,\mathbf {x} )=\|a\|^{-1/2}\Psi \left({\frac {\mathbf {x} -\mathbf {a} }{b}}\right)}，其中\Psi是单母小波函数.

### 复数域

Circular functions:

{\displaystyle \tan(z)={\frac {e^{iz}-e^{-iz}}{i(e^{iz}+e^{-iz})}}}

{\displaystyle \sin(z)={\frac {e^{iz}-e^{-iz}}{2i}}}

Inverse circular functions:

{\displaystyle \arctan(z)=\int \_{0}^{z}{\frac {dt}{1+t^{2}}}}

{\displaystyle \arccos(z)=\int \_{0}^{z}{\frac {dt}{(1-t^{2})^{1/2}}}}

Hyperbolic functions:

{\displaystyle \tanh(z)={\frac {e^{z}-e^{-z}}{e^{z}+e^{-z}}}}

{\displaystyle \sinh(z)={\frac {e^{z}-e^{-z}}{2}}}

Inverse hyperbolic functions:

{\displaystyle {\text{arctanh}}(z)=\int \_{0}^{z}{\frac {dt}{1-t^{2}}}}

{\displaystyle {\text{arcsinh}}(z)=\int \_{0}^{z}{\frac {dt}{(1+t^{2})^{1/2}}}}

參見
--

* 機器學習
* 前馈神经网络
* 人工神經網絡

參考資料
----

1. 1 2 3  Huang, Guang-Bin; Zhu, Qin-Yu; Siew, Chee-Kheong.. Neurocomputing. 2006, **70** (1): 489–501. doi:10.1016/j.neucom.2005.12.126.
2. 1 2 3  Huang, Guang-Bin; Zhou, Hongming; Ding, Xiaojian; Zhang, Rui.. IEEE Transactions on Systems, Man, and Cybernetics - Part B: Cybernetics. 2012, **42** (2): 513–529. PMID 21984515. doi:10.1109/tsmcb.2011.2168604.
3. 1 2  Huang, Guang-Bin.. Cognitive Computation. 2015, **7** (3): 263–278. doi:10.1007/s12559-015-9333-0.
4. ↑  Huang, Guang-Bin.. Cognitive Computation. 2014, **6** (3): 376–390. doi:10.1007/s12559-014-9255-2.
5. ↑  Huang, Guang-Bin; Zhu, Qin-Yu; Mao, K. Z.; Siew, Chee-Kheong; Saratchandran, P.; Sundararajan, N.. IEEE Transactions on Circuits and Systems-II: Express Briefs. 2006, **53** (3): 187–191. doi:10.1109/tcsii.2005.857540.
6. ↑  Huang, Guang-Bin; Chen, Lei; Siew, Chee-Kheong.. IEEE Transactions on Neural Networks. 2006, **17** (4): 879–892. PMID 16856652. doi:10.1109/tnn.2006.875977.
7. ↑  Rahimi, Ali; Benjamin Recht.. Advances in Neural Information Processing Systems. 2008.  引文使用过时参数`coauthors` (帮助)
8. ↑  Cao, Jiuwen; Lin, Zhiping; Huang, Guang-Bin.. Neurocomputing. 2010, **73** (7): 1405–1416. doi:10.1016/j.neucom.2009.12.007.
9. 1 2 3 4  Huang, Guang-Bin; Chen, Lei; Siew, Chee-Kheong.. IEEE Transactions on Neural Networks. 2006, **17** (4): 879–892. PMID 16856652. doi:10.1109/tnn.2006.875977.
10. 1 2 3 4  Huang, Guang-Bin; Chen, Lei.. Neurocomputing. 2007, **70** (16): 3056–3062. doi:10.1016/j.neucom.2007.02.009.
11. 1 2 3  Huang, Guang-Bin; Chen, Lei.. Neurocomputing. 2008, **71** (16): 3460–3468. doi:10.1016/j.neucom.2007.10.008.
12. ↑  He, Qing; Jin, Xin; Du, Changying; Zhuang, Fuzhen; Shi, Zhongzhi.. Neurocomputing. 2014, **128**: 88–95. doi:10.1016/j.neucom.2012.12.063.
13. ↑  Kasun, Liyanaarachchi Lekamalage Chamara; Yang, Yan; Huang, Guang-Bin; Zhang, Zhengyou.. IEEE Transactions on Image Processing. 2016, **25** (8): 3906–3918. PMID 27214902. doi:10.1109/tip.2016.2570569.
14. ↑  Huang, Guang-Bin; Bai, Zuo; Kasun, Liyanaarachchi Lekamalage Chamara; Vong, Chi Man.. IEEE Computational Intelligence Magazine. 2015, **10** (2): 18–29. doi:10.1109/mci.2015.2405316.
15. ↑  Tang, Jiexiong; Deng, Chenwei; Huang, Guang-Bin.. IEEE Transactions on Neural Networks and Learning Systems. 2016, **27** (4): 809–821. PMID 25966483. doi:10.1109/tnnls.2015.2424995.
16. ↑  Barak, Omri; Rigotti, Mattia; Fusi, Stefano.. Journal of Neuroscience. 2013, **33** (9): 3844–3856. PMID 6119179. doi:10.1523/jneurosci.2753-12.2013.
17. ↑  Rigotti, Mattia; Barak, Omri; Warden, Melissa R.; Wang, Xiao-Jing; Daw, Nathaniel D.; Miller, Earl K.; Fusi, Stefano.. Nature. 2013, **497** (7451): 585–590. PMID 4412347. doi:10.1038/nature12160.
18. ↑  Fusi, Stefano; Miller, Earl K; Rigotti, Mattia.. Current Opinion in Neurobiology. 2015, **37**: 66–74. doi:10.1016/j.conb.2016.01.010.
19. ↑  Kutlu, Yakup Kutlu; Yayik, Apdullah; Yıldırım, Esen; Yıldırım, Serdar.. Neural Computation and Applications. 2017, **31** (4): 1117–1126. doi:10.1007/s00521-017-3142-1.
20. ↑  Yayık, Apdullah Yayık; Kutlu, Yakup; Altan,Gökhan.  (PDF). arXiv.org.  [2019]. （原始内容存档 (PDF)于2021-11-19）.

外部链接
----

* ELM入口网站附源代码、未决难题、ELM会议、教程、参考资料等 （页面存档备份，存于）
* ELM的R程序包 （页面存档备份，存于）
* GitHub上的ELM开源程序（Python）
* GitHub上的ELM开源程序（C++）
* GitHub上的ELM开源程序（Matlab）