正如许多论文指出的那样,为了获得更好的神经网络学习曲线,最好以使值与高斯曲线匹配的方式对数据集进行归一化。
这种特征归一化过程是否仅在我们使用 sigmoid 函数作为压缩函数时才适用?如果不是什么偏差最适合 tanh 挤压功能?
正如许多论文指出的那样,为了获得更好的神经网络学习曲线,最好以使值与高斯曲线匹配的方式对数据集进行归一化。
这种特征归一化过程是否仅在我们使用 sigmoid 函数作为压缩函数时才适用?如果不是什么偏差最适合 tanh 挤压功能?
它与激活函数关系不大。
假设您有一个 2 输入神经网络,其中 1 个节点位于隐藏层,1 个节点位于输出层,均具有 sigmoid 激活函数。
假设我们正在解决一个双极分类问题。现在说其中一个输入是按顺序排列的10^4
,而另一个输入是按顺序排列的10
。现在神经网络将通过隐藏层将此值传播到输出层。您会收到一个错误,该错误delta
会传播回输入层。
现在根据梯度下降规则(如果您查看公式),重量减少将与第 th 输入的delta * x_i
位置成正比。由于两个输入引起的净误差对于两者来说都是相同的,所以 NN 首先减少/增加连接的权重以使其规模化,然后发生我们感兴趣的真正学习。此外,如果您在开始时从制度上看到,如果我们给予随机权重,则较大的输入将对输出有更多的贡献。它基本上决定了输出。现在,随着 NN 的学习,它会减少这个大输入的权重,以平衡其高值。但如果你一开始就这样做,瞧!NN 将训练得更快。x_i
i
delta
就像你有两个孩子,一个比另一个更顽皮。你把他们一个人留在家里,其中一个打破了一些东西(delta
)。但是,由于您不知道是谁做的,您将delta
平等地为他们做出贡献。但是,当您了解孩子的天性时,您对谁在您不在家时破坏事物的看法(体重年龄)会发生变化。规范化基本上是已经有人警告您谁是顽皮的孩子,因此您可以从一开始就采取平衡的观点。(非常糟糕的例子,但我想不出更好的例子)。
这个例子只需要 2 个输入,所以它可能看起来没有太大的收获,但在现实生活中,如果有大量的输入并且它们之间存在很大的差异,那么它将会是。
我可能遗漏了一些东西或其他数学上的微妙之处,如果有人指出,我将不胜感激。
是的,它适用,不,这两个激活函数之间没有那么重要。