欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

python rbf神经网络_原创,基于径向基函数(RBF)神经网络RBF网络的举例应用!

发布时间:2025/6/17 python 18 豆豆
生活随笔 收集整理的这篇文章主要介绍了 python rbf神经网络_原创,基于径向基函数(RBF)神经网络RBF网络的举例应用! 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

function RBF_NN_Example()

clc

clear all

%  创建训练样本

%  线性函数的训练

Mn_Train=100*[rand(1,5) rand(1,5)+0.5 rand(1,5)+1 rand(1,5)+1.5;...

rand(1,5) rand(1,5)+0.5 rand(1,5)+1 rand(1,5)+1.5];

n=size(Mn_Train,2);

%  Mn_Train 为2*20的矩阵

Nn_Train=[2*Mn_Train;3*Mn_Train(1,:)];

%  Nn_Train 为3*20的矩阵

%  将训练样本进行聚类分析,分为4类

H=4;

%  将样本归一化

[SampleX,pmin,pmax,SampleY,tmin,tmax]=premnmx(Mn_Train,Nn_Train);

%  将训练样本进行聚类并形成聚类中心

options=statset('Display','final');

[index,center]=kmeans(SampleX',H,'Distance','city',...

'Replicates',10,'Options',options);

figure(1)

X=SampleX';

set(figure(1),'color','w')

hold on

plot(X(index==1,1),X(index==1,2),'ro','markersize',9,'markeredgecolor',...

'k','markerfacecolor','r')

plot(X(index==2,1),X(index==2,2),'go','markersize',9,'markeredgecolor',...

'k','markerfacecolor','g')

plot(X(index==3,1),X(index==3,2),'mo','markersize',9,'markeredgecolor',...

'k','markerfacecolor','m')

plot(X(index==4,1),X(index==4,2),'bo','markersize',9,'markeredgecolor',...

'k','markerfacecolor','b')

plot(center(:,1),center(:,2),'ko','markersize',15,'markeredgecolor',...

'k','markerfacecolor','k')

title('样本聚类','fontsize',16)

grid on

hold off

%  spread径函数的扩展速度设置

spread=0.3;

%  基于高斯函数的隐藏层神经元的输出

%  形成4*20的矩阵

%  阈值

b=ones(1,H)*0.8326/spread;

center=center';

Hidden_Out=zeros(H,size(SampleX,2));

for i=1:H

for j=1:size(SampleX,2)

Hidden_Out(i,j)=exp(-b(i)*(norm(SampleX(:,j)-center(:,i)).^2));

end

end

%  对输出层权重的训练,最速下降法

MaxIteration=1000;

Iteration=0;

tol=1e-3;

lemda=0.001;

%  初始化参数和阈值

N=size(SampleY,1);

W=0.5*rand(N,H)-0.1;

B=0.5*rand(N,1)-0.1;

%  网络输出值

NetOut=W*Hidden_Out+repmat(B,1,n);

Resid=SampleY-NetOut;

%  均方误

MSE_error=sumsqr(Resid)./(N*n);

%  训练权重开始

while Iteration

NetOut=W*Hidden_Out+repmat(B,1,n);

Resid=SampleY-NetOut;

MSE_error=sumsqr(Resid)./(N*n);

Delta=Resid;

%  最速下降训练

dW=Delta*Hidden_Out';

dB=Delta*ones(n,1);

W=W+lemda*dW;

B=B+lemda*dB;

if MSE_error

break;

end

Iteration=Iteration+1;

end

NetOut=W*Hidden_Out+repmat(B,1,n);

Samplefit=postmnmx(NetOut,tmin,tmax);

%  将拟合样本和原样本比较

figure(2)

set(figure(2),'color','w')

hold on

subplot(3,1,1)

hold on

plot(1:20,Nn_Train(1,:),'ro-','markersize',8)

plot(1:20,Samplefit(1,:),'bo-','markersize',8)

title('样本拟合对比')

subplot(3,1,2)

hold on

plot(1:20,Nn_Train(2,:),'ro-','markersize',8)

plot(1:20,Samplefit(2,:),'bo-','markersize',8)

title('样本拟合对比')

subplot(3,1,3)

hold on

plot(1:20,Nn_Train(3,:),'ro-','markersize',8)

plot(1:20,Samplefit(3,:),'bo-','markersize',8)

title('样本拟合对比')

hold off

总结

以上是生活随笔为你收集整理的python rbf神经网络_原创,基于径向基函数(RBF)神经网络RBF网络的举例应用!的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。