Answers:
甚至在线性模型的情况下,如果您具有解析解,则仍然最好使用这种迭代求解器。
例如,如果我们考虑线性回归,则显式解需要将具有复杂度的矩阵求逆。在大数据的情况下,这变得令人望而却步。
另外,机器学习中的许多问题都是凸的,因此使用梯度可以确保我们达到极值。
正如已经指出的那样,仍然存在相关的非凸问题,例如神经网络,其中梯度方法(反向传播)提供了有效的求解器。同样,这与深度学习的情况特别相关。
不需要梯度下降。事实证明,梯度下降通常是效率极低的优化算法!对于迭代方法,通常可以找到比梯度最陡峭的方向更好的方向。
不过,这只是一个小小的回答。您的问题确实应该是:“为什么我们需要迭代方法?” 例如。如果问题是凸的,Slater条件成立,并且一阶条件是必要的,并且是最优的充分条件,为什么不直接解决呢?也就是说,当解决方案可以描述为方程组的解决方案时,为什么不简单地求解该系统呢?答案是:
在微积分101中,我们学习了如何使用“分析方法”优化函数:我们只需要获取成本函数的导数并将导数设置为0,然后求解方程即可。这确实是一个玩具问题,在现实世界中几乎不会发生。
,但不知道解析解决方案)。我们必须使用一些数值方法(检查为什么在多项式情况下为Abel Ruffin定理)。
您提到的方法只能用于求解线性方程组,例如在线性回归的情况下,但是对于解决一组非线性方程式来说,例如在具有S型激活的神经网络的情况下,梯度下降是一种方法去。因此,梯度下降是一种更通用的方法。
即使对于线性方程,由线性方程组给定的矩阵的大小也很大,并且可能难以约束存储要求。