神经网络.txt

来自「lms源码这是实验的代码 为了对理论进行实际的理解 仅作参考 1. 随机逼近算」· 文本 代码 · 共 73 行

TXT
73
字号
1.	随机逼近算法模块
function noisetest()
n=1:64;
specimena=sin(n/64*2*pi);
specimenb=sawtooth((n+16)/64*2*pi,0.5);
w(1:64)=0.05;
error=1;
k=1;
step=0.01;
tag=1;
while(error^2)>0.001
    if(tag==1)
        y=w*specimena.';
        d=1;
        error=d-y;
        w=w+2*step*error*specimena;
    end
    if(tag==0)
        y=w*specimenb.';
        d=0;
        error=d-y;
        w=w+2*step*error*specimenb;
    end
e(k)=error^2;
tag=~tag;
k=k+1;
end
plot(e)
grid

2.	抗噪检验模块
w
t=0.0025;
k=1;
while k<=15
    g=normrnd(0,t*k,[1,64]);
    specimena1=specimena+g;
    specimenb1=specimenb+g;
    ya1=w*specimena1.';
    yb1=w*specimenb1.';
    error1=(abs(1-ya1)+abs(0-yb1))/2;
    errorn(k)=error1^2;
    k=k+1;
end
i=1:15;
plot(i*t,errorn)
grid

3.最陡下降法模块
clear;
n=1:64;
specimena=sin(n/64*2*pi);
specimenb=sawtooth((n+16)/64*2*pi,0.5)
w(1:64)=0.05;
step=0.015;
k=1;
error=1;
while error>0.0001
    ya=w*specimena.';
    errora=1-ya;
    producta=errora*specimena;
    yb=w*specimenb.';
    errorb=0-yb;
    productb=errorb*specimenb;
    w=w+2*step*(producta+productb);
    error=errora^2+errorb^2;
    J(k)=error;
    k=k+1;
end
plot(J)
grid

⌨️ 快捷键说明

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