最小二乘法的几种视角

何为线性回归?就是给定一组散乱数据,要求拟合出一条直线,使得整体误差最小,如下左图所示(下图来源于马同学高等数学博客)。
在这里插入图片描述

已知散点 ( x i , y i ) (x_i,y_i) (xi,yi), 现要估计直线方程: y = k x + b y = kx+b y=kx+b.
如果所有点共线,那么有 y i = k x i + b y_i = kx_i+b yi=kxi+b严格成立。如果真是这样还需要拟合吗? 抽取两个点立即可以计算一条直线。为了衡量模型的优劣,我们定义一个如下的误差函数,并使得该误差函数最小,就得到了最优的线性回归。上图右侧就标记了: y i − ( k x i + b ) y_i -( kx_i+b) yi(kxi+b),即观测数据 到 模型数据的距离,最小二乘的目的就是要让这个距离的平方之和最小。

ϵ   = ∑ ( y i − f ( x i ) ) 2 = ∑ ( y i − ( k x i + b ) ) 2   (1) \epsilon = \sum{(y_i -f(x_i))^2} =\sum{(y_i -( kx_i+b))^2} \tag1 ϵ =(yif(xi))2=(yi(kxi+b))2 (1)

现在要估计直线 y = k x + b y = kx+b y=kx+b, 因此需要求解 k k k b b b 的值。有两类方法可以求解这个问题,但其实可以统一起来。

1、通过求导计算

直接对公式(1)求导,可以得到

∂ ϵ / ∂ k = − 2 ∑ [ y i − ( k x i + b ) ] x i (2) \partial \epsilon / \partial k= -2\sum{[y_i-(kx_i+b)]x_i}\tag2 ϵ/k=2[yi(kxi+b)]xi(2)

∂ ϵ / ∂ b = − 2 ∑ y i − ( k x i + b ) (3) \partial \epsilon / \partial b = -2\sum{y_i-(kx_i+b)}\tag3 ϵ/b=2yi(kxi+b)(3)

令导数为0,联立(2)(3)可以构造关于 k k k b b b的方程组,求解可以得到

k = [ ∑ ( x i − x ˉ ) ( y i − y ˉ ) ] / ∑ ( x i − x ˉ ) 2 (4) k = [\sum(x_i-\bar{x})(y_i-\bar{y})] / \sum(x_i-\bar{x})^2\tag4 k=[(xixˉ)(yiyˉ)]/(xixˉ)2(4)

b = y ˉ − k x ˉ (5) b = \bar{y} - k\bar{x}\tag5 b=yˉkxˉ(5)

其中, x ˉ = ∑ x i / n , y ˉ = ∑ y i / n \bar{x} = \sum{x_i} / n, \bar{y} = \sum{y_i} / n xˉ=xi/nyˉ=yi/n,具体推导参见:知乎:线性回归与最小二乘法

2、通过矩阵计算

具体推导如下所示(来源于:线性回归原理及实现(一):最小二乘法
在这里插入图片描述

3、线性方程组角度理解

一般来讲,线性方程组 A x = b Ax = b Ax=b 按约束条件可以分为三类:
(1)未知数个数 小于 方程个数 , 方程超定, 无解
(2)未知数个数 等于 方程个数 , 方程有唯一解
(3)未知数个数 大于 方程个数, 方程欠定,无解
最小二乘线性回归实际应当属于第一类问题,求解的未知数只有两个,但限定条件很多。
如下如下,如果我们只看没有平方运算的误差项,我们的目标其实是希望用n维空间的 X ⃗ \vec{X} X 1 ⃗ \vec{1} 1 来线性逼近 Y ⃗ \vec{Y} Y . 很显然如果上述向量都是二维的,那么可以做到完美逼近。

∑ y i − ( k x i + b ) = [ y 1 y 2 ⋮ y n ] − ( k [ x 1 x 2 ⋮ x n ] + b [ 1 1 ⋮ 1 ] ) \sum{y_i - (kx_i + b)} = \begin{bmatrix} y_1\\ y_2\\ \vdots \\ y_n\\ \end{bmatrix} -( k \begin{bmatrix} x_1\\ x_2\\ \vdots \\ x_n\\ \end{bmatrix} + b \begin{bmatrix} 1\\ 1\\ \vdots \\ 1\\ \end{bmatrix} ) yi(kxi+b)=y1y2yn(kx1x2xn+b111)

但是,这几个向量都是高维的,这几个向量几乎无法共面,因此根本无法做到。终于要搬出这张图, y y y本身不能被 x x x 1 1 1 两个向量张成,那只需将 y y y投影到 x x x 1 1 1所在的平面, 然后这个垂足到 y y y的距离即是最小值。
在这里插入图片描述
假设: A = [ a 1 , a 2 ] = [ e 1 , e 2 ] A = [a_1,a_2] = [e_1,e_2] A=[a1,a2]=[e1,e2], 注意这里 a 1 、 a 2 a_1、a_2 a1a2是列向量

e 3 e_3 e3 e 1 e_1 e1 e 2 e_2 e2的线性组合: O P ⃗ = k a 1 + b a 2 \vec{OP} = ka_1+ba_2 OP =ka1+ba2, 设 X = [ k , b ] T X=[k,b]^T X=[k,b]T,则有

O P ⃗ = A X \vec{OP} = AX OP =AX

另外, y − e 3 = y − A X y-e_3 = y - AX ye3=yAX, 当 O P OP OP 垂直于 y P yP yP时这个距离最近。

所以有

a 1 T ( y − A X ) = 0 , a 2 T ( y − A X ) = 0 a_1^T(y-AX) = 0, a_2^T(y-AX) = 0 a1T(yAX)=0a2T(yAX)=0

合并起来:

A T y − A T A X = 0 → A T A X = A T y A^Ty-A^TAX = 0 \to A^TAX = A^Ty ATyATAX=0ATAX=ATy

所以

X = ( A T A ) − 1 A T y X = (A^TA)^{-1}A^Ty X=(ATA)1ATy

参考资料:
[1] 线性回归原理及实现(一):最小二乘法 https://blog.csdn.net/qq_32864683/article/details/80368135
[2] 如何理解最小二乘法? https://blog.csdn.net/ccnt_2012/article/details/81127117
[3] 最小二乘法理论、推导、算法 https://blog.csdn.net/lql0716/article/details/70165695
[4] 最小二乘解(Least-squares Minimization ) https://blog.csdn.net/kokerf/article/details/72437294
[5] 知乎:线性回归与最小二乘法 https://zhuanlan.zhihu.com/p/36910496
[6] 简书:线性最小二乘和非线性最小二乘:https://www.jianshu.com/p/bf6ec56e26bd

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Researcher-Du

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

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

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

打赏作者

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

抵扣说明:

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

余额充值