24小时热门版块排行榜    

查看: 338  |  回复: 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 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 面上项目filecode邪修 +4 西山十月 2026-08-09 6/300 2026-08-10 00:16 by liufeng0619
[基金申请] 应该是93bebmhtak前后十一个字符比较关键 +7 Lanmanbaby 2026-08-09 14/700 2026-08-09 23:33 by Tide man
[基金申请] 2026国自然放榜时间 +4 布布和一二 2026-08-08 4/200 2026-08-09 22:24 by otj2008
[基金申请] 关于代码变化问题,想知道的进来 +15 且听虎啸 2026-08-07 22/1100 2026-08-09 22:13 by 布布和一二
[基金申请] filecode与中标关系的预测 +5 布布和一二 2026-08-07 5/250 2026-08-09 16:15 by 袁向阳007
[考博] 【2027博士申请】纳米药物递送方向 20+3 13586093586 2026-08-03 5/250 2026-08-08 21:54 by 13586093586
[基金申请] 国基金的申报应该改成非等额制,评价高的钱多评价低的钱少,但是增加资助率 +7 a089 2026-08-07 7/350 2026-08-08 18:05 by gltch
[基金申请] 好奇怪的filecode +3 布布和一二 2026-08-08 4/200 2026-08-08 17:46 by zhanghaozhu
[基金申请] 关于filecode +4 布布和一二 2026-08-07 7/350 2026-08-07 22:55 by zhanghaozhu
[基金申请] 化学口download_prp&amp;fileCode的固定段好像这几天一直没变,有变的大神么? +3 Tide man 2026-08-07 4/200 2026-08-07 22:39 by Tide man
[基金申请] 固定端突然变了,今天 +6 archvillain 2026-08-06 10/500 2026-08-07 16:03 by 医学老男孩
[基金申请] 听说今天filecode变了 +24 布布和一二 2026-08-06 47/2350 2026-08-07 16:02 by zhiyanjiang
[基金申请] filecode +14 等待解的谜 2026-08-06 19/950 2026-08-07 12:20 by wlwhappy
[基金申请] filecode +8 布布和一二 2026-08-06 11/550 2026-08-06 20:41 by tangpu318
[基金申请] 求各位大神看下 100+6 hpkpkpkp 2026-08-05 33/1650 2026-08-06 14:49 by zhiyanjiang
[基金申请] 影响面上的因素 +8 布布和一二 2026-08-05 11/550 2026-08-06 10:41 by 宝贝虫子
[基金申请] 8月时间戳变的,举个手。玩一下,释放压力 +9 archvillain 2026-08-04 11/550 2026-08-05 20:06 by wlwhappy
[基金申请] 有没有H口的?有收到消息的吗? +3 超级海虾 2026-08-04 3/150 2026-08-04 17:26 by 学教育滴
[基金申请] 纯娱乐,不喜欢勿喷 +7 Tide man 2026-08-04 10/500 2026-08-04 15:10 by loufangrui
[基金申请] 什么时候能放榜呀? +3 Jacob678 2026-08-03 3/150 2026-08-03 16:14 by gltch
信息提示
请填处理意见