基于深度极限学习机DELM的分类

文章目录

  • 基于深度极限学习机DELM的分类
    • 1.ELM原理
    • 2.深度极限学习机(DELM)原理
    • 3.实验结果
    • 3.参考文献
    • 4.Matlab代码

1.ELM原理

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​βi​G(ai​,bi​,xj​),ai​∈Rm,βi​∈Rm,j=1,2,...,N,aTa=I,bTb=1(1)
其中aaa是aia_iai​组成的矩阵,bbb是bib_ibi​​组成的向量。隐藏层的输出权重为:
β=(IC+HTH)−1HTX(2)\beta = (\frac{I}{C}+H^TH)^{-1}HTX \tag{2} β=(CI​+HTH)−1HTX(2)
其中,X=[x1,...,xN]X=[x_1,...,x_N]X=[x1​,...,xN​]是输入数据。

2.深度极限学习机(DELM)原理

根据ELM-AE的特征表示能力,将它作为深度极限学习机 DELM的基本单元。与传统深度学习算法相同,DELM 也是用逐层贪婪的训练方法来训练网络,DELM每个隐藏层的输入权重都使用ELM-AE初始化,执行分层无监督训练,但是与传统深度学习算法不同的是DELM不需要反向微调过程。

图2.DELM模型训练过程

DELM的思想是通过最大限度地降低重构误差使输出可以无限接近原始输入,经过每一层的训练,可以学习到原始数据的高级特征。图2描述了DELM模型的训练过程,将输入数据样本X作为第1个ELM-AE的目标输出(X1=XX_1 =XX1​=X​​),进而求取输出权值 β1β_1β1​​​ ;然后将DELM第1个隐藏层的输出矩阵H1H_1H1​​​当作下1个ELM−AEELM-AEELM−AE​的输入与目标输出(X2=XX_2=XX2​=X​),依次类推逐层训练,最后1层用ELMELMELM​​​来训练,使用式(2)来求解DELM的最后1个隐藏层的输出权重βi+1\beta_{i+1}βi+1​​​ 。图2中Hi+1H_{i+1}Hi+1​​​ 是最后1个隐藏层的输出矩阵,T是样本标签。 Hi+1H_{i+1}Hi+1​​每1层隐藏层的输入权重矩阵为Wi+1=βi+1TW_{i+1}=\beta_{i+1}^TWi+1​=βi+1T​​。

3.实验结果

本文对乳腺肿瘤数据进行分类。采用随机法产生训练集和测试集,其中训练集包含 500 个样本,测试集包含 69 个样本 。

%% 导入数据
load data.mat
% 产生训练集/测试集
a = 1:569;
Train = data(a(1:500),:);
Test = data(a(501:end),:);
% 训练数据
P_train = Train(:,3:end);
T_train = Train(:,2);
% 测试数据
P_test = Test(:,3:end);
T_test = Test(:,2);

DELM的参数设置如下:

这里DELM采用1层结构,每层的节点数分别为32。采用sigmoid激活函数。

%% DELM参数设置
ELMAEhiddenLayer = [32];%ELM—AE的隐藏层数,[n1,n2,...,n],n1代表第1个隐藏层的节点数。
ActivF = 'sig';%ELM-AE的激活函数设置
C = inf; %正则化系数

最终预测结果如下:

训练集预测结果:

测试集结果

训练集正确率Accuracy = 85.4%
测试集正确率Accuracy = 95.6522%

3.参考文献

[1]颜学龙,马润平.基于深度极限学习机的模拟电路故障诊断[J].计算机工程与科学,2019,41(11):1911-1918.

4.Matlab代码

基于深度极限学习机DELM的分类相关推荐

  1. 基于深度迁移学习进行时间序列分类

    在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果. 点击本文底部的「阅读原文」即刻加入社区 ...

  2. 基于深度神经网络的高光谱影响分类方法研究---MNF+自动编码器+Softmax (准确率比较低,17年的论文)

    论文地址 基于深度神经网络的高光谱影响分类方法研究 装备学院学报 遥感影像分类的问题:预处理复杂,高维特征提取困难,分类不够精确等缺陷 首先采用最大噪声分数来降低特征空间维度,然后将自动编码器与sof ...

  3. 基于核极限学习机KELM、在线顺序极限学习机OS-ELM、在线贯序核极限学习机OSKELM

    基于核极限学习机KELM.在线顺序极限学习机OS-ELM.在线贯序核极限学习机OSKELM.遗忘因子的在线贯列核极限学习F-OSKELM和自适应遗忘因子的在线贯列核极限学习AF-OSKELM数据预测, ...

  4. ECG分析:基于深度学习的ECG心律失常分类入门(3)

    ECG分析:基于深度学习的ECG心律失常分类入门(3) 数据库的Python读取 本次读取数据,用的是一款专门读取MITAB数据的工具--WFDB-python,WFDB包下载 ,全称是 Python ...

  5. ECG分析:基于深度学习的ECG心律失常分类入门(1)

    ECG分析:基于深度学习的ECG心律失常分类入门(1) 写作动机 由于受突发疫情的影响,开学时间推迟了(在此特向奋斗在前线的各行各业的工作者们致以崇高的敬意!).前天晚上刚好看到一篇新出的论文,跟自己 ...

  6. ECG分析:基于深度学习的ECG心律失常分类入门(4)

    ECG分析:基于深度学习的ECG心律失常分类入门(4) 在搭建模型之前,讲一下本次任务需要区分的类别,MITAB根据心拍类型划分了14个小类: 也可以用wfdb查看: wfdb.show_ann_la ...

  7. ECG分析:基于深度学习的ECG心律失常分类入门(5)

    ECG分析:基于深度学习的ECG心律失常分类入门(5) 数据和模型完成了之后,就是训练和测试了,这里顺带提一下,MITAB的数据是48条记录的,而我们在做ECG分析的时候,都是去掉了四条记录(102, ...

  8. ECG分析:基于深度学习的ECG心律失常分类入门(2)

    ECG分析:基于深度学习的ECG心律失常分类入门(2) 数据来源:MIT-BIH Arrhythmia Database 数据库介绍和获取 前面已经对ECG信号有了简单的认识,那么现在来简单看看我们的 ...

  9. Data Augmentation for Deep Learning-based Radio ModulationClassification解读(基于深度学习的无线电调制分类数据扩充)

    摘要:深度学习最近被应用于自动分类接收无线电信号的调制类别,而无需人工经验.然而,训练深度学习模型需要大量的数据.训练数据不足会导致严重的过度拟合问题,降低分类精度.为了处理小数据集,数据增强被广泛应 ...

  10. 机器学习 | MATLAB实现PSO-IELM粒子群改进极限学习机回归和分类预测

    分机器学习 | MATLAB实现PSO-IELM粒子群改进极限学习机回归和分类预测 目录 分机器学习 | MATLAB实现PSO-IELM粒子群改进极限学习机回归和分类预测 基本介绍 程序设计 回归主 ...

最新文章

  1. uses 子句的写法
  2. 《淘宝网开店 进货 运营 管理 客服 实战200招》——2.3 开店需要掌握哪些 进货技巧...
  3. 跨链(5)“蚂蚁区块链”之预言机
  4. python while循环和双重循环
  5. Linux:I/O多路转接之select(有图有代码有真相!!!)
  6. [SRM] 09 撕书狂魔CZL
  7. App_Offline.htm 功能,app_offline.htm 是怎样产生的?
  8. 网络传输的七层协议(包括tcp协议和udp协议的区别)
  9. 大学老师招聘面试:说课和答辩
  10. 同程内网流传的分布式凤凰缓存系统手册,竟遭GitHub强行开源下载
  11. 全系列三极管应用参数和代换大全
  12. 计算机启动显示不正确的分区表,双硬盘启动失败提示“无效分区表”无法打开机器...
  13. 运维大佬嘲笑我,这个你都不知道?
  14. 小白白红队初成长(4)文件的面纱
  15. 蓝桥杯:调和级数————Python
  16. JavaScript一些优雅小技巧不得不知
  17. drawio,程序员最好用的在线画图软件!!!
  18. 《JavaScript AST其实很简单》五、Step4-平坦化控制流
  19. 【PAT(甲级)】1063 Set Similarity(题目意思)
  20. STC89C52控制AD0809采集信号并显示

热门文章

  1. DOS命令taskkill
  2. 用python解算法谜题_【编程的乐趣-用python解算法谜题系列】谜题一 保持一致
  3. java tmp 目录_Tmp目录丢失引发Java进程异常
  4. 在html标签中写css样式,html style样式标签元素教程
  5. 服务中没有listen_Odoo 中的 IM(即时通讯)实现分析
  6. 哪吒之魔童降世视听语言影评_《哪吒之魔童降世》影评:生而孤独,从不认命...
  7. python开发wince_零基础学习WinCE开发
  8. 服务器mysql占用_mysql占用服务器cpu过高的原因以及解决办法
  9. 祖冲之算法c语言实现,3GPP机密性和完整性算法规范128-EEA3和128-EIA3(二)----祖冲之算法的C语言实现...
  10. C++_数据结构_堆用法详解