最近看了一下张泽旭的书,然后觉得看得挺困难的,很多都不是很会,慢慢来吧,坚持下去,慢慢学会坚持一件事情,这样可以很大程度上面提高我们的自信,因为我们认为可能做不到的事情,确实做到了。贴一下这次学习的代码吧:
%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');
对于这个,还是有很多疑问,比如感知器里面的那个向量的维数等等,所以说还是有一点问题的。
转载于:https://blog.51cto.com/liu168ad/1391441