最近看了一下張澤旭的書,然後覺得看得挺困難的,很多都不是很會,慢慢來吧,堅持下去,慢慢學會堅持一件事情,這樣可以很大程度上面提高我們的自信,因爲我們認爲可能做不到的事情,確實做到了。貼一下這次學習的代碼吧:
%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');
對於這個,還是有很多疑問,比如感知器裏面的那個向量的維數等等,所以說還是有一點問題的。