news 2026/4/11 7:30:48

基于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/4/10 16:25:47

YOLO在智能楼宇的应用:电梯内人数统计与超载预警

YOLO在智能楼宇的应用:电梯内人数统计与超载预警 在高层建筑林立的今天,电梯早已不是简单的垂直运输工具——它成了衡量楼宇智能化水平的一扇窗口。然而,大多数电梯仍停留在“称重报警”的初级安全阶段。你是否经历过这样的尴尬:几…

作者头像 李华
网站建设 2026/4/11 0:49:01

7款免费AI论文神器:开题报告大纲10分钟生成,效率提升300%!

还在为论文开题报告和繁琐大纲绞尽脑汁,对着空白文档焦虑到天明吗?别再让低效写作拖垮你的学术进度!如今,借助AI论文工具,你完全可以实现 “喝杯咖啡的时间,论文大纲初稿一气呵成” 的理想状态。想象一下&a…

作者头像 李华
网站建设 2026/4/10 7:17:42

wrk:现代 HTTP 性能测试工具(类cc)

wrk:现代 HTTP 性能测试工具(类cc)wrk 是一个开源的高性能 HTTP 基准测试工具(HTTP benchmarking tool),由 Will Glozer 开发,专为测试 Web 服务器和 API 接口的并发性能而生。它能在单台多核机…

作者头像 李华
网站建设 2026/4/8 22:50:14

mmc.exe文件丢失损坏找不到 下载方法

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

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

打卡信奥刷题(2605)用C++实现信奥题 P2458 [SDOI2006] 保安站岗

P2458 [SDOI2006] 保安站岗 题目描述 五一来临,某地下超市为了便于疏通和指挥密集的人员和车辆,以免造成超市内的混乱和拥挤,准备临时从外单位调用部分保安来维持交通秩序。 已知整个地下超市的所有通道呈一棵树的形状;某些通道…

作者头像 李华