机器学习:用正规方程法求解线性回归

求解线性回归最常用的两个方法是:梯度下降法最小二乘法,之前在文章《机器学习:用梯度下降法实现线性回归》中介绍了梯度下降法的工作流程等,这篇文章着重介绍最小二乘法的使用。由于最小二乘法是基于正规方程的,所以也被称为正规方程法


什么是最小二乘法

最小二乘法是一种数学优化技术,它通过最小化误差的平方和寻找数据的最佳函数匹配。


方法的选择

那么在求解线性回归时,对于这两种方法该如何选择呢?先看一下这两种方法的对比:

机器学习:用正规方程法求解线性回归_第1张图片

可见特征方程得到的是解析解,无需迭代,也没有设置学习速率的繁琐,需要特征归一化,但是求解正规方程需要求矩阵的逆,然而不是所有的矩阵都可逆,而且有些可逆矩阵的求逆极其耗费时间,所以特征方程法看似简单,其实使用场景并不多。只有当特征值比较小的时候,可以考虑使用特征方程法。


正规方程

我们设计一些数据,假设 X ,是一个 m x (n+1) 的矩阵:,每一行对应一个单独的训练样本;y 为一个 m 维的向量: ,包含所有训练集中的标签。

再来回顾一下代价函数:,

将其写作矩阵形式:

为了使代价函数 最小化,设假设函数的输出值 与实际值 y 的差为一个趋近于 0 的极小值 ,则有:

因为 ,

所以 ,

两边同时对 求导得:

如果 不可逆,可能有两个原因:

  1. 列向量线性相关,即训练集中存在冗余特征,此时应该剔除掉多余特征;
  2. 特征过多,此时应该去掉影响较小的特征,或使用“正则化”。

当样本总数 m 小于等于特征数量 n 时, 一定不可逆。

如果我们对代价函数进行过正则化处理,那么 为:

机器学习:用正规方程法求解线性回归_第2张图片

当 时,可以保证该矩阵可逆,这就是通过正则化的手段来解决 不可逆的问题。

你可能感兴趣的:(数据科学,算法)