首页 > 编程语言 >卷尾猴算法改进的深度极限学习机DELM的分类

卷尾猴算法改进的深度极限学习机DELM的分类

时间:2024-06-10 16:31:46浏览次数:20  
标签:AE 卷尾猴 ELM DELM 学习机 算法

卷尾猴算法改进的深度极限学习机DELM的分类

文章目录

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是一个通用的逼近器,特点就是使网络的输出与输入相同,而且隐藏层的输入参数 ( a i , b i ) (a_i,b_i) (ai​,bi​)??随机生成后正交。正交化后的优点有:

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

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

ELM-AE的输出可以用如下表达式表示:
x j = ∑ i = 1 L β i G ( a i , b i , x j ) , a i ∈ R m , β i ∈ R m , j = 1 , 2 , . . . , N , a T a = I , b T b = 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)
其中 a a a是 a i a_i ai​组成的矩阵, b b b是 b i b_i bi​?组成的向量。隐藏层的输出权重为:
β = ( I C + H T H ) − 1 H T X (2) \beta = (\frac{I}{C}+H^TH)^{-1}HTX \tag{2} β=(CI​+HTH)−1HTX(2)
其中, X = [ x 1 , . . . , x N ] 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的目标输出( X 1 = X X_1 =X X1​=X),进而求取输出权值 β 1 β_1 β1​ ;然后将DELM第1个隐藏层的输出矩阵 H 1 H_1 H1​当作下1个 E L M − A E ELM-AE ELM−AE的输入与目标输出( X 2 = X X_2=X X2​=X),依次类推逐层训练,最后1层用 E L M ELM ELM来训练,使用式(2)来求解DELM的最后1个隐藏层的输出权重 β i + 1 \beta_{i+1} βi+1​ 。图2中 H i + 1 H_{i+1} Hi+1​ 是最后1个隐藏层的输出矩阵,T是样本标签。 H i + 1 H_{i+1} Hi+1​每1层隐藏层的输入权重矩阵为 W i + 1 = β i + 1 T W_{i+1}=\beta_{i+1}^T Wi+1​=βi+1T​。

3.卷尾猴算法

卷尾猴算法原理请参考:https://blog.csdn.net/u011835903/article/details/123328669

4.卷尾猴算法改进DELM

由上述原理可知原始DELM中的,权重采用随机初始化的方式进行初始化,而初始权重对于整个模型的预测结果影响比较大,于是采用卷尾猴算法对DELM的初始权重进行优化。适应度函数设计如下:
f i t n e s s = 2 − A c c u r a c y ( t r a i n ) − A c c u r a c y ( t e s t ) fitness=2-Accuracy(train)-Accuracy(test) fitness=2−Accuracy(train)−Accuracy(test)
适应度函数为,训练集和测试集(验证集)的分类错误率,分类错误率越低,代表分类正确率越高。

5.实验结果

本文对乳腺肿瘤数据进行分类。采用随机法产生训练集和测试集,其中训练集包含 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; %正则化系数

卷尾猴算法的相关参数设置如下:

%% 优化算法参数设置:
%计算权值的维度
dim=0;
for i = 1:length(ELMAEhiddenLayer)
   dim = dim+ ELMAEhiddenLayer(i)*size(P_train,2);
end
popsize = 20;%种群数量
Max_iteration = 50;%最大迭代次数
lb = -1;%权值下边界
ub = 1;%权值上边界
fobj = @(X)fun(X,P_train,T_train,P_test,T_test,ELMAEhiddenLayer,ActivF,C);
[Best_pos,Best_score,SSA_cg_curve]=SSA(popsize,Max_iteration,lb,ub,dim,fobj);

最终预测结果如下:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

从结果来看,无论训练集还是测试集优化后的结果,均更优。

6.参考文献

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

7.Matlab代码

标签:AE,卷尾猴,ELM,DELM,学习机,算法
From: https://blog.csdn.net/u011835903/article/details/139578207

相关文章

  • 一键部署,玩转AI!天翼云Llama 3大模型学习机来了!
    近日,Meta公司发布了其最新研发成果——开源大模型Llama3,共包含Llama38B和Llama370B两种规格,参数量级分别为80亿与700亿,并表示这是目前同体量下性能最好的开源模型。相较于前代产品Llama2,Llama3在预训练数据上扩大了整整7倍(达到15Ttokens),并且在数据质量与训练方式上也进行......
  • LList_DelMin
    删除单链表L(有头结点)中的一个最小值结点。/*************************************************************filename: *author:[email protected]*date:2024/04/23*function: *note:None**CopyRig......
  • 基于斑马算法优化的核极限学习机(KELM)回归预测
    基于斑马算法优化的核极限学习机(KELM)回归预测文章目录基于斑马算法优化的核极限学习机(KELM)回归预测1.KELM理论基础2.回归问题数据处理4.基于斑马算法优化的KELM5.测试结果6.Matlab代码摘要:本文利用斑马算法对核极限学习机(KELM)进行优化,并用于回归预测.1.KEL......
  • 基于蜜獾算法优化的核极限学习机(KELM)回归预测
    基于蜜獾算法优化的核极限学习机(KELM)回归预测文章目录基于蜜獾算法优化的核极限学习机(KELM)回归预测1.KELM理论基础2.回归问题数据处理4.基于蜜獾算法优化的KELM5.测试结果6.Matlab代码摘要:本文利用蜜獾算法对核极限学习机(KELM)进行优化,并用于回归预测.1.KEL......
  • 基于阿基米德优化算法优化的核极限学习机(KELM)回归预测
    基于阿基米德优化算法优化的核极限学习机(KELM)回归预测文章目录基于阿基米德优化算法优化的核极限学习机(KELM)回归预测1.KELM理论基础2.回归问题数据处理4.基于阿基米德优化算法优化的KELM5.测试结果6.Matlab代码摘要:本文利用阿基米德优化算法对核极限学习机(KELM......
  • 基于寄生捕食算法优化的核极限学习机(KELM)回归预测
    基于寄生捕食算法优化的核极限学习机(KELM)回归预测文章目录基于寄生捕食算法优化的核极限学习机(KELM)回归预测1.KELM理论基础2.回归问题数据处理4.基于寄生捕食算法优化的KELM5.测试结果6.Matlab代码摘要:本文利用寄生捕食算法对核极限学习机(KELM)进行优化,并用于......
  • 基于黑寡妇算法优化的核极限学习机(KELM)回归预测
    基于黑寡妇算法优化的核极限学习机(KELM)回归预测文章目录基于黑寡妇算法优化的核极限学习机(KELM)回归预测1.KELM理论基础2.回归问题数据处理4.基于黑寡妇算法优化的KELM5.测试结果6.Matlab代码摘要:本文利用黑寡妇算法对核极限学习机(KELM)进行优化,并用于回归预测.......
  • 基于未来搜索算法优化的核极限学习机(KELM)回归预测
    基于未来搜索算法优化的核极限学习机(KELM)回归预测文章目录基于未来搜索算法优化的核极限学习机(KELM)回归预测1.KELM理论基础2.回归问题数据处理4.基于未来搜索算法优化的KELM5.测试结果6.Matlab代码摘要:本文利用未来搜索算法对核极限学习机(KELM)进行优化,并用于......
  • 13. 一起学习机器学习 PCA
    LineardimensionalityreductionThepurposeofthisnotebookistounderstandandimplementtwolineardimensionalityreductionmethods:Principlecomponentanalysis(PCA)Non-NegativeMatrixFactorization(NMF)Themainideaofthesemethodsistoappro......
  • 10. 一起学习机器学习 -- Convolutional Neural Networks (CNNs)
    ConvolutionalNeuralNetworks(CNNs)ThepurposeofthisnotebookistopracticeimplementingandtrainingCNNs.Westartwitha1-dimensionalconvolutionallayerinNumPy.WewillthenusePyTorch,anoptimisedmachinelearningframeworkforPythonbas......