最小二乘法和梯度下降法的区别
发布网友
发布时间:2022-03-30 05:27
我来回答
共1个回答
热心网友
时间:2022-03-30 06:57
其实,
在计算量方面,
两者有很大的不同,
因而在面对给定的问题时,
可以有选择性的根据问题的性质选择两种方法中的一个.
具体来说,
最小二乘法的矩阵公式是
,
这里的
A
是一个矩阵,
b
是一个向量.
如果有离散数据点,
,
而想要拟合的方程又大致形如
,
那么,
A
就是一个
的矩阵,
第
i
行的数据点分别是
,
而
b
则是一个向量,
其值为
.
而又已知,
计算一个矩阵的逆是相当耗费时间的,
而且求逆也会存在数值不稳定的情况
(比如对希尔伯特矩阵求逆就几乎是不可能的).
因而这样的计算方法有时不值得提倡.
相比之下,
梯度下降法虽然有一些弊端,
迭代的次数可能也比较高,
但是相对来说计算量并不是特别大.
而且,
在最小二乘法这个问题上,
收敛性有保证.
故在大数据量的时候,
反而是梯度下降法
(其实应该是其他一些更好的迭代方法)
更加值得被使用.
当然,
其实梯度下降法还有别的其他用处,
比如其他找极值问题.
另外,
牛顿法也是一种不错的方法,
迭代收敛速度快于梯度下降法,
只是计算代价也比较高.