两个感知器在学习时如何产生不同的线性决策边界?

人工智能 神经网络 激活函数 感知器
2021-11-13 08:07:23

我了解到,您可以使用两个感知器最终为非线性可分数据创建分类器。我试图了解这两个感知器如何/是否会收敛到两个不同的决策边界。

在此处输入图像描述

来源:https ://tdb-alcorn.github.io/2017/12/17/seeing-like-a-perceptron.html

我不明白当第二个感知器具有与第一个感知器相同的输入时,它如何创建不同的决策边界?我知道权重可以以不同方式初始化,但是第二个感知器是否对其他内容进行了分类?训练后决策边界不应该最终收敛到相同吗?

在此处输入图像描述

来源:https ://tdb-alcorn.github.io/2017/12/17/seeing-like-a-perceptron.html

1个回答

我认为您的困惑来自您将这两个隐藏节点称为“感知器”这一事实。您不应该调用网络感知器中的隐藏节点。你应该称它们为“节点”或“神经元”,尽管术语“多层感知器”正是来自于此。

您应该将感知器视为类似

在此处输入图像描述

感知器使用相应的权重简单地计算输入的线性组合。单个感知器可以(仅)线性地分离一组点。

但是,如果您有两个“堆叠感知器”(例如网络中的隐藏节点),那么,假设两个“感知器”(或隐藏节点)仅计算输入的线性组合,则每个隐藏节点的输出可以是解释为线条(如图片中的紫色和绿色线条)。

我不明白当第二个感知器具有与第一个感知器相同的输入时,它如何创建不同的决策边界?

这是因为两个感知器最终会有不同的权重。你可以从你的图表中看到p0有重量w0,0w0,1,而感知器p1有重量w1,1w1,0. 请注意,在训练期间会根据您的损失函数(在输出节点处)学习权重p2)和标记的数据集(用于训练那个简单的神经网络)。

我知道权重可以以不同方式初始化,但是第二个感知器是否对其他内容进行了分类?

如果您分别考虑两个隐藏节点(在您的网络中),那么(如上所述)这两个隐藏节点的输出可以解释为一条线,这些线可能不同(如您的图片所示),因为这两个隐藏节点最终会从输入中学到一些不同的东西。但是,您还应该将两个隐藏节点的输出视为对输出节点的输入的贡献。因此,以某种方式,您正在组合两个隐藏节点(或者,正如您所说的“感知器”)的决策。

请注意,您需要在那些隐藏的感知器中引入“非线性”,以便能够非线性地分离一组点。

训练后决策边界不应该最终收敛到相同吗?

不,不一定。感知器学习算法找到的决策边界取决于权重的初始化和输入的呈现顺序。请参阅C. Bishop的模式识别和机器学习的第 4 章(特别是第 192-196 页) 。如果损失函数是凸的(即只有一个最优值),则可以保证两个感知器收敛到相同的解决方案。