基于深度极限学习机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. mynginx.conf
  2. 用于部分迁移学习的加权对抗网络 | CVPR 2018论文解读
  3. php 实现同一个账号同时只能一个人登录
  4. 事业单位考试题库计算机网络,2015年事业单位计算机基础知识试题及答案
  5. React 18 带给我们的惊喜
  6. 区块链究竟是什么?看完这篇秒懂!
  7. Oracle or Question Solve(二)
  8. 课后作业-阅读任务3
  9. java延迟队列,java高级面试笔试题
  10. 期权“不公平”是认识上的错误
  11. 优化理论08-----约束优化的最优性条件、拉格朗日条件、凸性、约束规范、二阶最优性条件(下)
  12. 禁止双击、拖动listctrl列头
  13. [Threejs]环境光与HDR贴图
  14. Report Machine使用方法
  15. 微信小程序修改BUTTON点击态样式
  16. Markdown文档书写方法(工具+示例+验证)
  17. 本科论文的标准格式是什么样的?
  18. IDEA不同颜色文件代表的意思
  19. C语言数字图像处理---2.1 二值图像形态学算法
  20. 置换贴图,法线贴图,凹凸贴图的区别

热门文章

  1. html5实现拖拽上传图片,JS HTML5拖拽上传图片预览
  2. rpm升级linux内核,用rpm方式升级RHEL6.1内核
  3. @data注解_SpringBoot入门实践(七)-Spring-Data-JPA实现数据访问
  4. Druid连接池jar包的下载 配置和简单使用
  5. java image 内存不足_一招解决游戏内存不足的神器Caffeine
  6. java取html中的table_htmlunit 操作table表格(一)
  7. gitee怎么仓库间传文件_薄书的Gitee 码云使用教程学习纪录 - 薄书
  8. tsm linux文件备份命令,IBM TSM简单使用文档
  9. sublime text3怎么运行python代码_sublime text3 怎么配置、运行python
  10. python isodd()判断奇偶_EXCEL VBA:Iseven Isodd 判断奇偶