回归预测 | MATLAB实现DNN全连接神经网络多输入多输出

简介: 回归预测 | MATLAB实现DNN全连接神经网络多输入多输出

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测雷达通信 无线传感器

信号处理图像处理路径规划元胞自动机无人机 电力系统

⛄ 内容介绍

采用DNN 深度神经网络作为模型训练架构,具体如图 3 所示.模型输入

将网络训练中的每层输出特征数据分成“小批”样本,对每个“小批”样本结合标准差拟合方法进行批量归一化算法后再输入到神经网络的下一层,克服了极化滤波算法在数据集中数据不完整情况下预测不佳的问题.模型训练过程主要包括训练样本的网络前向传播以及误差项的网络反向传播过程. 网络前向传播得到学习后的滤波器系数预测值,通过损失函数计算网络在这批数据上的输出值与目标值之间的误差,以此衡量网络在训练数据后的预测值与预期结果的匹配程度,计算损失相对于网络权重的梯度,通过梯度下降法来一步步的迭代更新各个神经元的权重以及偏置参数,直至达到模型预先设定的迭代次数或者所得误差在指定的范围为止.

本文使用10000 个数据进行训练,设定一批数据包含的样本数目为 64,迭代次数的初始阈值设为 156,经观测预测值与实际值间误差 Loss 图,可知在训练初期,误差值会迅速降低,随后趋于稳定. 若迭代次数过高,则会导致资源浪费,算法耗时较长. 因此设置 H1H2H3迭代次数均为 55

⛄ 部分代码

clc;clear all;

SNRdB=0:0.25:3; %SNR in dB

k=512/4;

n=1024/4; % 码长

niter= 60;% 最大迭代此时

nb_err = zeros(1,length(SNRdB));

nb_code = zeros(1,length(SNRdB));

nb_err_max= 100 ;

nb_code_max= 1e4;

H= gen_h(n,6,3);% 产生H

[Hs,H]=gen_Hs(H); % 化为系统码

Q= Hs(:,1:k)'; % 生成矩阵的Q


for s= 1:length(SNRdB)

   sigma = 10^(-SNRdB(s)/20);% 其平方是噪声功率

   while nb_err(s)<nb_err_max && nb_code(s)<nb_code_max

       nb_code(s) = nb_code(s)+1;

       b = rand(1,k)<0.5;

       c=[b,rem(b*Q,2)];% 系统码编码

       x=(-1).^c;% BPSK modulation

       noise = sigma * randn(1,length(x));

       y = x+noise;

       lam_ch= 2*y/sigma^2;%软解调

       hat_c= msa(lam_ch,niter,H);

       err = any(hat_c~=c); %c是发送码字,hat_c是硬判决

       if err

           nb_err(s)= nb_err(s)+err;

           disp([nb_err;nb_code])

       end

   end

end


WER= nb_err./nb_code;

EbN0dB= SNRdB+10*log10(n/k/2);%化成Eb/N0,参考式(1)

figure(1)

semilogy(EbN0dB, WER,'o-','LineWidth',2)

xlabel('Eb/N0')

ylabel('WER')

grid on;

hold on


SNRdB=0:0.25:3; %SNR in dB

k=512/2;

n=1024/2; % 码长

niter= 60;% 最大迭代此时

nb_err = zeros(1,length(SNRdB));

nb_code = zeros(1,length(SNRdB));

nb_err_max= 100 ;

nb_code_max= 1e4;

H= gen_h(n,6,3);% 产生H

[Hs,H]=gen_Hs(H); % 化为系统码

Q= Hs(:,1:k)'; % 生成矩阵的Q


for s= 1:length(SNRdB)

   sigma = 10^(-SNRdB(s)/20);% 其平方是噪声功率

   while nb_err(s)<nb_err_max && nb_code(s)<nb_code_max

       nb_code(s) = nb_code(s)+1;

       b = rand(1,k)<0.5;

       c=[b,rem(b*Q,2)];% 系统码编码

       x=(-1).^c;% BPSK modulation

       noise = sigma * randn(1,length(x));

       y = x+noise;

       lam_ch= 2*y/sigma^2;%软解调

       hat_c= msa(lam_ch,niter,H);

       err = any(hat_c~=c); %c是发送码字,hat_c是硬判决

       if err

           nb_err(s)= nb_err(s)+err;

           disp([nb_err;nb_code])

       end

   end

end


WER= nb_err./nb_code;

EbN0dB= SNRdB+10*log10(n/k/2);%化成Eb/N0,参考式(1)

figure(1)

semilogy(EbN0dB, WER,'s-','LineWidth',2)

xlabel('Eb/N0')

ylabel('WER')

grid on;

hold on


SNRdB=0:0.25:3; %SNR in dB

k=512;

n=1024; % 码长

niter= 60;%最大迭代此时

nb_err = zeros(1,length(SNRdB));

nb_code = zeros(1,length(SNRdB));

nb_err_max= 100 ;

nb_code_max= 1e4;

H= gen_h(n,6,3);%产生H

[Hs,H]=gen_Hs(H); %化为系统码

Q= Hs(:,1:k)'; %生成矩阵的Q


for s= 1:length(SNRdB)

   sigma = 10^(-SNRdB(s)/20);%其平方是噪声功率

   while nb_err(s)<nb_err_max && nb_code(s)<nb_code_max

       nb_code(s) = nb_code(s)+1;

       b = rand(1,k)<0.5;

       c=[b,rem(b*Q,2)];%系统码编码

       x=(-1).^c;%BPSK modulation

       noise = sigma * randn(1,length(x));

       y = x+noise;

       lam_ch= 2*y/sigma^2;%软解调

       hat_c= msa(lam_ch,niter,H);

       err = any(hat_c~=c); %c是发送码字,hat_c是硬判决

       if err

           nb_err(s)= nb_err(s)+err;

           disp([nb_err;nb_code])

       end

   end

end


WER= nb_err./nb_code;

EbN0dB= SNRdB+10*log10(n/k/2);%化成Eb/N0,参考式(1)

figure(1)

semilogy(EbN0dB, WER,'^-','LineWidth',2)

xlabel('Eb/N0')

ylabel('WER')

grid on;


legend('n=256','n=512','n=1024')

⛄ 运行结果

⛄ 参考文献

[1]张嘉纹, 党小宇, 杨凌辉,等. 海面短波地波通信中基于DNN神经网络的单样本极化滤波器预测研究[J]. 电子学报, 2020, 48(11):2250-2257.

⛄ 完整代码

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料


相关文章
|
14天前
|
机器学习/深度学习 算法
基于改进遗传优化的BP神经网络金融序列预测算法matlab仿真
本项目基于改进遗传优化的BP神经网络进行金融序列预测,使用MATLAB2022A实现。通过对比BP神经网络、遗传优化BP神经网络及改进遗传优化BP神经网络,展示了三者的误差和预测曲线差异。核心程序结合遗传算法(GA)与BP神经网络,利用GA优化BP网络的初始权重和阈值,提高预测精度。GA通过选择、交叉、变异操作迭代优化,防止局部收敛,增强模型对金融市场复杂性和不确定性的适应能力。
149 80
|
3天前
|
机器学习/深度学习 数据采集 算法
基于GA遗传优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真
本项目基于MATLAB2022a实现时间序列预测,采用CNN-GRU-SAM网络结构。卷积层提取局部特征,GRU层处理长期依赖,自注意力机制捕捉全局特征。完整代码含中文注释和操作视频,运行效果无水印展示。算法通过数据归一化、种群初始化、适应度计算、个体更新等步骤优化网络参数,最终输出预测结果。适用于金融市场、气象预报等领域。
基于GA遗传优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真
|
20天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于yolov4深度学习网络的公共场所人流密度检测系统matlab仿真,带GUI界面
本项目使用 MATLAB 2022a 进行 YOLOv4 算法仿真,实现公共场所人流密度检测。通过卷积神经网络提取图像特征,将图像划分为多个网格进行目标检测和识别,最终计算人流密度。核心程序包括图像和视频读取、处理和显示功能。仿真结果展示了算法的有效性和准确性。
60 31
|
8天前
|
机器学习/深度学习 算法
基于遗传优化的双BP神经网络金融序列预测算法matlab仿真
本项目基于遗传优化的双BP神经网络实现金融序列预测,使用MATLAB2022A进行仿真。算法通过两个初始学习率不同的BP神经网络(e1, e2)协同工作,结合遗传算法优化,提高预测精度。实验展示了三个算法的误差对比结果,验证了该方法的有效性。
|
11天前
|
机器学习/深度学习 数据采集 算法
基于PSO粒子群优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真
本项目展示了基于PSO优化的CNN-GRU-SAM网络在时间序列预测中的应用。算法通过卷积层、GRU层、自注意力机制层提取特征,结合粒子群优化提升预测准确性。完整程序运行效果无水印,提供Matlab2022a版本代码,含详细中文注释和操作视频。适用于金融市场、气象预报等领域,有效处理非线性数据,提高预测稳定性和效率。
|
2月前
|
机器学习/深度学习 算法 Serverless
基于WOA-SVM的乳腺癌数据分类识别算法matlab仿真,对比BP神经网络和SVM
本项目利用鲸鱼优化算法(WOA)优化支持向量机(SVM)参数,针对乳腺癌早期诊断问题,通过MATLAB 2022a实现。核心代码包括参数初始化、目标函数计算、位置更新等步骤,并附有详细中文注释及操作视频。实验结果显示,WOA-SVM在提高分类精度和泛化能力方面表现出色,为乳腺癌的早期诊断提供了有效的技术支持。
|
29天前
|
机器学习/深度学习 算法 Python
基于BP神经网络的金融序列预测matlab仿真
本项目基于BP神经网络实现金融序列预测,使用MATLAB2022A版本进行开发与测试。通过构建多层前馈神经网络模型,利用历史金融数据训练模型,实现对未来金融时间序列如股票价格、汇率等的预测,并展示了预测误差及训练曲线。
|
27天前
|
机器学习/深度学习 算法 信息无障碍
基于GoogleNet深度学习网络的手语识别算法matlab仿真
本项目展示了基于GoogleNet的深度学习手语识别算法,使用Matlab2022a实现。通过卷积神经网络(CNN)识别手语手势,如&quot;How are you&quot;、&quot;I am fine&quot;、&quot;I love you&quot;等。核心在于Inception模块,通过多尺度处理和1x1卷积减少计算量,提高效率。项目附带完整代码及操作视频。
|
5天前
|
传感器 算法
基于GA遗传优化的WSN网络最优节点部署算法matlab仿真
本项目基于遗传算法(GA)优化无线传感器网络(WSN)的节点部署,旨在通过最少的节点数量实现最大覆盖。使用MATLAB2022A进行仿真,展示了不同初始节点数量(15、25、40)下的优化结果。核心程序实现了最佳解获取、节点部署绘制及适应度变化曲线展示。遗传算法通过初始化、选择、交叉和变异步骤,逐步优化节点位置配置,最终达到最优覆盖率。
|
30天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于深度学习网络的宝石类型识别算法matlab仿真
本项目利用GoogLeNet深度学习网络进行宝石类型识别,实验包括收集多类宝石图像数据集并按7:1:2比例划分。使用Matlab2022a实现算法,提供含中文注释的完整代码及操作视频。GoogLeNet通过其独特的Inception模块,结合数据增强、学习率调整和正则化等优化手段,有效提升了宝石识别的准确性和效率。

热门文章

最新文章