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

本文详细介绍了极限学习机(ELM)的工作原理,包括单隐层神经网络结构、如何通过随机权重求解、以及其优点如高精度和快速训练。重点讲解了矩阵形式的表示和最小化损失函数的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

序号内容
1【小项目关键技术六】控制北斗 GPS 定位 / UWB 室内定位
2【UWB】Savitzky Golay filter SG滤波器原理讲解
3【UWB】Savitzky Golay filter SG滤波器快速入门并上手使用
4【UWB】MSE 均方误差、RMSE 均方根误差
5【UWB】Kalman filter, KF卡尔曼滤波, EKF 扩展卡尔曼滤波
6【UWB】公式推导计算坐标值
7【UWB】ELM 极限学习机原理及公式推导
8【UWB】ELM,Extreme Learning Machine 极限学习机
9【UWB】数学建模 E 题目个人解题答案 - 2021年第十八届华为杯
10【UWB】使用 python 操作 jetson 提取 UWB 定位模块的数据,处理成坐标的格式,模块厂家为维特智能

文章目录

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

简介

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

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

在这里插入图片描述

对于上图所示的一个单隐含层神经网络,假设有 N N N 个任意样本( x 1 , x 2 , ⋯   , x N x_1, x_2, \cdots, x_N x1,x2,,xN), L L L 个隐藏层神经元, M M M 个输出神经元。其中样本的维度可以为任意,即 x i = [ x i 1 , x i 2 , ⋯   , x i n ] T ∈ R n x_i = [x_{i1}, x_{i2}, \cdots, x_{in}]^{\text{T}} \in \R^{n} xi=[xi1,xi2,,xin]TRn,期望输出假设为 y ^ i = [ y ^ j 1 , y ^ j 2 , ⋯   , y ^ j m ] T ∈ R m \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]TRm,网络的实际输出为 y i = [ y j 1 , y j 2 , ⋯   , y j m ] T ∈ R m {y}_i = [{y}_{j1}, {y}_{j2}, \cdots, {y}_{jm}]^{\text{T}} \in \R^{m} yi=[yj1,yj2,,yjm]TRm

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

∑ k = 1 L β k ⋅ G ( W i ⋅ X i + b k ) = y j \sum_{k=1}^{L} \beta_k \cdot G(W_i \cdot X_i + b_k) = y_j k=1LβkG(WiXi+bk)=yj

这里, β k \beta_k βk 为输出权重, G ( ⋅ ) G(\cdot) G() 为隐含层的激活函数, W i W_i Wi 为输入权重, X i X_i Xi 为输入样本, b k b_k bk 为第 k k k 个神经元的偏置, W i ⋅ X i W_i \cdot X_i WiXi 表示 W i W_i Wi X i X_i Xi 的内积, y j y_j yj 表示第 j j j 个样本的输出。

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

即存在 β k , W i \beta_k, W_i βk,Wi b k b_k bk 使得
∑ k = 1 L β k ⋅ G ( W i ⋅ X i + b k ) = y ^ j \sum_{k=1}^{L} \beta_k \cdot G(W_i \cdot X_i + b_k) = \hat{y}_j k=1LβkG(WiXi+bk)=y^j

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

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

H = [ G ( w 1 x 1 + b 1 ) G ( w 2 x 1 + b 2 ) ⋯ G ( w L x 1 + b L ) G ( w 1 x 2 + b 1 ) G ( w 2 x 2 + b 2 ) ⋯ G ( w L x 2 + b L ) ⋮ ⋮ ⋱ ⋮ G ( w 1 x N + b 1 ) G ( w 2 x N + b 2 ) ⋯ G ( w L x N + b L ) ] N × L H= \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

β = [ β 1 T β 2 T ⋮ β L T ] L × M ,      Y = [ y 1 T y 2 T ⋮ y M T ] 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= y1Ty2TyMT N×M

为了能训练单隐含层神经网络,希望得到 W ^ i , b ^ i \hat{W}_i, \hat{b}_i W^i,b^i β ^ i \hat{\beta}_i β^i,使得
∥ H ( W ^ i , b ^ i ) β ^ i − Y ∥ = min ⁡ W , b , β ∥ H ( W i , b i ) β 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)β^iY=W,b,βminH(Wi,bi)βiY

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

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

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

Ref:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zhao-Jichao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值