我是数学和计算机专业的双学位,对机器学习感兴趣。我目前正在选修安德鲁教授的热门课程。他在谈论和解释梯度下降,但我不能不注意到一些事情。以我的数学背景,我知道如果我试图找到函数的全局最小/最大值,我必须首先找到所有的临界点。这门课程讨论的是GD的收敛性,但它真的能保证收敛到全球最小值吗?我怎么知道它不会卡在马鞍上?做一次二阶导数测试不会更安全吗?如果我的函数是可微的,它似乎是合理的,它收敛到一个局部最小值,而不是全局最小值。我试图寻找一个更好的解释,但似乎每个人都认为这是理所当然的,毫无疑问。有人能给我指明正确的方向吗?
发布于 2019-03-26 04:36:56
梯度下降并不总是收敛到全局极小值。当函数是凸的,学习速率是适当的时,它才收敛。
对于大多数现实生活中的问题,函数会有局部极小值,我们需要多次运行训练。其中一个原因是为了避免局部极小。
发布于 2019-04-09 03:31:42
如果您使用一个名为回溯梯度下降的版本,那么在大多数情况下,对于大多数函数,包括所有Morse函数,都可以证明收敛到一个局部最小值。在相同的假设下,还可以证明动量和NAG的回溯版本的收敛性。更多细节可以在我的答案和引用的论文中找到,以及GitHub上源代码的链接,在这个链接:
发布于 2020-05-14 20:17:41
本课程讨论的是GD的收敛性,但它是否确实保证能收敛到全球最小值?
本课程讨论了一个简单的MSE例子,它是一个凸函数。对于凸函数,
“是的”是有保证的。
在其他情况下,这是不能保证的。这就是为什么我们有一群优化者。
在简单的ML算法空间中,您将不需要这些。如果你开始深造。你得学会这一点。吴家祥也有一门很棒的深度学习课程。
用数学求最小/极大值
这将成为几乎不可能,当你有1000+ parm (一个神经网络,数百万的情况下)损失函数将变得过于复杂,无法完成这一任务,即数以百万计的变量的复杂函数。
https://datascience.stackexchange.com/questions/47987
复制相似问题