首页 > 其他 > 详细

机器学习之最小二乘法和梯度下降法的区别

时间:2015-07-22 22:33:28      阅读:293      评论:0      收藏:0      [点我收藏+]

摘自知乎:

其实, 在计算量方面, 两者有很大的不同, 因而在面对给定的问题时, 可以有选择性的根据问题的性质选择两种方法中的一个.
具体来说, 最小二乘法的矩阵公式是 技术分享, 这里的 A 是一个矩阵, b 是一个向量. 如果有离散数据点, 技术分享, 而想要拟合的方程又大致形如 技术分享, 那么, A 就是一个 技术分享 的矩阵, 第 i 行的数据点分别是 技术分享, 而 b 则是一个向量, 其值为 技术分享. 而又已知, 计算一个矩阵的逆是相当耗费时间的, 而且求逆也会存在数值不稳定的情况 (比如对希尔伯特矩阵求逆就几乎是不可能的). 因而这样的计算方法有时不值得提倡.
相比之下, 梯度下降法虽然有一些弊端, 迭代的次数可能也比较高, 但是相对来说计算量并不是特别大. 而且, 在最小二乘法这个问题上, 收敛性有保证. 故在大数据量的时候, 反而是梯度下降法 (其实应该是其他一些更好的迭代方法) 更加值得被使用.

当然, 其实梯度下降法还有别的其他用处, 比如其他找极值问题. 另外, 牛顿法也是一种不错的方法, 迭代收敛速度快于梯度下降法, 只是计算代价也比较高. 

机器学习之最小二乘法和梯度下降法的区别

原文:http://www.cnblogs.com/love-zyx/p/love-zyx003.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!