perception.m

来自「模式识别较全的讲解」· M 代码 · 共 39 行

M
39
字号
%%%%%%%%%%%%%%感知器算法%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% command window中输出:每步迭代之后更新得到的权向量,
%                       以及最终得到正确分类的权向量.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc;
clear;
x1=[0 1 1 1;
    0 0 0 1;
    0 0 1 0];          %w1类样本
x2=[0 0 0 -1;
    0 -1 -1 -1;
    -1 -1 0 -1];       %w2类样本

x1=[x1;ones(1,size(x1,2))];
x2=[x2;-ones(1,size(x2,2))];
x=[x1,x2];
C=1;                   %校正增量
N=size(x,2);           %样本总数
w=[0 0 0 0]';          %初始权向量
n=0;
index=1;
count=0;
while n<N
    count=count+1;
    if w'*x(:,index)<=0
        w=w+C*x(:,index);
        n=0;
        index=mod((index),N)+1;
    else
        n=n+1;
        index=mod((index),N)+1;       
    end
    fprintf('The %d iteration:\n',count);
    w
end
fprintf('Iteration is finished.\nThe result is:\n');
w
    

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?