基于极限学习机的自编码器(ELM-AE)
基于极限学习机的自编码器(ELM-AE)
文章目录
- 基于极限学习机的自编码器(ELM-AE)
- 1.算法原理
- 2.算法实验
- 2.1 利用ELM-AE对单维数据进行自编码
- 2.2 利用ELM-AE对图像进行编码与还原
- 3.参考文献
- 4.Matlab代码
1.算法原理
ELM基础原理请参考:https://blog.csdn.net/u011835903/article/details/111073635。
自动编码器 AE(Auto Encoder)经过训练可以将输入复制到输出。因为不需要标记数据,训练自动编码器是不受监督的。因此,将AE的思想应用到ELM中,使ELM的输入数据同样被用于输出,即输出Y=X。作为自编码器的极限学习机ELM-AE网络结构如图1所示。
图1.ELM-AE网络结构图
若图1中m>L ,ELM-AE实现维度压缩,将高维度数据映射成低维度特征表达;若 m=L,ELM-AE实现等维度的特征表达;若 m<L ,ELM-AE实现稀疏表达,即原始数据的高维特征表达。
综上,ELM-AE是一个通用的逼近器,特点就是使网络的输出与输入相同,而且隐藏层的输入参数(ai,bi)(a_i,b_i)(ai,bi)随机生成后正交。正交化后的优点有:
(1)根 据 J-L(Johnson-Lindensrauss) 定理,权重和偏置正交化可以将输入数据映射到不同或等维度的空间,从而实现不同功能的特征表达。
(2)权重和偏置的正交化设计可以去除特征以外的噪声,使特征之间均匀,且更加线性独立进而增强系统的泛化能力。
ELM-AE的输出可以用如下表达式表示:
xj=∑i=1LβiG(ai,bi,xj),ai∈Rm,βi∈Rm,j=1,2,...,N,aTa=I,bTb=1(1)x_j=\sum_{i=1}^L \beta_iG(a_i,b_i,x_j),a_i\in R^m,\beta_i\in R^m,j=1,2,...,N,a^Ta=I,b^Tb=1 \tag{1} xj=i=1∑LβiG(ai,bi,xj),ai∈Rm,βi∈Rm,j=1,2,...,N,aTa=I,bTb=1(1)
其中aaa是aia_iai组成的矩阵,bbb是bib_ibi组成的向量。隐藏层的输出权重为:
β=(HTH)−1HTX\beta = (H^TH)^{-1}HTX β=(HTH)−1HTX
其中,X=[x1,...,xN]X=[x_1,...,x_N]X=[x1,...,xN]是输入数据。
2.算法实验
2.1 利用ELM-AE对单维数据进行自编码
生成模拟数据:
data = sin(0:0.1:3.14);
data = data + data.^2 - data.^3;
设置ELM-AE参数如下:
ActiveF = 'sig';%设置激活函数
number_neurons = 2;%节点数
算法结果:
从结果来看,ELM-AE输出的数据的确跟原始数据非常接近。
2.2 利用ELM-AE对图像进行编码与还原
实验对象为经典cameraman图像,利用ELM-AE设置不同的节点数,观察经过网络后,得到图像与原始图像的差异。设置结点数范围为1-50。数据输入维度为:256x256。
设置不同的结点数的结果如下:
节点数为1时:
节点数为10时:
节点数为20时:
节点数为50时:
可以看到随着隐藏层节点数的增加,输出图像越来越逼近原始图像,利用仅仅50个节点,就可以使得图像跟原始图像非常接近,原始图像的维度为256,也就是说利用ELM-AE降维到50维时,编码还原后仍然能与原始图像接近。
3.参考文献
[1]颜学龙,马润平.基于深度极限学习机的模拟电路故障诊断[J].计算机工程与科学,2019,41(11):1911-1918.
4.Matlab代码
基于极限学习机的自编码器(ELM-AE)相关推荐
- 【ELM预测】基于极限学习机ELM实现数据预测matlab源码
一.极限学习机的概念 极限学习机(Extreme Learning Machine) ELM,是由黄广斌提出来的求解单隐层神经网络的算法. ELM最大的特点是对于传统的神经网络,尤其是单隐层前馈神经网 ...
- MATLAB机器学习系列-8 极限学习机(Extreme Learning Machine, ELM)原理及其代码实现
极限学习机(Extreme Learning Machine, ELM) 极限学习机网络结构和BP网络结构类似. 和BP神经网络不同点: 极限学习机输入层到隐含层的权重W是可以随意指定的.BP神经网络 ...
- 极限学习机(Extreme Learning Machine)ELM
二.ELM 1.算法介绍及功能 极限学习机(Extreme Learning Machine) ELM是一种针对单隐含层前馈神经网络(Single-hiddenLayerFeedforwardNeur ...
- 基于极限学习机ELM的人脸识别程序
前言 有关极限学习机基础知识请参考 极限学习机详解 目标 基于YALE人脸库,15组人脸(每组照片代表一个人),进行人脸分类识别.(下载地址:YALE人脸库) 将每类人脸前10张照片用于学习,第11张 ...
- 【预测模型-ELM分类】基于极限学习机ELM+OSELM+KELM+半监督SSELM+USELM实现数据集分类附matlab代码
1 内容介绍 极限学习机是由黄广斌等[13]提出的一种针对前馈神经网络设计的机器学习算法.该算法结构简单.计算速率快.ELM的关键在于找到输出和输出之间的映射空间.首先确定隐含层之间的连接权值w和隐含 ...
- 基于极限学习机的预测、图像降噪和回归
关于极限学习机,原理较为简单,但也饱受争议.这篇文章只列举几个应用,关于极限学习机的相关文章,请参考如下链接: Extreme learning machine (ELM) 到底怎么样,有没有做的前途 ...
- 极限学习机(Extreme Learning Machine, ELM)的训练与预测matlab仿真
目录 1.算法概述 2.仿真效果 3.MATLAB仿真源码 1.算法概述 极限学习机(ELM)是当前一类非常热门的机器学习算法,被用来训练单隐层前馈神经网络(SLFN
- 基于极限学习机的轴承故障分类(西储大学数据)
一概述 1.1说明 极限学习机的实现程序. 处理的数据为西储大学的不同故障类型的轴承数据. 程序包括:预处理数据和matlab训练预测部分 原理:参考博客 1.2开发工具 matlab2018 pyc ...
- 极限学习机Python开源库——elm【内附案例源码】
- 【ELM预测】基于粒子群算法改进极限学习机ELM实现数据预测matlab源码
一.极限学习机的概念 极限学习机(Extreme Learning Machine) ELM,是由黄广斌提出来的求解单隐层神经网络的算法. ELM最大的特点是对于传统的神经网络,尤其是单隐层前馈神经网 ...
最新文章
- RSA签名算法,计算调用加密报文,安全传输
- MongoDB图形化管理工具
- select检测到可读,调用read的情况
- pythonsvc_sklearn-SVC实现与类参数详解
- C语言满分:L1-061 新胖子公式 (10分)
- oracle rds 运维服务_从运维的角度分析使用阿里云数据库RDS的必要性–你不应该在阿里云上使用自建的MySQL/SQL Server/Oracle/PostgreSQL数据库...
- REST framework 权限管理源码分析
- MySQL安装成功后dos命令行设置密码
- COCO 54.7mAP!DetectoRS目标检测:改进主干网,成就新高度!
- Java 1.1.2 字符串之拼接
- 现在维吾尔语在计算机中发展,维吾尔语手写体在线计算机识别技术研究.doc
- Parallels Desktop 15 for Mac(pd虚拟机)特别版
- swift开发网络篇—NSURLConnection基本使用
- 科研神器----数据提取软件WebPlotDigitizer的使用
- 如何用Keil uVision3和ISIS 7 Professional中C51单片机做出 LED流水灯
- JS:读取excel并显示
- 恩淑 2004-12-18
- matlab 使用c2d的离散化笔记
- 第二章—v-directive自定义指令
- 在Mac实现自动切换输入法