如何直观地解释S形神经网络模型?

时间:2019-07-15 01:43:15

标签: algorithm neural-network theory sigmoid

有很多资料来源,但是对于我来说,它们的解释水平太高了,无法真正理解。

这是我对该模型的工作方式的了解;

我们使用权重*值在上一层节点中转发信息。我们在这里不使用S形函数。这是因为,如果我们在这里使用S形函数,则任何隐藏层都将强制该值为“正”。如果始终为正,则后续值绝不能小于0.5。

前馈到输出后,然后在输出上使用Sigmoid函数。

因此,总的来说,我们仅在输出层的值上仅使用Sigmoid函数。

我将尝试包含一个希望不可怕的图表

https://imgur.com/a/4EzkpH5

我已经用自己的代码进行了测试,显然,它不应该是每个值和权重上的sigmoid函数,但是我不确定这是否仅仅是weight * value的总和

2 个答案:

答案 0 :(得分:0)

因此,基本上,您的模型具有一组功能。这些特征是独立变量,将负责产生输出。因此,特征是输入,而预测值是输出。这确实是一个功能。

  

如果我们根据功能 研究神经网络,则很容易理解。

  • 首先将特征向量与权重向量相乘。这意味着必须生成两个向量的点积。

  • 如果您具有单个节点(神经元),则点积是标量。在产品上应用S型功能。输出是最终的预测。

整个模型可以表示为单个复合函数,例如,

y = sigmoid( dot( w , x ) )

如果将NN作为函数,那么对NN的反向传播(梯度下降)的理解也会带来一些直觉。 在上面的功能中,

  • sigmoid:将S型激活函数应用于自变量。

  • dot:返回两个向量的点积。

此外,请尽可能使用向量符号。它使您免于与求和相关的混乱。

希望有帮助。

答案 1 :(得分:0)

激活函数在神经网络模型中起着重要作用:在选择激活函数的情况下,它们可以使网络具有对非线性数据集进行建模的能力。

在您发布的图中显示的示例(如下图所示)将限于输出值在0到1(S型函数的范围)之间的线性问题模型。但是,如果将S形应用于中间的两个节点,则该模型将支持非线性数据集。不是要讨论StackOverflow为何有效的理论基础的地方,而是我建议研究像这样的电子书:Neural Networks and Deep Learning(无隶属关系)。 附带说明:网络的最终输出层有时被实例化为简单的总和或ReLU。这将扩大网络的输出范围。

enter image description here