具有 sigmoid 激活函数的感知器可以执行非线性分类吗?

机器算法验证 机器学习 神经网络 感知器
2022-03-02 10:33:47

在此处输入图像描述

考虑如上图所示的感知器。

我知道:

如果激活函数是线性的,即前三种情况,那么感知器就相当于一个线性分类器。

但是,我只是想知道:

如果感知器的激活函数是 sigmoid,感知器是否等同于非线性分类器?

换句话说:

如果使用 sigmoid 作为其激活函数,感知器可以表示任何复杂的函数吗?

4个回答

图中的网络有一个输入层和一个输出层,但没有隐藏层。这种类型的网络不能执行非线性分类或实现任意非线性函数,无论激活函数的选择如何。

输入被投影到权重向量上并沿该方向缩放/移动。这是一个线性运算,将输入减少为单个值,然后通过(可能是非线性的)激活函数传递。这种线性减少到单个值是网络无法实现任意功能的原因。考虑输入空间中与权重向量正交的超平面。落在这个超平面内的所有输入都映射到相同的输出值(下面绘制的决策边界是这种超平面的一个例子)。

这是一个示例函数,对应于具有两个输入和一个逻辑 sigmoid 输出的网络:

在此处输入图像描述

该函数是一个沿权向量方向弯曲成S形的曲面。更改网络参数可以旋转 S 形曲面的方向,并对其进行拉伸或移动。但是,基本的 S 形将始终保持不变。

如果网络用于实现分类器,则决策边界将始终是线性的。例如,假设给定输入(即网络实现逻辑回归模型),我们将示例网络的输出表示类别为“1”的概率。我们施加了一个阈值,如果输入产生高于阈值的输出,则将其分类为“1”,否则为“0”。这是同一函数的俯视图,其中颜色代表输出:

在此处输入图像描述

绘制的决策边界对应于阈值 0.5(即我们分配最可能的类别)。此边界右侧的所有点将被归类为“1”,而左侧的所有点将被归类为“0”。决策边界与权重向量正交(以红色绘制)。改变权重可以旋转或移动决策边界,但绝不会使它成为非线性的。

然而,一旦网络包含至少一个具有 sigmoid(或其他非线性)激活函数的隐藏层,情况就会发生根本变化。这样的网络确实可以执行非线性分类和近似任意函数(但这样做可能需要向网络添加更多的单元)。正如@broncoAbierto 所提到的,这是通用逼近定理的结果。

我同意@user20160 给出的答案。

但是,您可能对如果激活函数不是单调的会发生什么感兴趣。

例如:钟形高斯函数g(z)=ev2/2

在这种情况下,生成了两个超平面,可以用来解决XOR 问题

在此处输入图像描述 在此处输入图像描述

参见“高斯感知器:实验结果

例如,要了解有关分类的更多信息,请查看https://en.wikipedia.org/wiki/Perceptronhttps://en.wikipedia.org/wiki/Linear_classifier

回答这个问题,首先,分类器不需要能够表示任何被认为是非线性的复杂函数。一个例子是二次分类器(wiki/Quadratic_classifier),它是一个 2 次多项式函数。我们可以有无限多个进一步的例子,因为 n 次的多项式分类器,n 从 3 到无穷大。

其次,不,如果我们考虑经典设置,将激活函数更改为 sigmoid 并没有帮助。事实上,sigmoid 激活函数甚至不会成为一个明智的分类器。在经典设置中,感知器的输出为 -1 或 +1,+1 表示Class 1,-1 表示Class 2如果您将激活函数更改为 sigmoid,您将不再有可解释的输出。(现在当然可以在 sigmoid 之后应用一个 step 函数,但仔细想想,这和只使用 step 函数是一样的)

澄清与 broncoAbierto 答案的联系,任意多个具有 sigmoid 激活的感知器(即神经网络)的组合确实是一个非线性分类器。此外,它可以逼近任何复杂的函数。然而,单个感知器不具备这些属性中的任何一个。

您可能听说过神经网络的通用逼近定理具有 sigmoid 激活的网络是这种网络的一个特例,所以是的,它们可以执行非线性分类,并且只要单元的数量足够大,它们就可以任意地逼近任何函数。