news 2026/5/1 8:11:26

DNN深度神经网络模型做多输入单输出的拟合预测建模之旅

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DNN深度神经网络模型做多输入单输出的拟合预测建模之旅

DNN深度神经网络模型做多输入单输出的拟合预测建模。 程序内注释详细直接替换数据就可以使用。 程序语言为matlab,需求版本为2018及以上。 程序直接运行可以出拟合预测图,迭代优化图,线性拟合预测图,多个预测评价指标。

在机器学习领域,深度神经网络(DNN)是一个强大的工具,尤其适用于复杂的拟合预测任务。今天,咱就来聊聊如何用Matlab(2018及以上版本)实现基于DNN的多输入单输出拟合预测建模,而且直接运行程序就能看到各种超有用的图和预测评价指标。

数据准备

首先,咱得准备数据。假设我们有多个输入特征inputData和对应的输出标签outputData。在实际应用中,这些数据可能来自各种传感器、实验记录等等。

% 加载数据,这里假设数据保存在.mat文件中 load('yourData.mat'); % 划分训练集和测试集,通常80%数据用于训练,20%用于测试 trainRatio = 0.8; numSamples = size(inputData, 1); trainIndices = randperm(numSamples, round(trainRatio * numSamples)); testIndices = setdiff(1:numSamples, trainIndices); trainInput = inputData(trainIndices, :); trainOutput = outputData(trainIndices, :); testInput = inputData(testIndices, :); testOutput = outputData(testIndices, :);

这段代码先是加载数据,然后按照设定的比例把数据划分成训练集和测试集。划分的依据就是随机选取一定比例的数据作为训练集,剩下的就是测试集啦。

构建DNN模型

接下来,构建DNN模型。Matlab提供了方便的神经网络工具箱来搭建模型。

% 创建一个前馈神经网络 layers = [ sequenceInputLayer(size(trainInput, 2)) % 输入层,维度和输入数据特征数一致 fullyConnectedLayer(10) % 隐藏层,10个神经元,可以根据实际调整 reluLayer % 激活函数使用ReLU fullyConnectedLayer(1) % 输出层,单输出 regressionLayer]; % 回归层,因为是拟合预测任务 % 设置训练选项 options = trainingOptions('adam',... 'MaxEpochs', 100,... 'InitialLearnRate', 0.001,... 'ValidationData', {testInput, testOutput},... 'ValidationFrequency', 10,... 'Verbose', false,... 'Plots', 'training-progress');

这里先定义了神经网络的层次结构,输入层根据输入数据特征数确定,隐藏层选了10个神经元(这个数量可以像调参数一样,根据实验效果调整),用ReLU激活函数增加非线性,输出层是单输出对应我们的单输出任务。然后设置训练选项,用Adam优化器,最大训练100轮,初始学习率0.001,还指定了验证数据和验证频率,同时设置了是否打印训练信息和绘制训练过程图。

训练模型

有了模型和数据,那就开始训练吧。

% 训练神经网络 net = trainNetwork(trainInput, trainOutput, layers, options);

就这么简单一行代码,Matlab就会按照我们设定的模型和训练选项去训练DNN模型啦。

预测与评估

训练好模型,就得看看效果咋样。

% 进行预测 predictedOutput = predict(net, testInput); % 计算预测评价指标 mseValue = mse(predictedOutput, testOutput); rmseValue = sqrt(mseValue); maeValue = mae(predictedOutput, testOutput); fprintf('均方误差 (MSE): %.4f\n', mseValue); fprintf('均方根误差 (RMSE): %.4f\n', rmseValue); fprintf('平均绝对误差 (MAE): %.4f\n', maeValue);

预测用predict函数,然后计算了均方误差(MSE)、均方根误差(RMSE)和平均绝对误差(MAE)这些常见的预测评价指标,并且打印出来让我们直观看到模型预测的准确程度。

绘图展示

最后,咱把结果可视化,看看拟合预测图、迭代优化图和线性拟合预测图。

% 拟合预测图 figure; scatter(testOutput, predictedOutput); xlabel('实际输出'); ylabel('预测输出'); title('拟合预测图'); line([min(testOutput), max(testOutput)], [min(testOutput), max(testOutput)], 'Color', 'r', 'LineStyle', '--'); % 迭代优化图(训练过程图,由trainingOptions中的Plots选项生成) % 线性拟合预测图 figure; p = polyfit(testOutput, predictedOutput, 1); yFit = polyval(p, testOutput); plot(testOutput, yFit, 'r-', 'LineWidth', 1.5); hold on; scatter(testOutput, predictedOutput); xlabel('实际输出'); ylabel('预测输出'); title('线性拟合预测图');

拟合预测图用散点图展示实际输出和预测输出的关系,还画了条对角线作为参考。线性拟合预测图先做了个线性拟合,然后把拟合线和散点画在一起,这样能直观看到预测结果和线性关系的符合程度。而迭代优化图在训练过程中就自动生成啦,能看到训练过程中损失函数等指标的变化。

通过以上步骤,我们就完成了基于Matlab的DNN多输入单输出拟合预测建模,不仅能得到准确的预测结果,还能用各种图和指标清晰展示模型性能。大家不妨动手试试,根据自己的数据调整参数,说不定能发现更有趣的结果呢。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/27 4:42:04

Weights Biases监控TensorFlow实验全过程

Weights & Biases监控TensorFlow实验全过程 在现代AI研发中,一个常见的场景是:团队成员各自训练模型,本地跑完一批实验后,通过微信群或邮件分享截图和参数。几天后,有人发现某个高准确率的结果,却再也复…

作者头像 李华
网站建设 2026/4/23 14:08:06

ALIGN模型复现:千万级图文对训练启示

ALIGN模型复现:千万级图文对训练启示 在如今的多模态AI浪潮中,一个看似简单的问题却困扰着许多工程团队:如何让模型真正“看懂”图片和文字之间的关系? 尤其是当数据规模从百万跃升至千万甚至上亿级时,传统的研究级框架…

作者头像 李华
网站建设 2026/4/29 10:13:05

生成式AI辅助漏洞分析:软件测试者的双刃剑

一、技术革命:AI如何重构漏洞分析范式 1.1 效率维度突破 自动化漏洞模式识别 案例:DeepScan AI通过语义分析在金融系统代码库中3小时内识别412处潜在注入漏洞,人工团队需72人时(2025年Gartner测试报告) 智能测试用例生…

作者头像 李华
网站建设 2026/4/27 17:34:03

端到端安全测试策略全景图

测试从业者面临的三大挑战漏洞滞后性:传统测试中安全环节后置,75%漏洞在投产前未被发现工具孤岛:SAST/DAST/IAST工具独立运行,扫描覆盖盲区达32%协作断层:开发/测试/安全团队需求理解偏差率超40%四维策略框架构建graph…

作者头像 李华
网站建设 2026/4/27 22:48:57

[Windows] BiliTools v1.4.7 B站视频下载工具

[Windows] BiliTools v1.4.7 B站视频下载工具 链接:https://pan.xunlei.com/s/VOhURGkgMRujDdmMR4e0UHeUA1?pwd2394# BiliTools v1.4.7 是一款开源免费的 B 站视频下载工具,核心支持 8K 超清视频下载、音频提取、弹幕保存等实用功能,还能一…

作者头像 李华
网站建设 2026/4/26 2:02:07

大脑能力32岁才达巅峰!Cell和Nature子刊:一生有4个转折点,32岁正值高效“换挡”期,但内分泌率先失守,开始断崖式衰老

大脑能力32岁才达巅峰!Cell和Nature子刊:一生有4个转折点,32岁正值高效“换挡”期,但内分泌率先失守,开始断崖式衰老 原创 木白 梅斯医学 2025年12月23日 07:50 上海 要说有什么话题,能不分国界、不论年龄…

作者头像 李华