zl程序教程

您现在的位置是:首页 >  大数据

当前栏目

使用RBF神经网络实现函数逼近

神经网络 实现 函数 使用 逼近 RBF
2023-09-11 14:20:52 时间

python实现的RBF神经网络见:基于tensorflow的RBF神经网络案例

1 一元函数逼近

1.1 待逼近的函数
在这里插入图片描述
1.2代码

%%%%%%%%%%一元函数逼近%%%%%%%%%%
clear,clc;
x=linspace(-20,20,100); %神经网络输入值
t=10*x-30*sin(x)-80*tansig(x); %神经网络目标值
plot(x,t,'+'); %待逼近的函数图像
hold on
net=newrb(x,t,1,2); %平方和误差小于1
y=net(x);%神经网络输出值
plot(x,y,'g'); %仿真的函数图像
title('RBF神经网络函数逼近');
xlabel('输入值');
ylabel('目标值/输出值');
mse(y,t) %平方和误差

1.3运行结果
蓝色的“+”为原函数,绿色的线为逼近函数
MSE=0.9157

2 二元函数逼近

2.1待逼近的函数
在这里插入图片描述
2.2代码

%%%%%%%%%%二元函数逼近%%%%%%%%%%
clear,clc
t=0:0.1:10*pi; %辅助参数
x=(t+0.5*pi).*sin(t+0.5*pi); %神经网络输入值(指标1)
y=(t+0.5*pi).*cos(t+0.5*pi); %神经网络输入值(指标2)
z=1.5*t; %神经网络目标值
net=newrb([x;y],z,0.001,2); %平方和误差小于0.001
zf=net([x;y]);%神经网络输出值
plot3(x,y,zf,'r'); %仿真的函数图像
hold on
plot3(x,y,z,'+'); %待逼近的函数图像
title('RBF神经网络函数逼近');
xlabel('输入值(指标1)');
ylabel('输入值(指标2)');
zlabel('目标值/输出值');
grid on
mse(zf,z) %平方和误差

2.3运行结果
蓝色的“+”为原函数,红色的线为逼近函数
MSE=9.5196e-04