回答一:
相同
1.本质相同:两种方法都是在给定已知数据(independent & dependent variables)的前提下对dependent variables算出出一个一般性的估值函数。然后对给定新数据的dependent variables进行估算。
2.目标相同:都是在已知数据的框架内,使得估算值与实际值的总平方差尽量更小(事实上未必一定要使用平方),估算值与实际值的总平方差的公式为:
其中
为第i组数据的independent variable,
为第i组数据的dependent variable,
为系数向量。
1.实现方法和结果不同:最小二乘法是直接对
![\Delta](https://i-blog.csdnimg.cn/blog_migrate/50e296835ec2f99ff5c636340a9d1e71.png)
![\beta](https://i-blog.csdnimg.cn/blog_migrate/ba197cf65509f7589ed80d212eca0713.png)
![\Delta](https://i-blog.csdnimg.cn/blog_migrate/50e296835ec2f99ff5c636340a9d1e71.png)
![\beta](https://i-blog.csdnimg.cn/blog_migrate/ba197cf65509f7589ed80d212eca0713.png)
回答二:
具体来说, 最小二乘法的矩阵公式是
, 这里的 A 是一个矩阵, b 是一个向量. 如果有离散数据点,
, 而想要拟合的方程又大致形如
, 那么, A 就是一个
的矩阵, 第 i 行的数据点分别是
, 而 b 则是一个向量, 其值为
. 而又已知, 计算一个矩阵的逆是相当耗费时间的, 而且求逆也会存在数值不稳定的情况 (比如对希尔伯特矩阵求逆就几乎是不可能的). 因而这样的计算方法有时不值得提倡.
相比之下, 梯度下降法虽然有一些弊端, 迭代的次数可能也比较高, 但是相对来说计算量并不是特别大. 而且, 在最小二乘法这个问题上, 收敛性有保证. 故在大数据量的时候, 反而是梯度下降法 (其实应该是其他一些更好的迭代方法) 更加值得被使用.
![(A^{T}A)^{-1}A^{T}b](https://i-blog.csdnimg.cn/blog_migrate/b77fbaf8921fdc9fae6aeb7a8b856a80.png)
![n\times{}(m+1)](https://i-blog.csdnimg.cn/blog_migrate/f652e7aa90a3d88f0271d110e41d5f30.png)
相比之下, 梯度下降法虽然有一些弊端, 迭代的次数可能也比较高, 但是相对来说计算量并不是特别大. 而且, 在最小二乘法这个问题上, 收敛性有保证. 故在大数据量的时候, 反而是梯度下降法 (其实应该是其他一些更好的迭代方法) 更加值得被使用.