风扫地 发表于 2018-11-19 01:08:29

1.1单层感知机

本帖最后由 风扫地 于 2018-11-19 01:13 编辑

发现用word编辑完公式后,粘贴上来格式全乱了,索性发稿子吧
笔记如下:


matlab测试实例代码:
%单层感知器应用案例
%Page51习题《人工神经网络教程》书籍 By:韩力群

close all;
clear;
clc;

%输入数据
X_1 = [-1,1,-2,0]';
X_2 = [-1,0,1.5,-0.5]';
X_3 = [-1,-1,1,0.5]';

%输出标签
d_1 = -1;
d_2 = -1;
d_3 = 1;

X = ;
D = ;


n = 4; % 输入维数
m = 1; % 输出维数
P = 3; % 样本个数


eta = 0.1;%学习率
W = '; %初始权值


epochs = 0;
while 1
    epochs = epochs + 1;
    count = 0;
    for p = 1:P
      for k = 1:m
            net_k = W'*X(:,p);
            o_k = sign(net_k);
            W = W + eta*(D((p-1)*m+k)-o_k)*X(:,p);
            if(D((p-1)*m+k)==o_k)
                count = count + 1;
            end
      end
    end
   
    if(count==m*P)
      break;
    end
   
    if(epochs == 100)
      fprintf('epochs == %d\n',epochs);
    end
   
end
fprintf('epochs == %d\n',epochs);
W %最终结果


页: [1]
查看完整版本: 1.1单层感知机