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


文章目录

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


1.ELM原理

自动编码器 AE(Auto Encoder)经过训练可以将输入复制到输出。因为不需要标记数据,训练自动编码器是不受监督的。因此,将AE的思想应用到ELM中,使ELM的输入数据同样被用于输出,即输出Y=X。作为自编码器的极限学习机ELM-AE网络结构如图1所示。

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

图1.ELM-AE网络结构图

若图1中m>L ,ELM-AE实现维度压缩,将高维度数据映射成低维度特征表达;若 m=L,ELM-AE实现等维度的特征表达;若 m<L ,ELM-AE实现稀疏表达,即原始数据的高维特征表达。

综上,ELM-AE是一个通用的逼近器,特点就是使网络的输出与输入相同,而且隐藏层的输入参数基于深度极限学习机DELM的分类_机器学习_02随机生成后正交。正交化后的优点有:

(1)根 据 J-L(Johnson-Lindensrauss) 定理,权重和偏置正交化可以将输入数据映射到不同或等维度的空间,从而实现不同功能的特征表达。

(2)权重和偏置的正交化设计可以去除特征以外的噪声,使特征之间均匀,且更加线性独立进而增强系统的泛化能力。

ELM-AE的输出可以用如下表达式表示:
基于深度极限学习机DELM的分类_人工智能_03
其中基于深度极限学习机DELM的分类_算法_04基于深度极限学习机DELM的分类_机器学习_05组成的矩阵,基于深度极限学习机DELM的分类_算法_06基于深度极限学习机DELM的分类_人工智能_07组成的向量。隐藏层的输出权重为:
基于深度极限学习机DELM的分类_算法_08
其中,基于深度极限学习机DELM的分类_算法_09是输入数据。

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

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

基于深度极限学习机DELM的分类_算法_10


图2.DELM模型训练过程

DELM的思想是通过最大限度地降低重构误差使输出可以无限接近原始输入,经过每一层的训练,可以学习到原始数据的高级特征。图2描述了DELM模型的训练过程,将输入数据样本X作为第1个ELM-AE的目标输出(基于深度极限学习机DELM的分类_神经网络_11),进而求取输出权值 基于深度极限学习机DELM的分类_深度学习_12 ;然后将DELM第1个隐藏层的输出矩阵基于深度极限学习机DELM的分类_人工智能_13当作下1个基于深度极限学习机DELM的分类_人工智能_14的输入与目标输出(基于深度极限学习机DELM的分类_深度学习_15),依次类推逐层训练,最后1层用基于深度极限学习机DELM的分类_机器学习_16来训练,使用式(2)来求解DELM的最后1个隐藏层的输出权重基于深度极限学习机DELM的分类_神经网络_17 。图2中基于深度极限学习机DELM的分类_神经网络_18 是最后1个隐藏层的输出矩阵,T是样本标签。 基于深度极限学习机DELM的分类_神经网络_18每1层隐藏层的输入权重矩阵为基于深度极限学习机DELM的分类_人工智能_20

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; %正则化系数

最终预测结果如下:

训练集预测结果:

基于深度极限学习机DELM的分类_神经网络_21

测试集结果

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


训练集正确率Accuracy = 85.4%

测试集正确率Accuracy = 95.6522%

3.参考文献

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

4.Matlab代码

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