单个感知器 – 非线性评估函数

在单个感知器的情况下,文献指出它无法用于分离非线性判别情况,如XOR函数。这是可以理解的,因为一条线(在二维空间中)的VC维度是3,因此单条二维线无法区分如XOR的输出。

然而,我的疑问是,为什么单个感知器的评估函数必须是线性阶跃函数?显然,如果我们使用像Sigmoid这样的非线性评估函数,这个感知器就能区分XOR的1和0。那么,我是不是遗漏了什么?


回答:

如果我们使用像Sigmoid这样的非线性评估函数,这个感知器就能区分XOR的1和0

这完全不正确。判别的标准不是线(或高维空间中的超平面)的形状,而是函数是否允许线性可分

没有单一的函数能够产生一个能够分离XOR函数点的超平面。图像中的曲线虽然分离了这些点,但它并不是一个函数。

你无法使用单一函数将蓝色和红色点分离到不同的超平面中

要分离XOR的点,你至少需要使用两条线(或任何其他形状的函数)。这将需要两个独立的感知器。然后,你可以使用第三个感知器基于符号来分离中间结果。

如果你使用两条线,你可以创建两个判别器,然后合并结果

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注