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

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


什么是最小二乘法

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


方法的选择

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

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


正规方程

我们设计一些数据,假设 X ,是一个 m x (n+1) 的矩阵:X=\left[ \begin{matrix} (x^{(1)})^{T}\\ \cdot\\\cdot\\\cdot\\ (x^{(m)})^{T} \end{matrix}\right],每一行对应一个单独的训练样本;y 为一个 m 维的向量: y=\left[ \begin{matrix} y^{(1)})\\ \cdot\\\cdot\\\cdot\\ y^{(m)}) \end{matrix}\right] ,包含所有训练集中的标签。

再来回顾一下代价函数:J(\theta)=\frac{1}{2m}\sum_{i=1}^{m} (h_\theta(x^{(i)})-y^{(i)})^2

将其写作矩阵形式: J(\theta)=\frac{1}{2m}(X\theta-y)^T(X\theta-y)

为了使代价函数 J(\theta) 最小化,设假设函数的输出值 h_{\theta}(x) 与实际值 y 的差为一个趋近于 0 的极小值 \sigma ,则有:

\sum_{i=1}^{m} (h_\theta(x^{(i)})-y^{(i)})^2=\sigma

因为 \sum_{i=1}^{m} (h_\theta(x^{(i)})-y^{(i)})^2=[h(x)-y]^{T}\cdot[(x)-y]

所以 (X\theta-y)^{T}(X\theta-y)=\sigma

两边同时对 \theta 求导得: \theta=(X^TX)^{-1}X^Ty\\

如果 X^{T}X 不可逆,可能有两个原因:

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

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

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

\lambda>0 时,可以保证该矩阵可逆,这就是通过正则化的手段来解决 X^{T}X 不可逆的问题。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风控大鱼

如果帮到了您,请我喝杯咖啡吧~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值