为什么梯度下降时我们可以解析线性回归
gradient-descent
machine-learning
5
0

在线性回归空间中使用梯度下降有什么好处?看起来我们可以用分析方法解决问题(找到最小的成本函数的theta0-n),那么为什么我们仍然要使用梯度下降来做同样的事情?谢谢

参考资料:
Stack Overflow
收藏
评论
共 3 个回答
高赞 时间 活跃

我从https://stats.stackexchange.com/questions/23128/solving-for-regression-parameters-in-closed-form-vs-gradient-descent看到了一个很好的答案

基本上,原因是:

1.对于大多数非线性回归问题,没有封闭形式的解决方案。

2即使在线性回归中(在少数情况下也可以使用闭式解),使用公式可能也不切实际。以下示例显示了发生这种情况的一种方式。

收藏
评论

当使用法线方程来解析成本函数时,您必须计算:

在此处输入图片说明

其中X是输入观测值的矩阵,y是输出向量的矩阵。该操作的问题是计算n(n ^ 3)的nxn矩阵的逆的时间复杂度,并且随着n的增加,完成它可能需要很长时间。

当n低时(n <1000或n <10000),您可以将正则方程视为计算theta的更好选择,但是对于更大的值, Gradient Descent更快得多,所以唯一的原因是时间:)

收藏
评论

您应该提供有关您的问题的更多详细信息-您到底在问什么-我们是在谈论一个或多个维度的线性回归吗?简单的还是广义的?

一般来说,为什么人们使用GD?

  • 易于实现
  • 这是一种非常通用的优化技术-即使您将模型更改为更通用的模型,也可以使用它

那么分析解决方案呢?好吧,我们确实使用过它们,您的主张在这里只是错误的(如果我们通常在谈论),例如OLS方法是一种封闭形式的解析解决方案,已被广泛使用。如果您可以使用分析解决方案,那么它在计算上是可以负担的(因为有时GD更便宜或更快速),那么您可以甚至应该使用它。

毫无疑问,这始终是一些利与弊的问题-分析解决方案与模型紧密相关,因此,如果您计划将来对模型进行概括/更改,则实施解决方案可能会效率低下。它们有时效率不如其数值近似值,有时很难实现。如果以上都不是-您应该使用分析解决方案,而人们确实会这样做。

综上所述,如果满足以下条件,则宁可使用GD over分析解决方案:

  • 您正在考虑模型的更改,概括,添加一些更复杂的术语/正则化/修改
  • 您需要通用方法,因为您对代码和模型的未来了解不多(您只是开发人员之一)
  • 分析解决方案的计算成本更高,并且您需要效率
  • 分析解决方案需要更多的内存,而您没有
  • 分析解决方案难以实施,您需要简单的代码
收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号