RBF神经网络的matlab简单实现
来源:互联网 发布:算法导论 微盘 编辑:程序博客网 时间:2024/06/05 11:03
RBF神经网络的介绍:点击打开链接
实验数据集 点击打开链接
代码
clear allclc %清除命令窗口load Data-Ass2;d=data'; %求转置dat=d(1:2500,1:2);labels=d(1:2500,3);inputNums=2; %输入层节点outputNums=1; %输出层节点 许多情况下直接用1表示hideNums=10; %隐层节点数maxcount=1000; %最大迭代次数samplenum=2500; %一个计数器,无意义precision=0.001; %预设精度alpha=0.01; %学习率设定值a=0.5; %BP优化算法的一个设定值,对上组训练的调整值按比例修改 error=zeros(1,maxcount+1); %error数组初始化;目的是预分配内存空间errorp=zeros(1,samplenum); %同上w=rand(hideNums,outputNums); %10*3;w表隐层到输出层的权值%求聚类中心[Idx,C]=kmeans(dat,hideNums);%X 2500*2的数据矩阵 %K 表示将X划分为几类 %Idx 2500*1的向量,存储的是每个点的聚类标号 %C 10*2的矩阵,存储的是K个聚类质心位置%求扩展常数dd=zeros(1,10); for i=1:10dmin=10000;for j=1:10 ddd=(C(i,1)-C(j,1))^2+(C(i,2)-C(j,2))^2;if(ddd<dmin&&i~=j)dmin=ddd;endenddd(i)=dmin;end%b为进行计算后隐含层的输入矩阵b=zeros(2500,10); for i=1:2500for j=1:10 b(i,j)=exp( -( (dat(i,1)-C(j,1))^2+(dat(i,2)-C(j,2))^2 )/(2*dd(j)) );%dd为扩展常数endendcount=1;while (count<=maxcount) %结束条件1迭代1000次c=1;while (c<=samplenum)%对于每个样本输入,计算输出,进行一次BP训练,samplenum为2500%o输出的值double o;o=0.0;for i=1:hideNumso=o+b(c,i)*w(i,1);end%反馈/修改; errortmp=0.0; errortmp=errortmp+(labels(c,1)-o)^2; % 第一组训练后的误差计算 errorp(c)=0.5*errortmp; yitao=labels(c,1)-o; %输出层误差for i=1:hideNums %调节到每个隐藏点到输出点的权重w(i,1)=w(i,1)+alpha*yitao*b(c,i);%权值调整endc=c+1; %输入下一个样本数据end %第二个while结束;表示一次训练结束%求最后一次迭代的误差double tmp;tmp=0.0; %字串8 for i=1:samplenumtmp=tmp+errorp(i)*errorp(i);%误差求和endtmp=tmp/c;error(count)=sqrt(tmp);%求迭代第count轮的误差求均方根,即精度if (error(count)<precision)%另一个结束条件break;endcount=count+1;%训练次数加1end%测试test=zeros(500,10); for i=2501:3000for j=1:10 test(i-2500,j)=exp( -( (d(i,1)-C(j,1))^2+(d(i,2)-C(j,2))^2 )/(2*dd(j)) );%dd为扩展常数endendcount=0;for i=2501:3000net=0.0;for j=1:hideNumsnet=net+test(i-2500,j)*w(j,1);endif( (net>0&&d(i,3)==1) || (net<=0&&d(i,3)==-1) )count=count+1;endend
4 0
- RBF神经网络的matlab简单实现
- RBF神经网络简单介绍与MATLAB实现
- rbf神经网络的实现
- matlab RBF神经网络实例
- RBF神经网络与BP神经网络与matlab实现
- Matlab实现BP神经网络和RBF神经网络(一)
- Matlab实现BP神经网络和RBF神经网络(二)
- 基于RBF简单的matlab手写识别
- matlab实现RBF的相关函数
- 实现一个方差跟权值直接确定的简单RBF神经网络。
- 最简单的三层神经网络Matlab实现
- BP神经网络设计的matlab简单实现
- RBF(径向基)神经网络 非线性函数回归的实现
- RBF神经网络的学习算法
- 基于高斯核的RBF神经网络
- Matlab实现简单BP神经网络
- RBF神经网络与BP神经网络的比较
- RBF神经网络与BP神经网络的比较
- 关于JS向Action中传参,中文参数出现乱码的问题
- 【AndroidUniversalImageLoader】源码学习之缓存模块(磁盘缓存,内存缓存)
- 用Doxygen+Graphviz生成函数调用流程图
- 开心一刻:邪恶的小明
- 智能指针详解
- RBF神经网络的matlab简单实现
- 一个小系统会员模块的总体设计及数据库结构
- KNX基础1
- Android Notification通知详解
- linux U盘挂载
- Windows Server 2012 VDI 标准部署之准备工作——创建DHCP服务器
- poj1502MPI Maelstrom(Dijkstra等等最短路的入门题)
- spring+hibernate整合错误
- 百度定位SDK使用V4.0