2-1 感知器

最近看了一下張澤旭的書,然後覺得看得挺困難的,很多都不是很會,慢慢來吧,堅持下去,慢慢學會堅持一件事情,這樣可以很大程度上面提高我們的自信,因爲我們認爲可能做不到的事情,確實做到了。貼一下這次學習的代碼吧:

%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');

對於這個,還是有很多疑問,比如感知器裏面的那個向量的維數等等,所以說還是有一點問題的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章