我要加入 登录
声振论坛 返回首页

jimin的个人空间 http://home.vibunion.com/?12251 [收藏] [复制] [分享] [RSS]

日志

(转)基于聚类的rbf程序

已有 770 次阅读2006-9-14 15:29

天气: 晴朗
心情: 高兴
samnum=100;
testsamnum=101;
indim=1;
clusternum=10;
overlap=1.0;
rand('state',sum(100*clock))
noisevar=0.1;
noise=noisevar*randn(1,samnum);
samin=8*rand(1,samnum)-4;
samoutnonoise=1.1*(1-samin+2*samin.^2).*exp(-samin.^2/2);
samout=samoutnonoise+noise;
testsamin=-4:0.08:4;
testsamout=1.1*(1-testsamin+2*testsamin.^2).*exp(-testsamin.^2/2);
figure
hold on
grid
plot(samin,samout,'r+')
plot(testsamin,testsamout,'r--')
xlabel('input x');
ylabel('output y');
centers=samin(:,1:clusternum);
numberinclusters=zeros(clusternum,1);
indexclusters=zeros(clusternum,samnum);
while 1,
    numberinclusters=zeros(clusternum,1);
    indexclusters=zeros(clusternum,samnum);
    for i=1:samnum
        alldistance=dist(centers',samin(:,i));
        [mindist,pos]=min(alldistance);
        numberinclusters(pos)=numberinclusters(pos)+1;
        indexinclusters(pos,numberinclusters(pos))=i;
    end
    oldcenters=centers;
    for i=1:clusternum
        index=indexinclusters(i,1:numberinclusters(i));
        centers(:,i)=mean(samin(:,index)')';
    end
    equalnum=sum(sum(centers==oldcenters));
    if equalnum==indim*clusternum,
        break,
    end
end
alldistances=dist(centers',centers);
maximum=max(max(alldistances));
for i=1:clusternum
    alldistances(i,i)=maximum+1;
end
spreads=overlap*min(alldistances)';
distance=dist(centers',samin);
spreadsmat=repmat(spreads,1,samnum);
hiddenunitout=radbas(distance./spreadsmat);
hiddenunitoutex=[hiddenunitout' ones(samnum,1)]';
w2ex=samout*pinv(hiddenunitoutex);
w2=w2ex(:,1:clusternum);
b2=w2ex(:,clusternum+1);
testdistance=dist(centers',testsamin);
testspreadsmat=repmat(spreads,1,testsamnum);
testhiddenunitout=radbas(testdistance./testspreadsmat);
testnnout=w2*testhiddenunitout+b2;
plot(testsamin,testnnout,'r-')
w2
b2

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 我要加入

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-24 02:36 , Processed in 0.037436 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部