⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 perceptron_or.m

📁 模式识别较全的讲解
💻 M
字号:
%%%%%%%%%%%%%%%%%%%感知器算法(逻辑或)%%%%%%%%%%%%%%%%%%%%%%%%%
% command window中输出:每步迭代之后更新得到的权向量,
%                       以及最终得到正确分类的权向量.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc;
clear;
theta = 0.05;
eita = 0.02;
w = rand(1,2)/10; %随机初始化权向量
x1 = [0;
      0];
x2 = [0 1 1;
      1 0 1];
N = size(x1,2)+size(x2,2);
num = 0;
count = 0;
while num<N
    for i=1:size(x1,2)
        count = count + 1;
        if w*x1(:,i)-theta < 0
            num = num+1;
        else
            num = 0;
            w = w - eita*x1(:,i)';
        end
        fprintf('The %d iteration:\n',count);
        w
        if num >= N
            break;
        end
    end
    
    if num >=N
        break;
    end
    
    for i=1:size(x2,2)
        count = count + 1;
        if w*x2(:,i)-theta > 0
            num = num+1;
        else
            num = 0;
            w = w + eita*x2(:,i)';
        end
        fprintf('The %d iteration:\n',count);
        w
        if num >= N
            break;
        end
    end
end
fprintf('Iteration is finished.\nThe result is:\n');
w

 

⌨️ 快捷键说明

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