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

📄 bp.m

📁 自编的神经网络的matlab程序
💻 M
字号:
X=[0.5152 0.8173 1; 0.8173 1 0.7308]
Y=[0.73 0.139; 0.1 0.3]
eta=0.3;
Net=NewNet(3,[3 4 2],'Sigmoid');

Net=NetValue(Net,X);
Net{end}{1}.Out
Net{end}{2}.Out
n=0;
Er=0;
while(1)
Net=NetValue(Net,X);
temp=0;
for j=1:length(Net{end})
    temp=temp+sum((Y(:,j)-Net{end}{j}.Out).^2);
end
if temp<0.0001,break;end
n=n+1;
Er(n)=temp;
for j=1:length(Net{end})
    Net{end}{j}.Delta=(Y(:,j)-Net{end}{j}.Out).*Net{end}{j}.Out.*(1-Net{end}{j}.Out);
end

for i=length(Net)-1:-1:1
    for j=1:length(Net{i})
        temp=0;
        for k=1:length(Net{i+1})
            temp=temp+Net{i+1}{k}.Weight(j).*Net{i+1}{k}.Delta;
        end
        Net{i}{j}.Delta=temp.*Net{i}{j}.Out.*(1-Net{i}{j}.Out);
    end
end


for i=length(Net):-1:2
    for j=1:length(Net{i})
        for k=1:length(Net{i-1})
            Net{i}{j}.Weight(k)=Net{i}{j}.Weight(k)+sum(eta.*Net{i}{j}.Delta.*Net{i-1}{k}.Out);
        end
    end
end

for j=1:length(Net{1})
    for k=1:3
        Net{1}{j}.Weight(k)=Net{1}{j}.Weight(k)+sum(eta.*Net{1}{j}.Delta.*X(:,k));
    end
end
end
Net=NetValue(Net,X);
Net{end}{1}.Out
Net{end}{2}.Out
n
plot(Er);

⌨️ 快捷键说明

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