📄 linenet.m
字号:
%线性神经网络示例
clear
x=[0 0; 0.1 -0.1; 1.1 0.9; 1 1]; %输入样本
d=[0 0; 1 0; 1 0; 1 1];%输出样本
n=300; %最大迭代次数
ep=0.0001; %精度
Net=NewNet(size(x,2),[2],'myLine'); %创建神经网络, 单层, 2个神经元
y=zeros(size(d));
i=0;
E=0;
while(i<n)
i=i+1;
Net=NetValue(Net,x);%计算网络值
for j=1:length(Net{end})
y(:,j)=Net{end}{j}.Out; % 获取网络输出
end
E(i)=sum(sum((d-y).^2)); %计算误差
if E(i)<ep,break;end %如果满足精度要求, 则退出
for j=1:length(Net{end})
Net{end}{j}.Weight=Net{end}{j}.Weight+0.2.*sum(repmat(d(:,j)-y(:,j),1,size(x,2)).*x);%修正权值
end
end
i
plot(E);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -