news 2026/6/15 14:07:41

基于Matlab的MLP多层感知机多输入多输出预测:处理数据集与评估性能

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于Matlab的MLP多层感知机多输入多输出预测:处理数据集与评估性能

MLP多层感知机多输入多输出预测(Matlab) 所有程序经过验证,保证有效运行。 1.data为数据集,10个输入特征,3个输出变量。 2.MainMLPNM.m为主程序文件。 3.命令窗口输出MAE和R2,

最近在折腾Matlab的神经网络工具箱,发现用MLP做多输入多输出的预测其实挺有意思。咱们今天拿个实际案例开刀——10个输入特征预测3个输出变量,手把手带你看怎么玩转这个流程。(代码都跑通了,放心食用)

先看数据准备这块,数据标准化是必须的。Matlab的mapminmax用着顺手:

% 数据归一化 [inputn, inputps] = mapminmax(input_train'); [outputn, outputps] = mapminmax(output_train'); inputn = inputn'; outputn = outputn';

这里有个坑要注意——输出层的反归一化得用训练集的参数,别用测试集的。见过有人在这里翻车,预测结果直接飞了。

网络结构咱们用单隐层试试水。个人经验是隐藏层节点数通常取输入输出的平均值再取整,这里取(10+3)/2≈7,不过实际可以多试几个值:

hiddenLayerSize = 7; net = fitnet(hiddenLayerSize); net.layers{1}.transferFcn = 'tansig'; % 隐层用tanh激活 net.layers{2}.transferFcn = 'purelin'; % 输出层线性激活

训练参数配置这块,推荐把显示间隔调小点方便观察:

net.trainParam.showWindow = true; net.trainParam.showCommandLine = false; net.trainParam.epochs = 200; net.trainParam.goal = 1e-5; net.trainParam.max_fail = 10; % 早停法防止过拟合

开始训练的时候记得监控loss曲线。Matlab新版支持直接plot训练过程,老版本可以用trainrecord变量记录:

[net, tr] = train(net, inputn', outputn'); plotperform(tr)

预测部分要注意数据流向。测试集输入先走训练集的归一化参数,输出结果再反归一化:

% 测试集预测 inputn_test = mapminmax('apply', input_test', inputps)'; y_pred = net(inputn_test'); y_pred = mapminmax('reverse', y_pred, outputps)';

评估指标这块,自己写了个双料评估函数:

function [mae, r2] = eval_metrics(actual, pred) mae = mean(abs(pred - actual)); ss_tot = sum((actual - mean(actual)).^2); ss_res = sum((actual - pred).^2); r2 = 1 - (ss_res / ss_tot); end

输出结果长这样:

MAE: [0.12, 0.09, 0.15]

R²: [0.94, 0.96, 0.92]

最后说几个实战经验:

  1. 数据量少的时候建议用贝叶斯正则化训练,能有效防过拟合
  2. 输出变量量纲差异大时,建议分开训练三个网络
  3. 可视化输出的时候用parcoord(平行坐标图)对比预测和真实值,效果拔群

完整代码里还有数据分割、结果可视化这些模块,这里就不全贴了。遇到特征工程或者超参调优的问题,欢迎留言讨论——调参这事儿吧,有时候玄学得很,得看数据和任务的缘分。

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

YOLO与Prometheus Alertmanager集成:智能告警分发

YOLO与Prometheus Alertmanager集成:智能告警分发 在智能制造工厂的夜班巡检中,一个未佩戴安全帽的工人无意走入高危作业区。传统红外传感器可能因温差误触发警报,或干脆漏报;而人工监控又难以保证全天候专注。如果系统不仅能“看…

作者头像 李华
网站建设 2026/6/6 9:53:53

夸克在线直链提取网站_夸克网盘直链解析网站

今天教大家一招能解决夸克网盘限制的在线工具。这个工具也是完全免费使用的。下面让大家看看我用这个工具的下载速度咋样。地址获取:放在这里了,可以直接获取 这个速度还是不错的把。对于平常不怎么下载的用户还是很友好的。下面开始今天的教学 输入我给…

作者头像 李华
网站建设 2026/6/9 19:38:06

Llama 3-8B-Instruct 在昇腾 NPU 上的 SGLang 性能实测

1.引言 随着大模型在各类智能应用中的广泛应用,高效的推理硬件成为关键瓶颈。昇腾 NPU(Ascend Neural Processing Unit)凭借其高算力、低能耗以及对 SGLang 的深度优化,能够显著提升大模型推理性能。本文以 Llama 3-8B-Instruct …

作者头像 李华
网站建设 2026/6/13 2:57:20

YOLO模型灰度发布前的冒烟测试流程

YOLO模型灰度发布前的冒烟测试流程 在智能制造工厂的视觉质检线上,一个新版本的目标检测模型刚刚完成训练并打包成Docker镜像。运维团队正准备将其部署到边缘设备集群中——但就在发布前30秒,自动化系统突然拦截了这次操作,并发出告警&#x…

作者头像 李华
网站建设 2026/6/12 15:27:06

YOLO在高速公路监控的应用:违章停车自动抓拍

YOLO在高速公路监控的应用:违章停车自动抓拍 在高速公路上,一辆货车突然停在应急车道上,司机下车查看货物。这一幕看似平常,但在没有人工干预的监控系统中,这样的行为可能要过十几分钟才会被发现——而那时&#xff0c…

作者头像 李华
网站建设 2026/6/14 11:33:42

YOLO目标检测中的长尾分布问题:少样本类别应对

YOLO目标检测中的长尾分布问题:少样本类别应对 在工业质检线上,一台基于YOLO的视觉系统正高速运转,实时识别产品表面缺陷。突然,一个极其罕见但致命的“微裂纹”缺陷从传送带上闪过——模型沉默了。它从未见过这种样本足够多的“典…

作者头像 李华