千家信息网

matlab感知器的局限性实例分析

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,这篇文章主要介绍"matlab感知器的局限性实例分析"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"matlab感知器的局限性实例分析"文章能帮助大家解决问题。
千家信息网最后更新 2025年01月23日matlab感知器的局限性实例分析

这篇文章主要介绍"matlab感知器的局限性实例分析"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"matlab感知器的局限性实例分析"文章能帮助大家解决问题。

对于线性不可分问题,单层感知器无法在有限时间内收敛。
%% 清理
clear,clc
close all
%%
n=0.2; % 学习率
w=[0,0,0];
P=[ -9, 1, -12, -4, 0, 5;...
15, -8, 4, 5, 11, 9];
d=[0,1,0,0,0,1]; % 期望输出

P=[ones(1,6);P];
MAX=20; % 最大迭代次数为20次
%% 训练
i=0;
while 1
v=w*P;
y=hardlim(v); % 实际输出
%更新
e=(d-y);
ee(i+1)=mae(e);
if (ee(i+1)<0.001) % 判断
disp('we have got it:');
disp(w);
break;
end
% 更新权值和偏置
w=w+n*(d-y)*P';
if (i>=MAX) % 达到最大迭代次数,退出
disp('MAX times loop');
disp(w);
disp(ee(i+1));
break;
end
i= i+1;
end
%% 清理
clear,clc
close all
%%
n=0.1; % 学习率
w=[0,0,0];
P=[ -9, 1, -12, -4, 0, 5;...
15, -8, 4, 5, 11, 9];
d=[1,1,0,0,0,1]; % 期望输出

P=[ones(1,6);P];
MAX=100; % 最大迭代次数为100次
%% 训练
i=0;
while 1
v=w*P;
y=hardlim(v); % 实际输出
%更新
e=(d-y);
ee(i+1)=mae(e);
if (ee(i+1)<0.001) % 判断
disp('we have got it:');
disp(w);
break;
end
% 更新权值和偏置
w=w+n*(d-y)*P';
if (i>=MAX) % 达到最大迭代次数,退出
disp('MAX times loop');
disp(w);
disp(ee(i+1));
break;
end
i= i+1;
end

关于"matlab感知器的局限性实例分析"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。

0