PyTorch进阶(深层神经网络中的非线性边界)

在感知器模型中, 我们使用线性模型对数据的两个区域进行分类。实际数据要复杂得多, 并不总是按直线分类。为此, 我们需要一个非线性边界来分离数据。 Perceptron模型是在神经网络的最基本形式上工作的, 但是对于现实的数据分类, 我们使用了深度神经网络。
当我们的模型无法表示一组数据时, 我们将使用非线性模型代替它。在以下情况下使用非线性模型

PyTorch进阶(深层神经网络中的非线性边界)

文章图片
在上图中, 有一条曲线可以对我们的数据进行完美分类, 但是如何获得该曲线。为此, 我们将两个感知器组合成第三个。理解是很典型的, 因此为了更好地理解, 我们采用两个线性模型并将它们组合在一起以形成一个非线性模型。
PyTorch进阶(深层神经网络中的非线性边界)

文章图片
从上面的图片可以明显看出, 两个模型都无法对我们的数据进行分类。以下是一些步骤, 用于从两个线性模型中形成一个非线性模型:
【PyTorch进阶(深层神经网络中的非线性边界)】步骤1:
首先, 将每个线性模型组合起来以形成一个非线性模型。如果我们有两个线性模型, 那么通过将它们组合在一起, 结果模型将看起来像
PyTorch进阶(深层神经网络中的非线性边界)

文章图片
输出模型是其他两个模型的线性组合。
第2步:
现在, 我们要做的是, 将这两个线性模型都视为包含某些线性方程的输入节点。我们将第一个模型表示为x1, 将第二个模型表示为x2。
PyTorch进阶(深层神经网络中的非线性边界)

文章图片
第三步:
在下一步中, 我们将模型乘以一些权重, 例如w1和w2, 并考虑偏差, 以便将偏差值也视为节点。
PyTorch进阶(深层神经网络中的非线性边界)

文章图片
步骤4:
现在, 将所有内容相加以获得线性组合。为此, 我们将使用S形激活函数, 该函数会提供预期的曲线。
PyTorch进阶(深层神经网络中的非线性边界)

文章图片
步骤5:
我们将数学上将所有节点与其权重值相乘, 例如w1 = 0.4, w2 = 1和b = 0.5, 然后应用S型曲线, 则结果曲线如下:
PyTorch进阶(深层神经网络中的非线性边界)

文章图片
步骤6:
在第二个线性模型x2中, 如果我们取权重值为3, 则所得模型将给我们带来意外的曲线, 看起来像是
PyTorch进阶(深层神经网络中的非线性边界)

文章图片
从步骤5和步骤6中可以清楚地看到, 用权重值1.5和1创建的模型对我们的数据分类最好, 而不是用权重值1.5和3创建的模型。 -线性模型。
组合两个线性模型以形成一个非线性模型的过程并不是那么简单。理解神经网络的结构对于实现深度神经网络的非线性边界非常重要。

    推荐阅读