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

来源:互联网 发布:win7连接网络打印机 编辑:程序博客网 时间:2024/06/08 01:12
% 这是《人工神经网络导论》3.2.1离散单输出感知器训练算% 法对于0到9的奇偶性识别的初步简单实现clcclear allclose 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    endendWXY
待补充。
0 0
原创粉丝点击