一文看懂最小二乘法


1 回归与函数拟合

  • 回归分析:指研究两组相互依赖的随机变量 Y 1 , Y 2 , . . . Y n \pmb{Y}_1,\pmb{Y}_2,...\pmb{Y}_n Y1,Y2,...Yn(常称为因变量) 和 X 1 , X 2 , . . . X m \pmb{X}_1,\pmb{X}_2,...\pmb{X}_m X1,X2,...Xm(常称为自变量)之间关系的统计分析方法
    1. 按照自变量的多少,分为一元回归多元回归
    2. 按照因变量的多少,可分为简单回归多重回归
    3. 按照自变量和因变量之间的关系类型,可分为线性回归非线性回归
  • 回归建立了自变量和因变量间的关系,因此常用于拟合函数曲线。机器学习中,回归属于监督学习,是一种预测性建模技术,说白了其实就是拟合一条曲线,利用它可以做回归任务,如线性回归;也能做分类任务,如逻辑回归(此时看作拟合分类平面曲线)
  • 补充几个和函数曲线拟合相关的概念
    1. 拟合函数/估值函数:给定来自真实分布的一批样本,拟合后得到的函数
    2. 损失函数目标函数:做函数拟合时,常将其转化为一个优化问题,认为和数据匹配越好的函数越优,这时需要一个指示拟合程度的指标来指导优化方向。给定训练样本,该指标是从模型参数到拟合程度的映射,称之为损失函数或目标函数。损失函数越小/目标函数越大,拟合得就越好

      注:能列出损失函数/目标函数,就意味着模型形式(函数参数数量,线性关系还是二次关系…)已经确定

    3. 残差:针对某个样本而言, 拟合值与真实值的差。通常把关于的单个样本残差推广到整个训练集来构造损失函数或目标函数,有以下选择
      1. 残差和: 指所有训练样本拟合值与真实值的差值的和,有正有负会存在抵消的情况,不能反应真实误差
      2. 残差绝对值和:这可以解决残差和有正有负的问题,但是绝对值在后续的求导会异常麻烦
      3. 残差的平方和:这可以避免上述两个问题,运用广泛,它再取个均值就是机器学习中常用的 MSE 最小均方损失。其问题在于对异常值非常敏感,会被脏数据影响
    4. 最优化问题:指给定目标函数/损失函数时,通过决定某些可选择的变量应该取何值,使所给定目标函数最大化/损失函数最小化的问题。根据有无约束条件,又分为 无约束最优化问题约束最优化问题
    5. 最优化方法:指解决最优化问题的方法

2 最小二乘法

  • 最小二乘法/最小平方法:一种最优化方法,在模型给定的情况下,使用样本残差的平方和作为损失函数,通过令偏导数为 0 直接求解无约束最优化问题,得到最优模型参数的解析解。最小二乘法可用于曲线拟合,也能通过最小化能量或最大化熵来表达其他一些优化问题

2.1 适用模型

  • 最小二乘法是针对 线性模型多元简单回归 任务设计的方法,即要求标签为 1 维,且模型对样本特征向量 x i = [ x 1 , x 2 , . . . , x m ] ⊤ \pmb{x}_i=[x_1,x_2,...,x_m]^\top xi=[x1,x2,...,xm] 给出的预测为 f ( x , w ) = w 0 + w 1 x 1 + w 2 x 2 + . . . + w m x m f(\pmb{x,w}) = w_0+w_1x_1+w_2x_2+...+w_mx_m f(x,w)=w0+w1x1+w2x2+...+wmxm 为了表示简便,通常增设一个 x 0 = 1 x_0 = 1 x0=1,模型表示为
    f ( x , w ) = ∑ i = 0 m w i x i = x ⊤ w f(\pmb{x,w}) =\sum_{i=0}^m w_ix_i = \pmb{x^\top w} f(x,w)=i=0mwixi=xw
  • 非线性模型无法使用最小二乘法估计参数,这是因为非线性的拟合函数里面可能有很复杂的结构,比如求和,积分,级数等,此时就算直接令导数为 0 得到方程,也可能很难求出方程的解析解
  • 虽然针对线性模型设计,但并不意味着不能用最小二乘法优化非线性模型参数,可以先把非线性模型表示为非线性部分的线性组合,再使用最小二乘法,如 f ( x , w ) = w 0 + w 1 f 1 ( x ) + w 2 f 2 ( x ) + . . . + w m f m ( x ) f(\pmb{x,w}) = w_0+w_1f_1(\pmb{x})+w_2f_2(\pmb{x})+...+w_mf_m(\pmb{x}) f(x,w)=w0+w1f1(x)+w2f2(x)+...+wmfm(x) 其中每个 f i ( x ) f_i(\pmb{x}) fi(x) 都是非线性部分,比如多项式回归就属于这种情况
  • 最小二乘法在求解时,只要有解,一定是全局最优解,参考:最小二乘法求解方程组为什么不会陷入局部最优解

2.2 求解方法

  • 先从最常见的多元简单回归角度给出形式化描述:给定样本集
    D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x n , y n ) } \mathcal{D} = \{(\pmb{x}_1,y_1),(\pmb{x}_2,y_2),...,(\pmb{x}_n,y_n)\} D={(x1,y1),(x2,y2),...,(xn,yn)}设模型为 f f f,样本特征向量 x i = [ 1 , x i 1 , x i 1 , . . . , x i m ] ⊤ \pmb{x}_i = [1,x_{i1},x_{i1},...,x_{im}]^\top xi=[1,xi1,xi1,...,xim],参数向量 w = [ w 0 , w 1 , w 2 , . . . , w m ] ⊤ \pmb{w} = [w_0,w_1,w_2,...,w_m]^\top w=[w0,w1,w2,...,wm],为表示简便,设 p = m + 1 , x i ∈ R p , y i ∈ R p=m+1,\pmb{x}_i\in\mathbb{R}^p,y_i\in \mathbb{R} p=m+1,xiRp,yiR,样本集 X n × p = [ x 1 ⊤ , x 2 ⊤ , . . . , x n ⊤ ] ⊤ \pmb{X}_{n\times p}=[\pmb{x}_1^\top,\pmb{x}_2^\top,...,\pmb{x}_n^\top]^\top Xn×p=[x1,x2,...,xn],标记集 y = [ y 1 , y 2 , . . . , y n ] ⊤ \pmb{y} = [y_1,y_2,...,y_n]^\top y=[y1,y2,...,yn],模型对于样本 x i \pmb{x}_i xi 给出预测 y ^ i = f ( x i , w ) = x i ⊤ w \hat{y}_i = f(\pmb{x}_i,\pmb{w})= \pmb{x_i^\top w} y^i=f(xi,w)=xiw,对整个样本集有
    X w = [ x 1 ⊤ x 2 ⊤ ⋮ x n ⊤ ] w = [ y ^ 1 y ^ 2 ⋮ y ^ n ] = y ^ \pmb{Xw} = \begin{bmatrix} \pmb{x}_1^\top \\ \pmb{x}_2^\top \\ \vdots \\ \pmb{x}_n^\top \\ \end{bmatrix} \pmb{w} = \begin{bmatrix} \hat{y}_1 \\ \hat{y}_2 \\ \vdots \\ \hat{y}_n \\ \end{bmatrix} = \pmb{\hat{y}} Xw= x1x2xn w= y^1y^2y^n =y^ 使用残差平方和作为损失函数,即 l ( w ) = ∑ i = 1 n ( f ( x i , w ) − y i ) 2 \mathcal{l}(\pmb{w})=\sum_{i=1}^n(f(\pmb{x}_i,\pmb{w})-y_i)^2 l(w)=i=1n(f(xi,w)yi)2,求以下最优化问题
    arg min ⁡ w l ( w ) = arg min ⁡ w ∑ i = 1 n ( f ( x i , w ) − y i ) 2 = arg min ⁡ w ( X w − y ) ⊤ ( X w − y ) \argmin_{\mathbf{w}}\mathcal{l}(\pmb{w}) = \argmin_{\mathbf{w}}\sum_{i=1}^n(f(\pmb{x}_i,\pmb{w})-y_i)^2 = \argmin_{\mathbf{w}} (\pmb{X}\pmb{w}-\pmb{y})^\top(\pmb{X}\pmb{w}-\pmb{y}) wargminl(w)=wargmini=1n(f(xi,w)yi)2=wargmin(Xwy)(Xwy) 求解时,通过令偏导数为 0 直接计算,即令 ∂ l ( w ) ∂ w i = 0 \frac{\partial\mathcal{l}(\mathbf{w})}{\partial{w_i}}=0 wil(w)=0 直接解出参数 w i w_i wi

  • 我们可以对每个参数令偏导数为 0 来求解,但是这样计算量太大了,所以直接对参数向量求导。首先展开目标函数
    ( X w − y ) ⊤ ( X w − y ) = ( w ⊤ X ⊤ − y ⊤ ) ( X w − y ) = w ⊤ X ⊤ X w − w ⊤ X ⊤ y − y ⊤ X w + y ⊤ y = w ⊤ X ⊤ X w − 2 w ⊤ X ⊤ y + y ⊤ y (1) \begin{aligned} (\pmb{X}\pmb{w}-\pmb{y})^\top(\pmb{X}\pmb{w}-\pmb{y}) &= (\pmb{w^\top X^\top -y^\top})(\pmb{X}\pmb{w-y}) \\ &= \pmb{w^\top X^\top X w}-\pmb{w^\top X^\top y} - \pmb{y^\top X w} +\pmb{y^\top y} \\ &= \pmb{w^\top X^\top X w}-2\pmb{w^\top X^\top y} +\pmb{y^\top y} \\ \end{aligned} \tag{1} (Xwy)(Xwy)=(wXy)(Xwy)=wXXwwXyyXw+yy=wXXw2wXy+yy(1) 注意这里 w ⊤ X ⊤ y \pmb{w^\top X^\top y} wXy y ⊤ X w \pmb{y^\top}\pmb{X}\pmb{w} yXw 两项都是 1 × 1 1\times 1 1×1 的常数,可以合并。接下来求偏导数
    ∂ ( w ⊤ X ⊤ X w − 2 w ⊤ X ⊤ y + y ⊤ y ) ∂ w = ∂ ( w ⊤ X ⊤ X w − 2 w ⊤ X ⊤ y ) ∂ w = ∂ ( w ⊤ X ⊤ X w ) ∂ w − 2 ∂ ( w ⊤ X ⊤ y ) ∂ w (2) \begin{aligned} \frac{\partial(\pmb{w^\top X^\top X w}-2\pmb{w^\top X^\top y} +\pmb{y^\top y})}{\partial \pmb{w}} &= \frac{\partial(\pmb{w^\top X^\top X w}-2\pmb{w^\top X^\top y})}{\partial \pmb{w}} \\ &= \frac{\partial(\pmb{w^\top X^\top X w})}{\partial \pmb{w}} -2\frac{\partial(\pmb{w^\top X^\top y})}{\partial \pmb{w}} \end{aligned} \tag{2} w(wXXw2wXy+yy)=w(wXXw2wXy)=w(wXXw)2w(wXy)(2) 这里用到向量内积对列向量求导公式 ∂ f ( u ⊤ v ) ∂ x = ∂ f ( u ⊤ ) ∂ x v + ∂ f ( v ⊤ ) ∂ x u \frac{\partial f(\mathbf{u^\top v})}{\partial\mathbf{x}} = \frac{\partial f(\mathbf{u^\top})}{\partial\mathbf{x}}\pmb{v}+\frac{\partial f(\mathbf{v^\top})}{\partial\mathbf{x}}\pmb{u} xf(uv)=xf(u)v+xf(v)u,其中 u , v \mathbf{u,v} u,v 是向量,根据这个变形有

    1. ∂ x ⊤ x ∂ x = 2 x \frac{\partial\mathbf{x^\top x}}{\partial\mathbf{x}} = 2\mathbf{x} xxx=2x
    2. ∂ x ⊤ A x ∂ x = ∂ x ⊤ ∂ x A x + ∂ x ⊤ A ⊤ ∂ x x = ( A ⊤ + A ) x \frac{\partial\mathbf{x^\top Ax}}{\partial\mathbf{x}} = \frac{\partial\mathbf{x^\top}}{\partial\mathbf{x}}\mathbf{Ax}+\frac{\partial\mathbf{x^\top A^\top}}{\partial\mathbf{x}}\mathbf{x} = (\mathbf{A^\top +A})\mathbf{x} xxAx=xxAx+xxAx=(A+A)x

    利用这两个结论展开公式2,得到
    ∂ ( w ⊤ X ⊤ X w ) ∂ w − 2 ∂ ( w ⊤ X ⊤ y ) ∂ w = ( X ⊤ X + X ⊤ X ) w − 2 X ⊤ y = 2 ( X ⊤ X w − X ⊤ y ) (3) \begin{aligned} \frac{\partial(\pmb{w^\top X^\top X w})}{\partial \pmb{w}} -2\frac{\partial(\pmb{w^\top X^\top y})}{\partial \pmb{w}} &= (\pmb{X^\top X}+\pmb{X^\top X})\pmb{w} - 2\pmb{X^\top y} \\ &= 2(\pmb{X^\top}\pmb{X}\pmb{w} - \pmb{X^\top y} ) \end{aligned} \tag{3} w(wXXw)2w(wXy)=(XX+XX)w2Xy=2(XXwXy)(3) 令公式 3 为 0,有
    X ⊤ X w ^ = X ⊤ y ⇒ w ^ = ( X ⊤ X ) − 1 X ⊤ y (4) \pmb{X^\top}\pmb{X}\pmb{\hat{w}} = \pmb{X^\top y} \Rightarrow \pmb{\hat{w}} = (\pmb{X^\top}\pmb{X})^{-1} \pmb{X^\top y} \tag{4} XXw^=Xyw^=(XX)1Xy(4) 这就是最小二乘法得到的解,其中 ( X ⊤ X ) − 1 X ⊤ (\pmb{X^\top}\pmb{X})^{-1}\pmb{X^\top} (XX)1X X \pmb{X} X 的 Moore-Penrose 广义逆,也叫伪逆,记为 X † \pmb{X}^\dagger X

2.3 理解最小二乘法

2.3.1 函数图像角度

  • 最小二乘法要最小化所有样本的预测值和真实值间误差的平方和,其主要适用于简单回归任务,线性模型因变量通常只有一维。一维特征空间中回归拟合一条曲线,样本误差可以看作样本特征点距离拟合函数曲线的 y y y 轴方向上的差距;二维特征空间中回归拟合一个曲面,样本误差可以看作样本特征点距离拟合曲面的 z z z 轴方向上的差距
    1. 常数函数模型:对于最简单的情况,试想我们要测量一根铅笔的长度,为了保证精准,使用五把不同的尺子多次测量。这种情况下模型为常数函数 f ( x , w ) = w 0 f(\pmb{x,w}) = w_0 f(x,w)=w0 拟合函数 y = w 0 y=w_0 y=w0 是一条平行于 x x x 轴的直线,给定五个样本,各样本误差如下图绿色线所示所示
      在这里插入图片描述
      按最小二乘法原理,求 arg min ⁡ w 0 ∑ i = 1 5 ( y i − w 0 ) 2 \argmin_{w_0} \sum_{i=1}^5 (y_i-w_0)^2 argminw0i=15(yiw0)2,通过令偏导为 0 可以解出 w 0 ^ = y 1 + y 2 + . . . + y 5 5 \hat{w_0} = \frac{y_1+y_2+...+y_5}{5} w0^=5y1+y2+...+y5 恰是算数平均值,因此多次测量取平均来减小误差的方式是符合最小二乘原理的
    2. 简单线性模型:当真实分布是一条直线时,对于线性模型 f ( x , w ) = w 0 + w 1 x f(\pmb{x,w}) = w_0+w_1x f(x,w)=w0+w1x 拟合函数 y = w 0 + w 1 x y= w_0+w_1x y=w0+w1x 是一条直线,给定五个样本,如下图所示
      在这里插入图片描述
      紫色点代表真实标记 b = [ b 1 , b 2 , . . . , b 5 ] ⊤ \pmb{b} = [b_1,b_2,...,b_5]^\top b=[b1,b2,...,b5],绿色点代表拟合函数预测的样本标记 p = [ p 1 , p 2 , . . . , p 5 ] ⊤ \pmb{p} = [p_1,p_2,...,p_5]^\top p=[p1,p2,...,p5],二者间的误差 e = [ e 1 , e 2 , . . . , e 5 ] ⊤ = b − p \pmb{e} = [e_1,e_2,...,e_5]^\top = \pmb{b-p} e=[e1,e2,...,e5]=bp,我们要通过优化 w ^ \pmb{\hat{w}} w^ 来最小化 ∣ ∣ e ∣ ∣ 2 \vert\vert\pmb{e}\vert\vert_2 ∣∣e2,即 arg min ⁡ w ( p − b ) ⊤ ( p − b ) = arg min ⁡ w e ⊤ e = arg min ⁡ w ∑ i = 1 5 e i 2 \argmin_{\mathbf{w}}(\pmb{p-b})^\top(\pmb{p-b}) = \argmin_{\mathbf{w}}\pmb{e}^\top\pmb{e} = \argmin_{\mathbf{w}}\sum_{i=1}^5e_i^2 wargmin(pb)(pb)=wargminee=wargmini=15ei2
    3. 多项式函数:对于更复杂数据分布情况,可以考虑做多项式回归,使用多项式模型 f ( x , w ) = w 0 + w 1 x + w 2 x 2 + . . . + w m x m f(\pmb{x,w}) = w_0+w_1x+w_2x^2 + ... + w_mx^m f(x,w)=w0+w1x+w2x2+...+wmxm 在做最小二乘计算前,先做数据预处理把 x x x 的各次方都算出来,这样就回到线性模型,另外通过选择不同的多项式函数(模型),能得到不同的拟合结果
      在这里插入图片描述
      也可以扩展到多维特征空间,比如拟合得到以下二维多项式模型
      f ( x , w ) = 0 + x 1 + 2 x 1 2 + 3 x 2 + 4 x 1 x 2 + 5 x 1 2 x 2 + 6 x 2 2 + 7 x 1 x 2 2 + 8 x 1 2 x 2 2 f(\pmb{x,w}) = 0 + x_1 + 2x_1^2 + 3 x_2 + 4 x_1x_2 + 5 x_1^2x_2 + 6x_2^2 + 7x_1x_2^2 + 8x_1^2x_2^2 f(x,w)=0+x1+2x12+3x2+4x1x2+5x12x2+6x22+7x1x22+8x12x22
      在这里插入图片描述
    4. 任意函数:从理论上讲,最小二乘法可以拟合任何函数,因为我们可以通过泰勒展开,使用多项式函数逼近将任何函数曲线。泰勒展开式如下
      f ( x ) = f ( x 0 ) + ( x − x 0 ) f ′ ( x 0 ) + ( x − x 0 ) 2 f ′ ′ ( x 0 ) 2 ! + . . . = ∑ n = 0 ∞ f ( n ) ( x 0 ) n ! ( x − x 0 ) n f(x) = f(x_0) +(x-x_0)f'(x_0) +(x-x_0)^2\frac{f''(x_0)}{2!} +... = \sum_{n=0}^\infin \frac{f^{(n)}(x_0)}{n!}(x-x_0)^n f(x)=f(x0)+(xx0)f(x0)+(xx0)22!f′′(x0)+...=n=0n!f(n)(x0)(xx0)n 为了简化表示,在原点 x 0 = 0 x_0=0 x0=0 处展开,有
      f ( x ) = f ( 0 ) + x f ′ ( 0 ) + x 2 f ′ ′ ( 0 ) 2 ! + . . . = ∑ n = 0 ∞ f ( n ) ( 0 ) n ! x n f(x) = f(0) +xf'(0) +x^2\frac{f''(0)}{2!} +... = \sum_{n=0}^\infin \frac{f^{(n)}(0)}{n!}x^n f(x)=f(0)+xf(0)+x22!f′′(0)+...=n=0n!f(n)(0)xn 于是问题又变形成了多项式回归的形式

2.3.2 向量空间投影角度

  • 从向量空间投影的角度看,模型 X w ^ = y ^ \pmb{X}\pmb{\hat{w}}=\pmb{\hat{y}} Xw^=y^ 是对样本集 X \pmb{X} X 的列向量按 w ^ \pmb{\hat{w}} w^ 做线性组合,得到 X \pmb{X} X 列空间中的 y ^ \pmb{\hat{y}} y^。为了使得误差最小,这个 y ^ \pmb{\hat{y}} y^ 应当是真实标记向量 y \pmb{y} y X \pmb{X} X 列空间中的投影
  • 现实生活中常有这样的应用:根据一些测量值求解另一些值,比如根据卫星与几个基站的通讯延时测量其位置。这就是一个解方程的问题,假设一组观测数据可以构造一个线性方程(约束)。为了统一符号,假设每个测量样本为向量 x ∈ R p \pmb{x} \in\mathbb{R}^p xRp,参数向量 w ∈ R p \pmb{w}\in\mathbb{R}^p wRp,每个方程为 x i ⊤ w = b i \pmb{x_i^\top w} = b_i xiw=bi,进而 n n n 组观测数据有 X n × p = [ x 1 ⊤ , x 2 ⊤ , . . . , x n ⊤ ] ⊤ \pmb{X}_{n\times p}=[\pmb{x}_1^\top,\pmb{x}_2^\top,...,\pmb{x}_n^\top]^\top Xn×p=[x1,x2,...,xn] b = [ b 1 , b 2 , . . . , b n ] ⊤ \pmb{b} = [b_1,b_2,...,b_n]^\top b=[b1,b2,...,bn],联立到得到方程组
    X w = b \pmb{Xw} = \pmb{b} Xw=b为了提高准确性,一般情况下会收集很多数据,使得观测样本量(方程个数) n n n 远大于未知数个数 p p p,除非其中含有多达 n − p n-p np 个无效约束,否则这样的超定方程很难有解析解,因为我们没法对非方阵的 X \pmb{X} X 求逆来得到 w = X − 1 b \pmb{w} = \pmb{X}^{-1}\pmb{b} w=X1b
    • 上一节中 “常数函数模型” 这个示例中,未知数个数 p = 1 p=1 p=1,由于每一个测量结果都有微小误差,除非 n n n 个观测中有 n − p = n − 1 n-p=n-1 np=n1 个都无效,否则把他们联立起来就会出现冲突导致无解,反之有解就意味着所有测量结果一模一样
    • 上一节中 “简单线性模型” 这个示例中,未知数有 w 0 , w 1 w_0,w_1 w0,w1 两个, p = 2 p=2 p=2,只需要两个观测样本就能确定一条直线,而把这 n = 5 n=5 n=5 个样本联立在一起就无解(找不到一条可以通过全部五个样本点的直线),除非其中 5 − 2 = 3 5-2=3 52=3 个样本无效(有四个样本共线)
  • 这时我们可以不断地去除方程,直到剩下的方程组有解为止,但这会造成数据浪费。另一种更好的方法是找一个和已知数据 “误差最小” 的解,设这个近似解为 w ^ \pmb{\hat{w}} w^,我们有
    X w ^ = p \pmb{X\hat{w}} = \pmb{p} Xw^=p 这样得到的 p \pmb{p} p 处于 X \pmb{X} X 的列空间中,为了保证 “误差最小”, p \pmb{p} p 应当是 b \pmb{b} b X \pmb{X} X 列空间 C ( X ) C(\pmb{X}) C(X) 中的投影,而误差 e = b − p \pmb{e=b-p} e=bp X \pmb{X} X 的左零空间 N ( X ) N(\pmb{X}) N(X) 中,与 C ( X ) C(\pmb{X}) C(X) 正交,如下图所示
    在这里插入图片描述
    图中 a a a 换成 x x x,灰色平面代表 X \pmb{X} X 的列空间 C ( X ) C(\pmb{X}) C(X),由于 e ⊥ C ( X ) \pmb{e}\bot C(\pmb{X}) eC(X),有
           X ⊤ e = 0 ⇒ X ⊤ ( b − p ) = 0 ⇒ X ⊤ ( b − X w ^ ) = 0 ⇒ X ⊤ b = X ⊤ X w ^ ⇒ w ^ = ( X ⊤ X ) − 1 X ⊤ b \begin{aligned} &\space\space\space\space\space\space\pmb{X^\top e} = \pmb{0} \\ &\Rightarrow \pmb{X^\top (b-p)} = \pmb{0} \\ &\Rightarrow \pmb{X^\top}(\pmb{b}-\pmb{X\hat{w}}) = \pmb{0} \\ &\Rightarrow \pmb{X^\top}\pmb{b} = \pmb{X^\top X\hat{w}}\\ &\Rightarrow \pmb{\hat{w}} = (\pmb{X^\top X})^{-1} \pmb{X^\top}\pmb{b}\\ \end{aligned}       Xe=0X(bp)=0X(bXw^)=0Xb=XXw^w^=(XX)1Xb 可见得到了和最小二乘法相同的解。这里我们其实推导了一遍子空间投影矩阵 P = X ( X ⊤ X ) − 1 X ⊤ \pmb{P} = \pmb{X}(\pmb{X^\top}\pmb{X})^{-1} \pmb{X^\top} P=X(XX)1X,任意向量左乘此投影矩阵都会被投影到 C ( X ) C(\pmb{X}) C(X) 中,此情境中是 P b = p \pmb{Pb = p} Pb=p。关于向量空间投影,可以参考 线性代数拾遗(6)—— 向量空间投影与投影矩阵
  • 这里其实可以联合 2.3.1 节对比看一下
    1. 2.3.1 节的视角下,我们是把总误差分到各个样本上,对应于 X \pmb{X} X 的行向量
    2. 本节视角下,我们是把总误差分到特征空间的各个维度上,对应于 X \pmb{X} X 的列向量

2.3.3 概率角度

  • 如果把误差值看做来自一个概率分布的采样,那么当分布是正态分布时,使用最大似然估计得到的估计参数和使用最小二乘法解出的估计参数相同
  • 我们可以把每个样本的 x i \pmb{x}_i xi 的真实标记值看做是预测标记值 y i ^ \hat{y_i} yi^ 加上一个噪音 e i e_i ei 得到,比如下图这个简单线性模型
    在这里插入图片描述
    假设误差 e i ∼ N ( 0 , σ 2 ) e_i\sim N(0,\sigma^2) eiN(0,σ2) 服从均值为 0 的高斯分布,则样本的真实标签 y i = y i ^ + e i = f ( x i , w ) + e i ∼ N ( f ( x i , w ) , σ 2 ) y_i = \hat{y_i}+e_i = f(\pmb{x}_i,\pmb{w})+e_i \sim N(f(\pmb{x}_i,\pmb{w}),\sigma^2) yi=yi^+ei=f(xi,w)+eiN(f(xi,w),σ2) 也服从高斯分布,有
    p ( y i ∣ x i , w ) = 1 2 π σ exp ( − ( y i − f ( x i , w ) ) 2 2 σ 2 ) p(y_i|\pmb{x}_i,\pmb{w}) = \frac{1}{\sqrt{2\pi}\sigma}\text{exp}(-\frac{(y_i-f(\pmb{x}_i,\pmb{w}))^2}{2\sigma^2}) p(yixi,w)=2π σ1exp(2σ2(yif(xi,w))2) 由于样本独立同分布,整个样本集的似然函数为
    L ( w ) = p ( y 1 ∣ x 1 , w ) p ( y 2 ∣ x 2 , w ) . . . . p ( y m ∣ x m , w ) = ∏ i = 1 m p ( y i ∣ x i , w ) L(\pmb{w}) =p(y_1|\pmb{x}_1,\pmb{w})p(y_2|\pmb{x}_2,\pmb{w})....p(y_m|\pmb{x}_m,\pmb{w}) = \prod\limits_{i=1}^mp(y_i|\pmb{x}_i,\pmb{w}) L(w)=p(y1x1,w)p(y2x2,w)....p(ymxm,w)=i=1mp(yixi,w) 通过最大化对数似然函数的方式得到参数 w \pmb{w} w 的估计值,即
    w ^ = arg max ⁡ w ^ L ( w ) = arg max ⁡ w ^ ∏ i = 1 m p ( y i ∣ x i , w ) = arg max ⁡ w ^ ∑ i = 1 m log ⁡ p ( y i ∣ x i , w ) = arg max ⁡ w ^ ∑ i = 1 m ( log ⁡ 1 2 π σ + log ⁡ exp ( − ( y i − f ( x i , w ) ) 2 2 σ 2 ) ) = arg max ⁡ w ^ ∑ i = 1 m − ( y i − f ( x i , w ) ) 2 2 σ 2 = arg min ⁡ w ^ ∑ i = 1 m ( y i − f ( x i , w ) ) 2 \begin{aligned} \hat{\pmb{w}} &= \argmax\limits_{\mathbf{\hat{w}}} L(\pmb{w}) \\ &= \argmax\limits_{\mathbf{\hat{w}}}\prod_{i=1}^mp(y_i|\pmb{x}_i,\pmb{w}) \\ &= \argmax\limits_{\mathbf{\hat{w}}}\sum_{i=1}^m\log p(y_i|\pmb{x}_i,\pmb{w}) \\ &= \argmax\limits_{\mathbf{\hat{w}}}\sum_{i=1}^m(\log \frac{1}{\sqrt{2\pi}\sigma} +\log \text{exp}(-\frac{(y_i-f(\pmb{x}_i,\pmb{w}))^2}{2\sigma^2}))\\ &= \argmax\limits_{\mathbf{\hat{w}}}\sum_{i=1}^m -\frac{(y_i-f(\pmb{x}_i,\pmb{w}))^2}{2\sigma^2} \\ &= \argmin\limits_{\mathbf{\hat{w}}}\sum_{i=1}^m(y_i-f(\pmb{x}_i,\pmb{w}))^2 \end{aligned} w^=w^argmaxL(w)=w^argmaxi=1mp(yixi,w)=w^argmaxi=1mlogp(yixi,w)=w^argmaxi=1m(log2π σ1+logexp(2σ2(yif(xi,w))2))=w^argmaxi=1m2σ2(yif(xi,w))2=w^argmini=1m(yif(xi,w))2 得到了最小二乘法的目标,因此二者等价
  • 我们认为,误差是由于随机的、无数的、独立的、多个因素造成的,因此根据中心极限定理,预测误差在大样本量的情况下确实服从正态分布,所以最小二乘法确实是合理的

2.4 A ⊤ A \pmb{A^\top A} AA 的可逆性

  • 综上所述,面对方程组 A x = b \pmb{Ax} = \pmb{b} Ax=b 我们如下处理

    1. A \pmb{A} A 可逆,直接 x = A − 1 b \pmb{x} = \pmb{A}^{-1}\pmb{b} x=A1b 为精确解析解
    2. A \pmb{A} A 非方阵,两边同时左乘 A ⊤ \pmb{A^\top} A 变为 A ⊤ A x ^ = A ⊤ b \pmb{A^\top A\hat{x}} = \pmb{A^\top b} AAx^=Ab,这时 A ⊤ A \pmb{A^\top A} AA 是一个方阵了,若其可逆则有 x ^ = ( A ⊤ A ) − 1 A ⊤ b \pmb{\hat{x}} = (\pmb{A^\top A})^{-1}\pmb{A^\top b} x^=(AA)1Ab。注意这里 x \pmb{x} x x ^ \pmb{\hat{x}} x^ 不同,若 x \pmb{x} x 有解则 x ^ = x \pmb{\hat{x}=x} x^=x;若 x \pmb{x} x 无解则 x ^ \pmb{\hat{x}} x^ 是最小误差解

    可见计算时要求方阵 A ⊤ A \pmb{A^\top A} AA 必须可逆。本节说明以下结论

    A \pmb{A} A 的列向量线性无关,则 A ⊤ A \pmb{A^\top A} AA 可逆

  • 证明需要用到结论:对于任意矩阵 A \pmb{A} A A \pmb{A} A 列向量线性无关 ⇔ \Leftrightarrow A x = 0 \pmb{Ax} = \pmb{0} Ax=0 只有零解。这个等价可从两个角度理解

    1. A x \pmb{Ax} Ax 是对 A \pmb{A} A 的列向量做线性组合,由于线性无关,要线性组合得到零向量只能是各项系数为 0
    2. A \pmb{A} A 是方阵,可逆矩阵的零空间只有零向量
  • 证明流程

    1. 首先证明 A ⊤ A x = 0 \pmb{A^\top Ax} = \pmb{0} AAx=0 A x = 0 \pmb{Ax} = \pmb{0} Ax=0 同解
             A ⊤ A x = 0 ⇔ x ⊤ A ⊤ A x = 0 ⇔ ( A x ) ⊤ ( A x ) = 0 ⇔ A x = 0 \begin{aligned} &\space\space\space\space\space\space\pmb{A^\top Ax} = \pmb{0}\\ &\Leftrightarrow\pmb{x^\top A^\top Ax} = \pmb{0} \\ &\Leftrightarrow\pmb{(Ax)^\top}\pmb{(Ax)} = \pmb{0} \\ &\Leftrightarrow\pmb{Ax} = \pmb{0} \\ \end{aligned}       AAx=0xAAx=0(Ax)(Ax)=0Ax=0
    2. A \pmb{A} A 列向量线性无关 ⇒ A x = 0 \Rightarrow \pmb{Ax} = \pmb{0} Ax=0 只有零解 ⇒ A ⊤ A x = 0 \Rightarrow\pmb{A^\top Ax} = \pmb{0} AAx=0 只有零解 ⇒ A ⊤ A \Rightarrow \pmb{A^\top A} AA 列向量线性无关 ⇒ A ⊤ A \Rightarrow \pmb{A^\top A} AA 可逆
  • 注意这里 A \pmb{A} A 放在回归任务的语境下就是上面的 X \pmb{X} X,其每一行是一个样本的特征向量,每一列对应一个特征, A \pmb{A} A列向量不是线性无关说明特征设计有问题,出现了冗余特征

2.5 局限性

  1. 要求 X ⊤ X \pmb{X^\top X} XX 必须可逆(梯度下降无此限制)

    若不可逆,可以通过对样本数据进行整理,去掉冗余特征,使其变为可逆矩阵

  2. 样本特征维数很大时, ( X ⊤ X ) − 1 (\pmb{X^\top X})^{-1} (XX)1 计算量可能太大甚至不可行(梯度下降无此限制)

    通常超过 10000 个特征就不适合用最小二乘法了,此时可以改用梯度下降等迭代算法,或者通过主成分分析降低特征维度后再用最小二乘法

  3. 模型必须是线性模型(梯度下降无此限制)

    如果拟合函数不是线性的,可以先将其转换为非线性成分的线性组合并对应地处理样本数据,再使用最小二乘法

  4. 由于考虑误差的二次方,因此受离群点影响很大,使用前应做好数据预处理排除错误数据
  5. 当样本量 m m m 小于特征数 n n n 的时候,这时拟合方程组是欠定的,常用的优化方法都无法去拟合数据。当样本量 m m m 等于特征数 n n n 的时候,用方程组求解就可以了。当 m m m 大于 n n n 时,拟合方程是超定的,也就是我们常用与最小二乘法的场景了
  • 5
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
曲线拟合最小二乘法是一种通过最小化误差平方和来拟合一个近似函数的方法。它是基于最小二乘原则构造的,即通过最小化实际观测值与拟合函数之间的差异来找到最佳拟合曲线。 最小二乘法的原理是,对给定的一组数据点,我们要找到一个函数,使得该函数与这些数据点之间的误差最小。误差可以通过计算实际观测值与拟合函数在相应点上的差异来衡量。最小二乘法的目标是找到使得误差平方和最小的函数参数。 在曲线拟合最小二乘法中,我们可以使用不同的函数形式进行拟合,如直线拟合和多项式拟合。其中,直线拟合是通过一条直线来逼近数据点,而多项式拟合则使用多项式函数来逼近数据点。 需要注意的是,曲线拟合最小二乘法并不要求满足插值原则,即不一定要经过所有的数据点。它的目标是找到一个近似函数,使得在整个数据集上的误差平方和最小化。 总结起来,曲线拟合最小二乘法是一种通过最小化误差平方和来找到一个近似函数的方法。它可以使用不同的函数形式进行拟合,并且不要求满足插值原则。通过最小二乘法,我们可以得到一个最佳拟合曲线,使得拟合函数与实际观测值之间的差异最小化。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [数值分析——曲线拟合最小二乘法](https://blog.csdn.net/weixin_45506541/article/details/127364115)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [一文速学-最小二乘法曲线拟合算法详解+项目代码](https://blog.csdn.net/master_hunter/article/details/126058212)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

云端FFF

所有博文免费阅读,求打赏鼓励~

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

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

打赏作者

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

抵扣说明:

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

余额充值