最小二乘法的两个观点

写在前面

之前在学习《机器学习基石》的线性回归章节的时候,林老师在最后的部分给了最小二乘的另一种观点当时很不理解。之后在《线性代数及其应用》的目录上看到最小二乘法的内容但是由于那时还有其他的事情要做,所以就暂时没有看。今天在《从零开始:机器学习的数学原理和算法实践》读到对应的内容这一次是从线性代数的近似解角度切入的。

传统角度的最优化问题

在这里插入图片描述

从统计学角度来看线性回归无非就是找到一条直线去尽可能的拟合图中的散点。拟合的标准就是使得直线到散点距离之和最小。在机器学习中直线就是我们训练出来的模型,给定一个输入它能够预测相对相应的值。图中的点就是实际的值,我们希望我们预测的值与实际的值的偏差越小越好这也就诞生了最小二乘法。传统最小二乘法中“二乘”是平方的意思,“最小二乘”就是指平方和最小,具体来说就是各个测量值和真实值之间的误差的平方和最小化,即各个点横坐标对应的原始点纵坐标与直线上拟合点纵坐标误差的平方和最小化,假定实际值用b表示,模型预测出来的线用p表示写成表达式就是:
∣ b − p ∣ = ( b 1 − p 1 ) 2 + ( b 2 − p 2 ) 2 + ⋯ ( b 3 − p 3 ) 2 |b - p| = \sqrt{\smash[b]{(b_1 - p_1)^{2} + (b_2 - p_2)^{2} + \dotsb (b_3 - p_3)^{2}}} bp=(b1p1)2+(b2p2)2+(b3p3)2
它的解析解可以看线性回归章节中的前半部分,最后训练得到的结果就是
W L I N = ( X T X ) − 1 X T y W_{LIN} = (X^\mathrm{T}X)^{-1} X^\mathrm{T}y WLIN=(XTX)1XTy

线性代数角度的近似解

在这里插入图片描述

仍然是这张图,在线性代数看来刚开始我们的目标是找到一条直线使得能够穿过这三个点(满足这三个点)。容易得如下方程组。
{ x 1 + x 2 = 0 2 x 1 + x 2 = 0 x 1 + x 1 = 2 \begin{cases} x_1 + x_2 = 0 \\ 2x_1 + x_2 = 0 \\ x_1 + x_1 = 2 \end{cases} x1+x2=02x1+x2=0x1+x1=2
线性代数告诉我们这个方程组没有精确解,在这种情况下我们退而求其次去求解一个近似解,这就是最小二乘做的工作
将上述方程组写成 A x = b Ax = b Ax=b的形式。现在我们已经知道了A中的列向量所张成的空间不能够表示b,我们的近似解只能够在A张成的空间里面去寻找。那么找哪一条比较好呢?当然是距离目标解距离最近的那一条,也就是b在A空间上的投影向量,下图是一个例子。
在这里插入图片描述
如图所示AB与X轴的差值最小的一个线段就是AG(垂线最短)。同时我们知道BG就是AB在X轴上的投影。同样的我们找到了b在A空间上的投影p向量如下图所示:
在这里插入图片描述
p就是b在A空间上的近似。我们要求的解变成如下形式。 A x = b = > A x ^ = p Ax = b => A\hat{x} = p Ax=b=>Ax^=p
那么投影向量p具有哪些特点呢?
(1)投影向量p
必须在二维空间即列空间C(A)上,也就是:
A x ^ = [ a 1 a 1 ] [ x 1 ^ x 2 ^ ] = p A\hat{x} = \begin{bmatrix} a_1 & a_1 \end{bmatrix} \begin{bmatrix} \hat{x_1} \\ \hat{x_2} \end{bmatrix} = p Ax^=[a1a1][x1^x2^]=p
(2)误差向量垂直于二维空间即列空间C(A)上的任一向量,误差向量e垂直于二维空间的两个基向量——向量a1和向量a2容,易知道有:
a 1 ⋅ e = 0   和   a 2 ⋅ e = 0 a_1 \cdot e = 0 \ 和 \ a_2 \cdot e = 0 a1e=0  a2e=0
上述两条关键信息能够有效地帮助我们约束到这个合理的投影向量p

将等式关系
e = b − p   和   p = A x ^ e = b - p \ 和\ p = A\hat{x} e=bp  p=Ax^带入方程中得到:
a 1 ⋅ e = a 1 ⋅ ( b − p ) = a 1 ⋅ ( b − A x ^ ) = 0 a_1 \cdot e = a_1\cdot(b - p) = a_1\cdot(b - A\hat{x}) = 0 a1e=a1(bp)=a1(bAx^)=0由于向量内积可以转化为矩阵乘法形式,上述式子可以进一步化简。上述式子可以化简为:
a 1 ⋅ e = a 1 ⋅ ( b − p ) = a 1 ⋅ ( b − A x ^ ) = a 1 T ⋅ ( b − A x ^ ) = 0 a_1 \cdot e = a_1\cdot(b - p) = a_1\cdot(b - A\hat{x}) =a_1^\mathrm{T}\cdot(b - A\hat{x})= 0 a1e=a1(bp)=a1(bAx^)=a1T(bAx^)=0a2同理:
a 2 ⋅ e = a 2 ⋅ ( b − p ) = a 2 ⋅ ( b − A x ^ ) = a 2 T ⋅ ( b − A x ^ ) = 0 a_2 \cdot e = a_2\cdot(b - p) = a_2\cdot(b - A\hat{x}) =a_2^\mathrm{T}\cdot(b - A\hat{x})= 0 a2e=a2(bp)=a2(bAx^)=a2T(bAx^)=0
进一步的可以简化为:
[ a 1 a 2 ] ( b − A x ^ ) = 0 \begin{bmatrix} {a_1} \\ {a_2} \end{bmatrix} (b - A\hat{x})= 0 [a1a2](bAx^)=0
A T ( b − A x ^ ) = 0 = > A T A x ^ = A T b A^\mathrm{T}(b - A\hat{x}) =0 => A^\mathrm{T}A\hat{x} = A^\mathrm{T}b AT(bAx^)=0=>ATAx^=ATb
再将近似向量p与投影矩阵P
A x ^ = p = P b A\hat{x} = p = Pb Ax^=p=Pb带入可以得到如下的方程组:
{ x ^ = ( A T A ) − 1 A T b p = A ( A T A ) − 1 A T b P = A ( A T A ) − 1 A T \begin{cases} \hat{x} = (A^\mathrm{T}A)^{-1} A^\mathrm{T}b\\ p = A(A^\mathrm{T}A)^{-1}A^\mathrm{T}b \\ P = A(A^\mathrm{T}A)^{-1}A^\mathrm{T} \end{cases} x^=(ATA)1ATbp=A(ATA)1ATbP=A(ATA)1AT
到此我们就可以求出近似解了。

写在最后

我们可以看到传统的最小二乘的结果与线性代数得到的结果保持一致:
W L I N = ( X T X ) − 1 X T y W_{LIN} = (X^\mathrm{T}X)^{-1} X^\mathrm{T}y WLIN=(XTX)1XTy
x ^ = ( A T A ) − 1 A T b \hat{x} = (A^\mathrm{T}A)^{-1} A^\mathrm{T}b x^=(ATA)1ATb

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Elong_Hu

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值