RBF神经网络的matlab简单实现

RBF神经网络的介绍:点击打开链接

实验数据集 点击打开链接

代码

clear all
clc   %清除命令窗口
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:10
dmin=10000;
for j=1:10 
ddd=(C(i,1)-C(j,1))^2+(C(i,2)-C(j,2))^2;
if(ddd

你可能感兴趣的:(matlab,机器学习/模式识别)