BP实现函数拟合

Posted py佐料

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BP实现函数拟合相关的知识,希望对你有一定的参考价值。

%%
clc;
clear all;
close all;

%% 生成正弦曲线
x = linspace(-2*pi, 2*pi, 100);
y = sin(x);
% 对目标值加入噪声
n = 0.1 * rand(1, length(x));
y = y + n;

% figure();
% plot(x, y, \'b-\');

%% 数据归一化,创建测试数据集
[x_, ps] = mapminmax(x);
data_input = x_;
data_target = y;

% figure();
% plot(data_input, data_target, \'b-\');

data_test = linspace(-5, 5, 50);
data_true = sin(data_test);
data_t = mapminmax(\'apply\', data_test, ps);

% figure();
% plot(data_t, data_true, \'b-\');

%% 创建神经网络(也可打开nntool,在matlab中使用gui创建神经网络)
hidden_layer_size = 10;
net = feedforwardnet(hidden_layer_size);
[net, tr] = train(net, data_input, data_target);

%% 拟合结果
data_y = sim(net, data_t);
% data_y = net(data_t);
figure();
e = 0.5 * (data_true - data_y) .^ 2;
plot(e);
xlabel(\'x axis\');
ylabel(\'y axis\');
legend(\'error\');

figure();
hold on;
plot(data_test, data_y, \'*\');
plot(x, y, \'b\');
xlabel(\'x axis\');
ylabel(\'y axis\');
legend(\'prediction\', \'real value\');
这篇文章,是又一个故事的结束...
lazy\'s story is continuing.

以上是关于BP实现函数拟合的主要内容,如果未能解决你的问题,请参考以下文章

BP神经网络拟合给定函数

matlab中的BP神经网络

R 语言机器学习—快速实现BP神经网络

基于BP神经网络的分段函数连续优化问题

tensorflow神经网络拟合非线性函数

BP神经网络基于MATLAB拟合正弦曲线