percep1.m

来自「神经网络感知器的几个例子」· M 代码 · 共 24 行

M
24
字号
% percep1.m
%
P = [ -0.5 -0.5 0.3 0; -0.5 0.5 -0.5 1 ];		T = [ 1 1 0 0 ];
% 初始化
[ R, Q ] = size (P);		[S, Q ] =size (T);	
[W,b] = rands ( S, R );		
max_epoch = 20;
% 表达式
B = cat(2,b,b,b,b);                      % b变成一个S Q的矩阵B
A = hardlim ( W*P + B );			    % 求网络输出
for epoch = 1 : max_epoch			    % 开始循环训练、修正权值过程
% 检查
  if all ( A == T )					    % 当 A = T 时结束
    epoch = epoch - 1;
    break
  end
% 学习
e = T - A;
dW = learnp([],P,[],[],[],[],e);        %求权值的修正值
db = learnp(b,ones(1,S),[],[],[],[],e); %求偏差的修正值
W = W + dW;						        %修正后的权值
B = B + db;						        %修正后的偏差
A = hardlim ( W*P + B );			    % 计算权值修正后的网络输出
end

⌨️ 快捷键说明

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