【发布时间】:2017-06-23 05:46:20
【问题描述】:
我想创建一个简单的神经网络,在我的研究中,我遇到了一个名为 Gradient Descent 的概念。那就是:
想象你在一个圆形桶里有一个红球。想象 进一步说红球试图找到桶底。 这是优化。
我使用这个教程:
http://iamtrask.github.io/2015/07/27/python-network-part2/
但我无法理解优化何时发生。当梯度下降发生时,最重要的是,与圆桶示例有什么关系?
本站还有一个教程(基本方法):
http://iamtrask.github.io/2015/07/12/basic-python-network/
根据这个网站,这个不是梯度下降,但第二个教程和第一个一样,它被称为梯度下降法。我无法理解这两个区别。
【问题讨论】:
-
请阅读机器学习教程或维基的梯度下降文章。优化步骤与
-=aka 下降一致。示例:synapse_0 -= synapse_0_derivative。之前的行计算梯度。大多数 NN 优化器都基于梯度下降的思想,其中使用反向传播来计算梯度,并且几乎在所有情况下都使用随机梯度下降来进行优化,这与纯梯度下降有点不同。这些是基础知识,而 ML 课程比这类博客文章更有帮助。 -
我读了很多书,但还是看不懂。我使用 Sigmoid 激活函数,我无法将它与该存储桶示例相关联。在本教程中,我的优化是什么?在 Sigmoid 中,我们必须最小化一些并最大化其他一些......但在梯度下降中,我们只需要最小化......我很困惑......
-
从基础开始的更多理由!损失就是损失......它始终是一个最小化问题。
-
我同意你需要先了解基础知识,你有严重的误解,sigmoid 与最小化/最大化无关。而且这些教程非常简单,学不到什么。
-
第一个链接中的 sigmaoid 函数是
1/(1+exp(-x)),它具有派生的x(1-x)。您可以在代码中找到这两个表达式,并填写x。
标签: python machine-learning neural-network artificial-intelligence deep-learning