matlab BP神经网络

clear

clc

% 准备数据

inputs = rand(10, 100); % 100组输入,每组10个特征

outputs = rand(1, 100); % 100组输出,每组1个输出值

% 将数据分成训练集和测试集

trainRatio = 0.8;

valRatio = 0.1;

testRatio = 0.1;

trainInd, valInd, testInd = dividerand(100, trainRatio, valRatio, testRatio);

X_train = inputs(:, trainInd);

y_train = outputs(:, trainInd);

X_test = inputs(:, testInd);

y_test = outputs(:, testInd);

% 创建前馈神经网络

hiddenLayerSize = 10;

net = feedforwardnet(hiddenLayerSize);

% 设置训练、验证和测试数据

net.divideParam.trainRatio = 0.8;

net.divideParam.valRatio = 0.1;

net.divideParam.testRatio = 0.1;

% 训练神经网络

net, tr = train(net, X_train, y_train);

% 查看训练结果

plotperform(tr);

% 进行预测

y_pred = net(X_test);

% 计算误差

errors = y_pred - y_test;

% 输出误差

for i = 1:length(y_test)

fprintf('Test sample %d:\n', i);

fprintf('Predicted output: %.4f\n', y_pred(i));

fprintf('Actual output: %.4f\n', y_test(i));

fprintf('Error: %.4f\n\n', errors(i));

end

% 计算均方误差(MSE)

mse = mean(errors.^2);

fprintf('Mean Squared Error: %.4f\n', mse);

相关推荐
爱喝热水的呀哈喽2 小时前
HEJIAN RESEARCH
开发语言·matlab
星夜离尘567 小时前
MATLAB阶跃响应怎么量:别把最后一个采样点当成稳态
开发语言·matlab
星夜离尘569 小时前
MATLAB滑动RMS如何接报警:窗口未满和缺样不能当成正常
开发语言·matlab
机器学习之心11 小时前
给地铁牵引系统做一次“体检“:灰色聚类 + 正态云模型的MATLAB完整实现
matlab·数据挖掘·聚类
星夜离尘561 天前
MATLAB 采样混叠实验 20 Hz 和 80 Hz 为什么会得到相同数据
matlab·数据采集·信号处理·采样定理·混叠
weixin_307779131 天前
C++代码实现MATLAB中的fitrtree函数功能
开发语言·c++·算法·matlab
weixin_307779131 天前
C++代码实现MATLAB中的spectralcluster函数功能
开发语言·c++·算法·matlab
孙琦Ray1 天前
开源MATLAB工具LIBquiv:650小时老化仿真仅139秒
matlab·开源·锂离子电池·等效电路模型·电池老化·libquiv·电池建模
phoenix@Capricornus1 天前
LDA 协方差矩阵(MATLAB `fitcdiscr`)
算法·matlab·矩阵
星夜离尘562 天前
MATLAB 线性去趋势为何损伤低频正弦:联合最小二乘估计幅相与漂移
开发语言·matlab