关于神经网络的不同结构

数据挖掘 神经网络 感知器 术语 毫升
2022-02-27 19:45:41

https://www.mathworks.com/help/deeplearning/ref/fitnet.html是我为了解将数据拟合到函数而遵循的教程。我对以下结构和术语几乎没有疑问:

1. 模型和隐藏层数

隐藏层是指输入和输出之间的层。如果层数 = 1,有 10 个隐藏神经元(如第二张图所示),那么它本质上是一个称为 MLP 的神经网络。我的理解正确吗?一般来说,

  • 如果隐藏层数 = 0,我们称 NN 为感知器。
  • 如果隐藏层数 >=1 但小于 3,则 NN 变为 MLP。链接中的图片是否是 MLP 的图片,因为它包含 10 个神经元的 1 个隐藏层?
  • 如果隐藏层数 > 3,则 NN 称为深度 NN,也称为深度学习

那是对的吗?

2.线性与非线性映射函数

生成的模型最终学会将输入映射到输出数据。

  • 我们将机器学习模型称为线性还是非线性?或者这个术语是否与映射函数相关联?
  • 哪一层的映射功能决定了这一点?基于哪一层的激活函数,我们说映射函数或模型是线性的还是非线性的?例如,在这张图片中,最后一层是输出层,激活函数看起来像一个恒等式/线性。但是隐藏层具有非线性的 sigmoid 激活函数。因此,这个模型是非线性函数吗?
3个回答

我会一一回答你的问题:


隐藏层是指输入和输出之间的层。如果层数 = 1,有 10 个隐藏神经元(如第二张图所示),那么它本质上是一个称为 MLP 的神经网络。我的理解正确吗?

神经网络的基本构建块是感知器它以生物神经元为模型:一个接收多个输入、加权并输出转换信号的单元。在其最简单的形式(即带有 sigmoid 激活的感知器)中,它实际上与逻辑回归相同。

当您在多个层上组合多个感知器时,您将形成MLP(多层感知器)。术语“MLP”被用作神经网络的同义词——在它们的基本前馈架构中。

没有隐藏层的神经网络甚至不能被视为神经网络。

只有一个隐藏层的称为浅层神经网络,没有人真正使用它们,因为它们不如深度神经网络强大。

当你有多个隐藏层时,你就会谈论深度神经网络它们是现在真正的大事,是目前可用的最强大的 ML 模型。


我们将机器学习模型称为线性还是非线性?或者这个术语是否与映射函数相关联?

ML 模型可以是线性的也可以是非线性的,由您选择。不同的模型将以不同的方式(线性或其他非线性方式)映射输入和输出。

我认为重要的是要强调机器学习不是一组模型,而是一种处理数据的方法您可以使用带有 ML 方法的线性回归(即线性模型)或 SVM 或深度神经网络(即非线性模型)来解决完全相同的问题。


哪一层的映射功能决定了这一点?

如果你提到深度神经网络,我相信所有层都负责输入和输出之间的非线性映射。非线性只能通过深度和非线性激活函数的组合来学习。网络越深,它能够学习的非线性模式就越复杂。在我看来,这就像你需要“一次全部”来做到这一点。

  1. 深度学习模型是多层感知器的一个子集。您认为“深”是主观的——只要您有多个隐藏层,您就可以称它为“深”并摆脱它。

  2. 您可以将术语“线性”和“非线性”与映射函数或模型相关联。感知器总是会学习类之间的线性边界(这个答案对此有很好的解释)。一旦添加了隐藏层,并将感知器转换为 MLP,模型/生成的映射函数将能够学习非线性决策边界。无论层的激活函数如何,都会发生这种情况。

  1. 你指的是一个非常主观的术语。1 层 NN 可以称为感知器,但从其他角度来看,简单的逻辑回归也有类似的公式。当人们提到 MLP 时,他们通常指的是简单的感知器层堆栈,通常不使用任何花哨的功能。当我们谈论深度学习时,它就变成了一个更广泛的主题。它不仅关乎深度,还关乎其复杂的设计。

  2. 因为 ANN 非线性仅在您通常以激活函数的形式应用时才适用。因此,如果我在不应用激活函数的情况下堆叠隐藏层,那么它只会成为线性算子。你可以试着考虑这个来练习。