最近看了一下张泽旭的书,然后觉得看得挺困难的,很多都不是很会,慢慢来吧,坚持下去,慢慢学会坚持一件事情,这样可以很大程度上面提高我们的自信,因为我们认为可能做不到的事情,确实做到了。贴一下这次学习的代码吧:

%chap2_1;
clear;
clc;
%初始化;
w_0 = rand(1);
w_1 = rand(1);
w_2 = rand(1);
MAX_epoch = 4;                           %设置最大的训练回合数;
xite = 0.6;                              %定义学习率参数;
X=[[1 0 0];[1 0 1];[1 1 0];[1 1 1]];     %设置输入样本;
Num = 4;
for k = 1:1:MAX_epoch
    for n = 1:1:Num
        if n <=2
            d = -1;
        else
            d = 1;
        end
        W = [w_0,w_1,w_2];
    %计算感知器的诱导局部域;
        sgnv = X(n,:) * W';
        if sgnv >= 0
            y = 1;
        else
            y = -1;
         end
                      
    %感知器权值调整;
        m = 4 * (k - 1) + n;
        w0(m) = w_0 +xite * (d - y) *X(n,1);
        w1(m) = w_1 +xite * (d - y) *X(n,2);
        w2(m) = w_2 +xite * (d - y) *X(n,3);
                      
        W=[w0(m),w1(m),w2(m)];
        w_0 = w0(m);
        w_1 = w1(m);
        x_2 = w2(m);
                      
    end
end
figure(1);
P = [0 0 1 1;0 1 0 1];
T = [0 0 +1 +1];
plotpv(P,T);
plotpc([w_1,w_2],w_0);
figure(2);
subplot (3,1,1);
plot(1:m,w0(:),'r');
subplot (3,1,2);
plot(1:m,w1(:),'g');
subplot (3,1,3)
plot(1:m,w2(:),'b');

对于这个,还是有很多疑问,比如感知器里面的那个向量的维数等等,所以说还是有一点问题的。