求解线性回归最常用的两个方法是:梯度下降法和最小二乘法,之前在文章《机器学习:用梯度下降法实现线性回归》中介绍了梯度下降法的工作流程等,这篇文章着重介绍最小二乘法的使用。由于最小二乘法是基于正规方程的,所以也被称为正规方程法。
什么是最小二乘法
最小二乘法是一种数学优化技术,它通过最小化误差的平方和寻找数据的最佳函数匹配。
方法的选择
那么在求解线性回归时,对于这两种方法该如何选择呢?先看一下这两种方法的对比:
![](https://pic2.zhimg.com/80/v2-c973cdee849a4d0a7b92e55c8b520425_hd.jpg)
可见特征方程得到的是解析解,无需迭代,也没有设置学习速率的繁琐,需要特征归一化,但是求解正规方程需要求矩阵的逆,然而不是所有的矩阵都可逆,而且有些可逆矩阵的求逆极其耗费时间,所以特征方程法看似简单,其实使用场景并不多。只有当特征值比较小的时候,可以考虑使用特征方程法。
正规方程
我们设计一些数据,假设 X ,是一个 m x (n+1) 的矩阵:,每一行对应一个单独的训练样本;y 为一个 m 维的向量:
,包含所有训练集中的标签。
再来回顾一下代价函数:,
将其写作矩阵形式:
为了使代价函数 最小化,设假设函数的输出值
与实际值 y 的差为一个趋近于 0 的极小值
,则有:
,
因为 ,
所以 ,
两边同时对 求导得:
如果 不可逆,可能有两个原因:
- 列向量线性相关,即训练集中存在冗余特征,此时应该剔除掉多余特征;
- 特征过多,此时应该去掉影响较小的特征,或使用“正则化”。
当样本总数 m 小于等于特征数量 n 时, 一定不可逆。
如果我们对代价函数进行过正则化处理,那么 为:
![](https://pic4.zhimg.com/80/v2-45445499a9d956b8faca2817b27dd341_hd.jpg)
当 时,可以保证该矩阵可逆,这就是通过正则化的手段来解决
不可逆的问题。