我只是想知道是否是这种情况?直观的定义是什么?
问问题
926 次
1 回答
3
梯度下降是一种寻找某个多维函数的最小值/最大值的方法。为简单起见,想象一下寻找山顶。在这种情况下,我们正在寻找 3 个维度(经度、纬度、高度)的最大值(高度)。函数是山的表面,有两个输入(经度、纬度)和一个输出(高度)。
如果你必须使用梯度下降,你会这样做:
- 在当前位置计算每个方向的坡度
- 向最陡的正倾斜方向移动一小段距离
- 如果达到收敛,则停止。否则,返回步骤 1。
收敛意味着如果你继续,结果不会有显着变化。上述指令可以推广到任意数量的维度。
要在任何语言中实现梯度下降,您需要设置一个循环,并实现上述步骤。无论您使用哪种语言,它都是一样的。这是一个关于梯度下降的好视频,其中包含一些伪代码(与 Python 没有什么不同):http: //youtu.be/5u4G23_OohI?t= 26m34s。
于 2013-04-13T03:29:27.510 回答