?? 22.m
字號:
data=[-0.22914 -0.059577 -0.88853 -0.25353 -0.28422 0.096958;
-0.48264 0.63645 0.025257 -0.36327 0.47082 -0.087841;
-0.4228 0.28586 0.34107 0.048845 -0.76611 0.18407;
-0.38717 -0.46772 0.14487 -0.23132 -0.089108 -0.74088;
-0.40248 -0.5382 0.19561 -0.22917 0.24525 0.63041;
-0.47317 -0.035252 -0.18518 0.83387 0.20625 -0.051838];
x=data(:,1:5);t=data(:,6);
c1=x(1:3,:); %初值
%第一次分類
for i=1:1:6
for j=1:1:3
d1(i,j)=(x(i,:)-c1(j,:))*((x(i,:)-c1(j,:))');
end
end
% x1 d1=[0 1.9658 1.9924;
% x2 1.9658 0 1.9261;
% x3 1.9924 1.9261 0
% x4 1.298 1.5735 1.1445
% x5 1.7154 1.4841 1.8008
% x6 1.9779 1.9987 1.9443]
%類1(x1)
%類2(x2,x5)
%類3(x3,x4,x6)
%中心c1=[-0.22914 -0.059577 -0.88853 -0.25353 -0.28422
% -0.48264 0.63645 0.025257 -0.36327 0.47082
% -0.4228 0.28586 0.34107 0.048845 -0.76611]
%第二次聚類
%新的中心c
c2=[x(1,:);0.5*(x(2,:)+x(5,:));(x(3,:)+x(4,:)+x(6,:))./3];
%c2=[ -0.22914 -0.059577 -0.88853 -0.25353 -0.28422
% -0.44256 0.049124 0.11043 -0.29622 0.35803
% -0.42772 -0.072373 0.10025 0.21713 -0.21632]
%求d2
for i=1:1:6
for j=1:1:3
d2(i,j)=(x(i,:)-c2(j,:))*((x(i,:)-c2(j,:))');
end
end
%x1 d2=[0 1.4696 1.2434
%x2 1.9658 0.37103 1.3201
%x3 1.9924 1.4924 0.51694
%x4 1.298 0.47553 0.37723
%x5 1.7154 0.37103 0.63896
%x6 1.9779 1.3956 0.64385]
%聚類結(jié)果
%類1(x1)
%類2(x2,x5)
%類3(x3,x4,x6)
%
%可知,c不再變化,故,分類結(jié)束
%
%最后的結(jié)果:c=[ -0.22914 -0.059577 -0.88853 -0.25353 -0.28422
% -0.44256 0.049124 0.11043 -0.29622 0.35803
% -0.42772 -0.072373 0.10025 0.21713 -0.21632]
% 求RBF基函數(shù)的寬度delta
dd2=d2';
dsum=sum(dd2);
delta=[dsum(1) 0.5*(dsum(2)+dsum(5)) (dsum(2)+dsum(4)+dsum(6))./3];
%delta=[2.713 3.1912 3.275]
%據(jù)上述可知,隱含層數(shù)(采用高斯核函數(shù))為3,輸出層為線性輸出
for j=1:1:3
for i=1:1:6
a(j,i)=((x(i,:)-c2(j,:)))*((x(i,:)-c2(j,:))');
a(j,i)=(-a(j,i)./delta(j));
end
end
P=1:1:6;
T=t;
%figure;subplot(2,2,1);plot(P,t);title('待逼近的函數(shù)樣本點');
%axis([1,6,-1,1]);
p=a;
r=radbas(p);
lr=0.001;max_epoch=500;err_goal=0.99;
w=rands(3,1);
y=r'*w;
E=T-y;
SSE=sumsqr(E);
for epoch=1:1:max_epoch
if SSE<err_goal,epoch=epoch-1;break,end
w=w+lr*r*E;
y=r'*w;
E=T-y;
SSE=sumsqr(E);
end
y=r'*w;
figure;
plot(T,'r');
hold on;
plot(y,':*');
title('RBF網(wǎng)絡(luò)擬合曲線圖22');
legend('化驗值','估計值');
ylabel('淀粉利用率(%)');
xlabel('樣本個數(shù)');
axis([1,6,-1,1]);
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -