这是我参与8月更文挑战的第17天,活动详情查看:8月更文挑战
最小二乘法
定义
根据维基百科的定义,最小二乘法通过最小化误差的平方和,寻找数据的最佳函数参数。也可用于曲线拟合。可以理解为拟合参数的一种方法。
推导
我们结合线性回归来理解。假设现在有一元线性回归问题,已知 x,y,我们让 y 在 x 上回归,可得到:
y^=αx+β
显然此时的误差(或者叫残差)r=y−y^。那么最小二乘法就是通过最小化这个误差项的平方和,来拟合出参数 α、β。假设我们有 n 个样本,那问题也就是:
α,βargmini=1∑n(yi−y^i)2=α,βargmini=1∑n(yi−αxi−β)2
我们可以用求导的方法来求这个二元函数的极小值,即分别对α、β求导:
∂αJ(α,β)=−2i=1∑nxiyi+2αi=1∑nxi2+2βi=1∑nxi∂βJ(α,β)=−2i=1∑nyi+2αi=1∑nxi+2nβ
令这个两个导数为0,可求出:
∂βJ(α,β)=0⟹n1i=1∑nyi=n1αi=1∑nxi+β⟹y=αx+β∂αJ(α,β)=0⟹i=1∑nxiyi=αi=1∑nxi2+βi=1∑nxi⟹i=1∑nxiyi=αi=1∑nxi2+(y−αx)i=1∑nxi⟹α=∑i=1nxi2−x∑i=1nxi∑i=1nxiyi−y∑i=1nxi⟹α=∑i=1n(xi−x)2∑i=1n(xi−x)(yi−y)
我们回顾一下协方差和方差的概念,
对单个随机变量来说,协方差与方差:
cov(x,y)=E((x−μ)(y−v))var(x)=cov(x,x)=E((x−μ)2)
对随机变量序列来说,协方差与方差:
cov(i=1∑nxi,j=1∑myj)=i=1∑nj=1∑mcov(xi,yj)var(i=1∑nxi)=i=1∑nvar(xi)+2i,j;i<j∑cov(xi,xj)
我们发现,α 其实可以写成 var(x)cov(x,y)。
矩阵形式
对于一般多元线性回归问题,
其中,
A=⎣⎡11...1A11A21...Am1............A1nA2n...Amn⎦⎤,b=⎣⎡b0b1...bn⎦⎤,y=⎣⎡y1...ym⎦⎤
那最小二乘法的目标就是:
bmin∣∣Ab−Y∣∣2
按简单的解法,对其求解,
AbT=YATAbT=ATYATAbT=ATY(ATA)−1ATAbT=(ATA)−1ATY
最终的解:
bT=(ATA)−1ATy