24小时热门版块排行榜    

查看: 300  |  回复: 0
当前主题已经存档。
【有奖交流】积极回复本帖子,参与交流,就有机会分得作者 xingshen 的 10 个金币

xingshen

新虫 (初入文坛)

[交流] 【求助】编了个模糊神经网络的程序,但是运行基本没效果,高手给看看哪出错了

clear
%clc
tic,
x=[0 0 0 0 0 0.125 0.125 0.125 0.125 0.25...
   0.25 0.25 0.25 0.25 0.25 0.375 0.375 0.375...
   0.375 0.5 0.5 0.5 0.5 0.5 0.5 0.625 0.625 0.625...
   0.625 0.75 0.75 0.75 0.75 0.75 0.875 0.875 0.875 1.0 1.0;
   0.02 0.05 0.09 0.11 0.26 0.08 0.11 0.19 0.49 0.17 0.19...
   0.22 0.26 0.36 0.52 0.26 0.3 0.4 0.61 0.39 0.41 0.44 0.49...
   0.57 0.71 0.51 0.59 0.65 0.85 0.66 0.7 0.75 0.83 0.95 0.84 0.92 0.99 0.97 0.99];
y=[0.643 0.50 0.357 0.214 0.071 0.786 0.571 0.286 0.071...
   0.857 0.714 0.571 0.429 0.286 0.143 1.0 0.714 0.429 0.214...
   1.0 0.857 0.714 0.571 0.429 0.286 1.0 0.714 0.571 0.357 1.0...
   0.857 0.714 0.571 0.429 0.929 0.714 0.571 0.929 0.786];
[p1,p2]=size(x);
%利用模糊c-均值法对样本聚类确定模糊规则个数
k=7;
%初始化隶属度函数的参数m,b及输出层初始权值
for i=1:p1;
    for j=1:k;
     m(i,j)=rand(1);
     b(i,j)=rand(1);
    end
end
for  j=1:k;
     w(j)=rand(1);
end
%推理计算输出值
for q=1:p2;
%选用高斯函数作为隶属度
for i=1:p1;
    for j=1:k;
       u(i,j)=gaussmf(x(i,q),[m(i,j),b(i,j)]);
    end
end
for i=1:k;
    v(i)=1;
    j=1;
   while  j<=p1;
         v(i)=v(i)*u(j,i);
         j=j+1;
   end
end
out1(q)=w*v';
e(q)=y(q)-out1(q);
end
out=out1;
E=(1/2)*sumsqr(y-out);
EE=E;
lr=0.3;  
%误差反传后的参数修正过程
r=1;
p=1;
s=1000;
while p<=s & EE>1e-4
%隶属度参数m,b输出层权值参数w的修正过程
   wc=zeros(1,k);
   for i=1:k;
    wc(i)=lr*e(r)*v(i);
   end
   mc=zeros(p1,k);
   for i=1:p1;
      for j=1:k;
        mc(i,j)=2*lr*e(r)*w(j)*(v(j)./u(i,j))*exp(-((x(i,r)-m(i,j)).^2)./(b(i,j).^2))*(x(i,r)-m(i,j))./(b(i,j).^2);
      end
   end
   bc=zeros(p1,k);
   for i=1:p1;
      for j=1:k;
        bc(i,j)=2*lr*e(r)*w(j)*(v(j)./u(i,j))*exp(-((x(i,r)-m(i,j)).^2)/(b(i,j).^2))*((x(i,r)-m(i,j)).^2)/(b(i,j).^3);
      end
   end
%参数修正m b w
    m=m+mc;
    b=b+bc;
    w=w+wc;
%利用修正过的参数重新计算输出
for q=1:p2;  
   for i=1:p1;
      for j=1:k;
        u(i,j)=gaussmf(x(i,q),[m(i,j),b(i,j)]);
      end
   end
   for i=1:k;
       v(i)=1;
       j=1;
     while  j<=p1;
         v(i)=v(i)*u(j,i);
         j=j+1;
     end
   end
   out1(q)=w*v';
end
  out=out1;
p=p+1;
EE=(1/2)*sumsqr(y-out);
E(p)=EE;
r=r+1;
if  r>p2
     r=1;
end
e(r)=(y(r)-out(r));
end
m,b,w,E,e
epoch=1:size(E,2);
figure
plot(epoch,E,'r');
axis([0 1.5*s min(E) max(E)]);
set(gca,'xtick',0:s/10:1.5*s);
title('误差变化曲线');xlabel('步数');ylabel('误差');
figure
plot(1:39,y,'-',1:39,out,'*')
toc
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xingshen 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 289材料与化工(085600)B区求调剂 +3 这么名字咋样 2026-03-22 4/200 2026-03-22 17:56 by 云民大李老师
[考研] 一志愿武理材料工程348求调剂 +4  ̄^ ̄゜汗 2026-03-19 6/300 2026-03-22 17:44 by luoyongfeng
[考研] 284求调剂 +5 Zhao anqi 2026-03-22 5/250 2026-03-22 17:38 by barlinike
[考研] 293求调剂 +12 zjl的号 2026-03-16 17/850 2026-03-22 16:51 by i_cooler
[考研] 求调剂院校信息 +6 CX 330 2026-03-21 6/300 2026-03-22 15:25 by 无懈可击111
[考研] 能源材料化学课题组招收硕士研究生8-10名 +5 脱颖而出 2026-03-16 17/850 2026-03-22 15:18 by 脱颖而出
[考研] 318求调剂 +4 plum李子 2026-03-21 7/350 2026-03-22 14:17 by ColorlessPI
[考研] 303求调剂 +5 安忆灵 2026-03-22 6/300 2026-03-22 12:46 by 素颜倾城1988
[考研] 生物学一志愿985,分数349求调剂 +4 zxts12 2026-03-21 7/350 2026-03-22 09:57 by zxts12
[考研] 280求调剂 +11 咕噜晓晓 2026-03-18 12/600 2026-03-21 22:40 by ACS Nano——
[考研] 求调剂 +3 白QF 2026-03-21 3/150 2026-03-21 13:12 by zhukairuo
[考研] 一志愿山大07化学 332分 四六级已过 本科山东双非 求调剂! +3 不想理你 2026-03-16 3/150 2026-03-21 03:59 by JourneyLucky
[考研] 307求调剂 +10 冷笙123 2026-03-17 10/500 2026-03-21 01:54 by JourneyLucky
[考研] 296求调剂 +6 www_q 2026-03-18 10/500 2026-03-20 23:56 by JourneyLucky
[考研] 一志愿中海洋材料工程专硕330分求调剂 +8 小材化本科 2026-03-18 8/400 2026-03-20 23:16 by JourneyLucky
[考研] 材料学硕297已过四六级求调剂推荐 +11 adaie 2026-03-19 11/550 2026-03-20 21:30 by laoshidan
[考研] 08工学调剂 +5 用户573181 2026-03-20 5/250 2026-03-20 15:47 by xia_2003
[考研] 286求调剂 +6 lemonzzn 2026-03-16 10/500 2026-03-19 14:31 by lemonzzn
[考研] 材料,纺织,生物(0856、0710),化学招生啦 +3 Eember. 2026-03-17 9/450 2026-03-18 10:28 by Eember.
[考研] 283求调剂 +3 听风就是雨; 2026-03-16 3/150 2026-03-17 07:41 by 热情沙漠
信息提示
请填处理意见