⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ann5.m

📁 程序简单易懂,对初学便此类程序者有所帮助
💻 M
字号:
Y=zeros(1,100);
X=zeros(1,100);
weight=zeros(1,10);
%w=randn(1,3);
w=[ 0.0970   -0.9097    0.0551    0.7673     0.8250   ];
v=[-3.0610   15.3118   -2.7813     0.9418    0.7692];
b=[-0.11 -0.21 -0.13 -0.1 -0.1];
%v=randn(1,3);

a=0.4;%学习速率
E=1;
j=1;
Emin=0.02;
p=0;
k=1:100;
xx=1:100;
dd=1./xx;
m=1;
sum=zeros(100);
n=0;
%while(j>Emin)
while(m>Emin)
    m=0;
for x=1:100
        y1=f(w(1)*x+b(1));
        y2=f(w(2)*x+b(2));
        y3=f(w(3)*x+b(3));
        y4=f(w(4)*x+b(4));
        y5=f(w(5)*x+b(5));
        y=f(v(1)*y1+v(2)*y2+v(3)*y3+v(4)*y4+v(5)*y5);
        d=1/x;
        e=d-y;
        j=abs(e);        
        sum(x)=j*j;%将100个训练输入对应得误差平方和,使得其小于设定值结束训练
        m=m+sum(x);
        w(1)=w(1)+a*e*y*(1-y)*v(1)*y1*(1-y1)*x;
        w(2)=w(2)+a*e*y*(1-y)*v(2)*y2*(1-y2)*x;
        w(3)=w(3)+a*e*y*(1-y)*v(3)*y3*(1-y3)*x;
        w(4)=w(4)+a*e*y*(1-y)*v(4)*y4*(1-y4)*x;
        w(5)=w(5)+a*e*y*(1-y)*v(5)*y5*(1-y5)*x;
        v(1)=v(1)+a*e*y*(1-y)*y1;
        v(2)=v(2)+a*e*y*(1-y)*y2;
        v(3)=v(3)+a*e*y*(1-y)*y3;
        v(4)=v(4)+a*e*y*(1-y)*y4;
        v(5)=v(5)+a*e*y*(1-y)*y5;
        weight(1)=w(1);
        weight(2)=w(2);
        weight(3)=w(3);
        weight(4)=w(4);
        weight(5)=w(5);
        weight(6)=v(1);
        weight(7)=v(2);
        weight(8)=v(3);
        weight(9)=v(4);
        weight(10)=v(5);
    
    end
    n=n+1;
end
for x=1:100
    %Y(x)=f(weight(4)*f(weight(1)*x+b(1))+weight(5)*f(weight(2)*x+b(2))+weight(6)*f(weight(3)*x+b(3)));
    Y(x)=f(weight(6)*f(weight(1)*x+b(1))+weight(7)*f(weight(2)*x+b(2))+weight(8)*f(weight(3)*x+b(3))+weight(9)*f(weight(4)*x+b(4))+weight(10)*f(weight(5)*x+b(5)));
end
plot(k,Y,'r',k,dd,'b');
xlabel(n);
weight
%plot(k,Y,'y',k,X);%,k,dd);
%disp(p);
%weight =

%    0.1456   -0.1357    0.3422   -1.8141    2.6347   -1.2922

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -