您的位置:首页 > 理论基础 > 计算机网络

离散单输出感知器训练算法——《人工神经网络导论》

2014-08-02 12:22 309 查看
% 这是《人工神经网络导论》3.2.1离散单输出感知器训练算
% 法对于0到9的奇偶性识别的初步简单实现

clc
clear all
close all
%%算法3-1 离散单输出感知器训练算法
%%初始化权向量W
%%重复进行下列过程,直到训练完成
% 对每一个样本(X,Y),执行:
% 	计算O=F(XW);
% 	如果O不正确,则
% 		(i):o=0时,取W=W+X;
% 		(ii):o=1时,取W=W-X;
% 	end;
% %}
%%根据此时W进行误差判断,若小于规定限度则结束训练。

W=rand(4,1);
X=[0 0 0 0;0 0 0 1;0 0 1 0;0 0 1 1;0 1 0 0;0 1 0 1;0 1 1 0;0 1 1 1;1 0 0 0;1 0 0 1];
Y=[0;1;0;1;0;1;0;1;0;1];
[row_x,col_x]=size(X);
O=zeros(row_x,1);
ok=0;
while ok==0
for k=1:row_x
net=X(k,:)*W;
if net>10
O(k)=1;
else O(k)=0;
end
if O(k)~=Y(k)
if O(k)==0
W=W+X(k,:)';
else W=W-X(k,:)';
end
ok=0;
break;
%这里的break是挺重要的,因为一旦改动W就必须重新计算O,否则可能导致O前面的出错,后面的正确。
else ok=1;
end
end
end
W
X
Y
待补充。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: