基于麻雀算法优化的深度极限学习机DLM的预测算法(Matlab代码实现)

简介: 基于麻雀算法优化的深度极限学习机DLM的预测算法(Matlab代码实现)

👨‍🎓个人主页:研学社的博客

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码及文章讲解


image.gif

💥1 概述

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

image.gif

DELM的思想是通过最大限度地降低重构误差使输出可以无限接近原始输入,经过每一层的训练,可以学习到原始数据的高级特征。图2描述了DELM模型的训练过程,将输入数据样本X作为第1个ELM-AE的目标输出(=X),进而求取输出权值βr﹔然后将DELM第1个隐藏层的输出矩阵H当作下1个ELM ― AE的输入与目标输出(=X),依次类推逐层训练,最后1层用ELM来训练,使用式(2)来求解DELM的最后1个隐藏层的输出权重。图2中是最后1个隐藏层的输出矩阵,T是样本标签。image.gif编辑每1层隐藏层的输入权重矩阵为

📚2 运行结果

image.gif

image.gif

image.gif

image.gif

部分代码:

%% 带初始权重的DELM训练函数

%输入-----------------------

%InputWietht:输入的初始权重

%P_train 输入数据,数据格式为N*dim,N代表数据组数,dim代表数据维度。

%T_train 输入标签数据

%ActiveF 为激活函数,如'sig','sin','hardlim','tribas'等。

%C为正则化系数

%输出: outWeight为输出权重

function OutWeight = DELMTrainWithInitial(InputWietht,P_train,T_train,ELMAEhiddenLayer,ActivF,C)

hiddenLayerSize = length(ELMAEhiddenLayer); %获取ELM-AE的层数

outWieght = {};%用于存放所有的权重

P_trainOrg = P_train;

count = 1;

%% ELM-AE提取数据特征

for i = 1:hiddenLayerSize

   Num = ELMAEhiddenLayer(i)*size(P_train,2);

   InputW = InputWietht(count:count+Num-1);

   count = count+Num;

   InputW = reshape(InputW,[ELMAEhiddenLayer(i),size(P_train,2)]);

   [~,B,Hnew] = ELM_AEWithInitial(InputW,P_train,ActivF,ELMAEhiddenLayer(i)); %获取权重

   OutWeight{i} = B';

   P_train =P_train*B'; %输入经过第一层后传递给下一层

end

%% 最后一层ELM进行监督训练

P = P_train;

N =size(P,2);

I = eye(N);

beta = pinv((P'*P+I/C))*P'*T_train;

OutWeight{hiddenLayerSize + 1} = beta; %存储最后一层ELM的信息。

end

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]张文帅,王占刚.基于改进麻雀算法优化深度极限学习机的缺失数据预测[J].电子测量技术,2022,45(15):63-67.DOI:10.19651/j.cnki.emt.2209216.

🌈4 Matlab代码及文章讲解

链接:https://pan.baidu.com/s/1rjShcvq-OozdKoVLJvmg_g 

提取码:9ksb

--来自百度网盘超级会员V3的分享

相关文章
|
1天前
|
算法 调度
基于遗传模拟退火混合优化算法的车间作业最优调度matlab仿真,输出甘特图
车间作业调度问题(JSSP)通过遗传算法(GA)和模拟退火算法(SA)优化多个作业在并行工作中心上的加工顺序和时间,以最小化总完成时间和机器闲置时间。MATLAB2022a版本运行测试,展示了有效性和可行性。核心程序采用作业列表表示法,结合遗传操作和模拟退火过程,提高算法性能。
|
2天前
|
人工智能 算法 大数据
Linux内核中的调度算法演变:从O(1)到CFS的优化之旅###
本文深入探讨了Linux操作系统内核中进程调度算法的发展历程,聚焦于O(1)调度器向完全公平调度器(CFS)的转变。不同于传统摘要对研究背景、方法、结果和结论的概述,本文创新性地采用“技术演进时间线”的形式,简明扼要地勾勒出这一转变背后的关键技术里程碑,旨在为读者提供一个清晰的历史脉络,引领其深入了解Linux调度机制的革新之路。 ###
|
12天前
|
人工智能 算法 数据安全/隐私保护
基于遗传优化的SVD水印嵌入提取算法matlab仿真
该算法基于遗传优化的SVD水印嵌入与提取技术,通过遗传算法优化水印嵌入参数,提高水印的鲁棒性和隐蔽性。在MATLAB2022a环境下测试,展示了优化前后的性能对比及不同干扰下的水印提取效果。核心程序实现了SVD分解、遗传算法流程及其参数优化,有效提升了水印技术的应用价值。
|
11天前
|
存储 缓存 算法
优化轮询算法以提高资源分配的效率
【10月更文挑战第13天】通过以上这些优化措施,可以在一定程度上提高轮询算法的资源分配效率,使其更好地适应不同的应用场景和需求。但需要注意的是,优化策略的选择和实施需要根据具体情况进行详细的分析和评估,以确保优化效果的最大化。
|
12天前
|
并行计算 算法 IDE
【灵码助力Cuda算法分析】分析共享内存的矩阵乘法优化
本文介绍了如何利用通义灵码在Visual Studio 2022中对基于CUDA的共享内存矩阵乘法优化代码进行深入分析。文章从整体程序结构入手,逐步深入到线程调度、矩阵分块、循环展开等关键细节,最后通过带入具体值的方式进一步解析复杂循环逻辑,展示了通义灵码在辅助理解和优化CUDA编程中的强大功能。
|
3月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
174 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
3月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
122 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
3月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
86 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
6月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)