matlab定义向量,线性不可分向量 - MATLAB & Simulink Example - MathWorks 中国

2 输入硬限制神经元无法对 5 个输入向量正确分类,因为它们是线性不可分的。

X 中的五个列向量中的每一个都定义了一个 2 元素输入向量,行向量 T 定义了向量的目标类别。使用 PLOTPV 绘制这些向量。

X = [ -0.5 -0.5 +0.3 -0.1 -0.8; ...

-0.5 +0.5 -0.5 +1.0 +0.0 ];

T = [1 1 0 0 0];

plotpv(X,T);

c55a9e48252f214b794c93cdb6318c9e.png

感知器必须将 X 中的 5 个输入向量正确分类为由 T 定义的两个类别。因为这两种输入向量无法由一条直线分隔,感知器将无法进行上述分类。

在此处创建和配置初始感知器。(配置步骤通常是可选的,因为它由 ADAPT 和 TRAIN 自动执行。)

net = perceptron;

net = configure(net,X,T);

将神经元的最初分类尝试添加到绘图中。初始权重设置为零,因此任何输入都会生成相同的输出,而且分类线甚至不会出现在图上。

hold on

plotpv(X,T);

linehandle = plotpc(net.IW{1},net.b{1});

5543b7fbf3b333ecaa82390ade0fc6dd.png

ADAPT 在基于输入和目标数据进行学习后,返回一个新网络、输出和误差。此循环允许网络重复自适应、绘制分类线,并在 25 次迭代后停止。

for a = 1:25

[net,Y,E] = adapt(net,X,T);

linehandle = plotpc(net.IW{1},net.b{1},linehandle); drawnow;

end;

774b8bdf3058754fdb1903357cb09b6c.png

请注意,永远不会得到零误差。尽管经过训练,感知器尚未成为可接受的分类器。感知器的根本限制是只能对线性可分的数据进行分类。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值