回归先选择哪些变量组合可以解释观测结果,再确定各项系数。最小二乘法把
剩余误差作为选择标准,将数据表、二次目标函数和正交投影联系起来。理解
这一联系,就能通过残差核对拟合结果,而不只是接受软件给出的一组数值。
动机
设第 i 次实验记录预测变量 xi 和响应 yi。直线 a+bx 用截距与
斜率描述响应随输入变化的趋势。真实观测通常不在同一条直线上,因此方程
a+bxi=yi 可能无解。仍然可以先规定如何衡量误差,再寻找整体预测最接近
观测结果的直线。
残差 ri=yi−(a+bxi) 衡量沿响应方向的差值。其符号说明观测值高于还是
低于预测值。直接求和会让正负误差抵消;平方后相加得到非负目标,也让较大
偏差占有较大的影响。这样的选择还使目标成为系数的二次函数,便于求解和
验证。
数据决定模型在哪些输入处接受检验,特征决定哪些预测向量能够产生。把选定
特征放入矩阵后,直线、多项式和多个预测变量的回归模型都可以使用相同的
最小二乘框架。
定义
定义
设计矩阵、拟合值与残差
令 A∈Rn×p 的每一行对应一个观测,每一列对应一项选定
特征。响应向量为 y∈Rn,系数向量为 β∈Rp。
定义
y=Aβ,r=y−Aβ,J(β)=∥y−Aβ∥22=i=1∑nri2.在 Rp 上使 J 最小的系数向量,称为最小二乘解。
直线模型的两个特征为 1 与 x,因此
A=1⋮1x1⋮xn,β=[ab].
全一列提供截距,其系数同时平移所有拟合响应。去掉这一列,就把模型限定为
经过原点的直线。是否包含截距是模型本身的选择,应在求解之前确定。
有 d 个预测变量时,第 i 行为 (1,xi,1,…,xi,d),系数个数
为 p=d+1。更一般地,可以事先选定特征函数 ϕ1,…,ϕp,令
Aij=ϕj(xi)。多项式采用输入的各次幂作为特征;它的曲线可以弯曲,
但对待求系数仍是线性的。优化时固定矩阵和响应向量,仅改变 β。
所有拟合向量属于 col(A)⊆Rn。这是所有
观测位置上可能出现的响应向量组成的空间,环境维数等于观测数量。正交投影
发生在这个空间,而不是预测变量所处的数轴上。
定理/命题
命题
正规方程与正交残差
对任意实矩阵 A,β 最小化 J,当且仅当
AT(Aβ−y)=0,等价地ATAβ=ATy.残差 r=y−Aβ 与 A 的每一列正交。因此
Aβ 是 y 在 col(A) 上的正交投影。
命题
系数唯一的条件
ATA 可逆,当且仅当 A 的列向量线性无关。此时唯一的最小二乘系数为
β=(ATA)−1ATy.对一般矩阵,拟合向量依然唯一。若 β 是一个最优解,所有最优
解恰为 β+z,其中 z∈ker(A)。
两条命题区分了模型中不同的确定性:数据可能已确定拟合响应,却无法确定
冗余特征之间怎样分配系数。观测数多于系数数,并不足以排除特征冗余;
列向量的线性无关性才决定了系数是否唯一。
证明思路
给定候选系数 β,记 r=y−Aβ。任意系数
变化 h 都满足
J(β+h)=∥r−Ah∥22=∥r∥22−2hTATr+∥Ah∥22.
若 ATr=0,交叉项为零,系数的任何变化都使目标增加非负量
∥Ah∥22,从而证明全局最优性。反过来,最优解处的函数
t↦J(β+th) 对每个方向 h 都在 t=0 取得最小值。
该处导数 −2hTATr 必须为零,因此 ATr=0。这一推导
也适用于列相关的矩阵。
证明
秩、解的存在和拟合向量的唯一性
对任意 z∈Rp,
zTATAz=∥Az∥22.所以 ATA 的核为零,当且仅当 A 的核为零。列向量线性无关时,该二次型
在非零 z 处严格为正,再由正规方程得到逆矩阵公式。
将 y 正交投影到有限维子空间 col(A),投影必可写成
Aβ,其正交残差满足正规方程,因而最优解存在。若两组系数都
满足正规方程,它们的差 z 满足 ATAz=0。左乘 zT 得
∥Az∥22=0,说明两者给出相同拟合向量。给一个解加上核中的向量,也
不会改变拟合响应,这便描述了全部解。
包含截距意味着矩阵有一列 1=(1,…,1)T,正规方程便包含
1Tr=0。于是残差和为零,拟合响应的平均值等于观测响应的
平均值。其他每个特征列还提供一条正交条件;只检查残差和,仅验证了截距
对应的方程,完整最优性要求全部方程共同成立。
例题
例题
例题一:拟合直线并核对残差
使用三个观测 (0,1)、(1,2)、(2,2),得到
A=111012,y=122,ATA=[3335],ATy=[56].正规方程为 3a+3b=5、3a+5b=6。两式相减得 2b=1,代回得到
a=7/6。因此
y=7/65/313/6,r=−1/61/3−1/6,J(β)=61.残差和为零,其与预测变量列的内积也为零:
0(−1/6)+1(1/3)+2(−1/6)=0。两项检查共同验证了完整正规方程。
ATA 的行列式为 6,故系数唯一。残差平方和严格为正,说明这三个点
不能由同一条直线精确拟合。
该直线还经过样本均值点 (1,5/3)。这由截距方程自然推出,无须再额外施加
约束。手算时,可先用均值点检查截距和斜率是否相容,然后用另一条正规方程
核对最优性。
例题
例题二:拟合值唯一而系数不唯一
现在三个输入都为 2,响应依次是 1、2、3。仍使用模型 a+bx,但
A=111222,ATA=[36612].所有预测都是同一个值 t=a+2b,目标可写为
(1−t)2+(2−t)2+(3−t)2=2+3(t−2)2.因此最优预测是 t=2。任意 (a,b)=(2−2s,s),s∈R,都是
最优系数,都给出 y=(2,2,2)T、残差 (−1,0,1)T 和目标值
2。正规方程也只剩下 a+2b=2 这一条独立条件。
核方向为 (−2,1)T。沿该方向改变系数,不影响已观测输入处的预测;
但在新输入 x=3 处,预测变为 2+s。所以拟合响应相同,并不能保证数据
之外的预测规则唯一。输入没有发生变化,数据便无法区分斜率与截距的贡献。
例题
例题三:区分目标权重与残差缩放
用常数 c 拟合响应 0、2、8,取目标权重 q=(1,1,1/4)T。目标为
Jq(c)=c2+(2−c)2+41(8−c)2.令导数等于零,得到
(1+1+41)c=0+2+418=4,c=916.残差为 (−16/9,2/9,56/9)T,满足加权和
−16/9+2/9+(1/4)(56/9)=0,加权目标值是 116/9。各观测权重相等时的普通均值
是 10/3。降低最大响应的影响,使拟合常数向另外两个观测靠近。
将本题转成普通最小二乘时,应使用
W=diag(1,1,1/2) 缩放残差。平方范数才会产生目标权重
1、1、1/4。若把最后一个残差乘以 1/4,它的平方项权重就成了
1/16,从而改变了待求问题。
加权模型与计算
对于一般的正目标权重 qi,
Jq(β)=i∑qi(yi−(Aβ)i)2=∥W(y−Aβ)∥22,W=diag(q1,…,qn).
对变换后的设计矩阵 WA 和响应 Wy 应用正规方程,得到
ATW2Aβ=ATW2y.
记 Q=diag(qi) 时,方程就是 ATQAβ=ATQy。
这种写法将目标中的权重与直接作用在残差上的因子分开。正权重保证 W
可逆,因此 WA 与 A 有相同的列秩,系数唯一的条件没有改变。正交条件
成为 ATQr=0,对应加权内积。
数值求解可以直接调用最小二乘程序。逆矩阵公式说明了满列秩时的数学解;
直接求解器则可借助正交分解计算,无须显式形成逆矩阵。例题一可以这样实现:
import numpy as np
x = np.array([0.0, 1.0, 2.0])
y = np.array([1.0, 2.0, 2.0])
A = np.column_stack((np.ones_like(x), x))
beta, _, rank, singular_values = np.linalg.lstsq(A, y, rcond=None)
residual = y - A @ beta
rss = residual @ residual
# beta ≈ [1.16666667, 0.5]; rss ≈ 1/6
返回的秩表示程序在数值上识别出的独立特征方向数量。显式计算残差,还能
清楚展示符号约定与目标值。如果正目标权重存于 q,对应的输入应改为
np.sqrt(q)[:, None] * A 和 np.sqrt(q) * y。返回的奇异值也将成为分析
数据主要方向的重要工具。
QR 与三角最小二乘求解
若 A 有满列秩且 n≥p,把其列向量正交归一化可得薄 QR 分解
A=QR,Q∈Rn×p,QTQ=Ip,R∈Rp×p.
其中 R 是可逆上三角矩阵。把响应分成投影 QQTy 与正交余项。由 QT(I−QQT)=0,且 Q 保持系数向量长度,
∥Aβ−y∥22=∥Rβ−QTy∥22+∥(I−QQT)y∥22.
第二项不依赖 β,第一项可降为零,因此唯一极小解满足 Rβ=QTy。回代先解三角系统最后一行,再把已求系数代入前一行。这个方法给出相同的正规方程解,但不必显式建立 ATA 或其逆矩阵。满列秩令 R 可逆;秩不足的设计则须使用前述最小二乘或伪逆处理。
例题
三角形式的回归计算
取行向量 (1,0),(1,1),(1,2),响应 y=(1,1,4)T。选 Q 的列为 (1,1,1)T/3 及 (−1,0,1)T/2,则
R=(3032),QTy=(233/2),β=(1/23/2).最后一条三角方程给出斜率 3/2,第一条给出截距 1/2。拟合响应是 (1/2,2,7/2)T,残差是 (1/2,−1,1/2)T,其平方范数为 3/2,恰好等于分解中的正交余项。
特征选择与目标的含义
二次模型使用三个特征 1、x、x2。例题一的输入相应给出设计矩阵
A2=111012014.
多项式 1+(3/2)x−(1/2)x2 通过全部三个观测,训练残差为零。把二次项
系数设为零,又能保留任何原来的直线模型,因此扩大的特征空间有更小的最低
训练误差。这里改变的是可选模型的范围,而不是把原有两特征问题求得更精确。
在新输入 x=3 处,二次模型预测 1,拟合直线预测 8/3。两个结果都由
相应模型确定,但原数据没有该输入处的响应可用来比较预测。选择特征空间
和在选定空间内估计系数,是两项不同任务;最小二乘在特征确定后完成后者。
变换响应同样会改变误差的含义。对满足 xi>0、yi>0 的观测,拟合 a>0
的幂模型 y=axb。取对数得到
logy=loga+blogx.
以 logyi 为响应,以 1 和 logxi 为特征,最小化的是对数尺度上的
差值平方和。将拟合截距取指数可以还原 a,却不会使目标自动成为原响应
尺度的平方误差。对数尺度把相同乘法比例对应为相同差值,原尺度比较的则是
加法差值。变化发生在拟合准则本身,并非只是把同一目标换一种写法。正值
条件规定了对数变换成立的定义域。
其他可线性化的模型
同一设计矩阵方法也适用于下列模型。响应列决定了平方误差所使用的尺度:
指数模型先求解 logy=c+dx,再还原 a=ec、b=ed。其输入可以是任意
实数;这种对数拟合只要求观测响应为正。对数回归则只变换输入,所以响应可为
负或零。输入取倒数同样保留原响应 SSE;响应取对数或倒数,则改变了损失。
上述两列设计矩阵的系数要唯一,变换后的输入值就不能全部相同。线性化使变换
方程对系数呈线性,却不会消除秩不足。
例题
例题四:精确的指数与输入倒数拟合
对 (0,2)、(1,6)、(2,18),对数响应位于直线
logy=log2+xlog3.因此变换后的最小二乘系数为 c=log2、d=log3,还原模型是
y=2⋅3x。这里允许输入为零,因为没有对输入取对数。
对 (1,5)、(2,3)、(4,2),变换输入为 1、1/2、1/4,得到精确模型
y=1+4/x。它最小化原响应 SSE,数值为零。模型在每个 x=0 处都有定义,
包括负输入,也不要求响应为正。
例题
例题五:响应倒数改变了目标
取 x=(0,1,2)T、y=(1,1/2,1/4)T。以特征 1,x 拟合倒数响应
(1,2,4)T,得到
a=65,b=23,i∑(yi1−(a+bxi))2=61.还原预测为 (6/5,3/7,6/23)T。原响应 SSE 是 1/25+1/196+1/8464,而非
1/6。一般而言,
(yi1−yi1)2=yi2yi2(yi−yi)2,yi=0,yi=0.分母依赖预测,因此这并非原 SSE,也不是预先指定观测权重的 SSE。拟合分母在
三个观测处均非零,但在 x=−5/9 处为零,模型在该处没有定义的响应。使用
变换后的拟合做预测时,应同时检查模型的定义域和所选损失。
残差检验也必须对应实际选定的特征。若例题一只保留 x,要求模型通过原点,
最优系数是 6/5,残差成为 (1,4/5,−2/5)T。它与预测变量列的内积为零,
但残差和等于 7/5。没有截距列,就没有零残差和这一限制。更换模型会同时
改变拟合值和诊断方程;将设计矩阵与系数一起记录,能够明确每项检验针对的
条件。
常见错误
常见错误
分清最优残差、精确拟合和系数唯一
正规方程说明所选特征空间内的训练残差平方和最小。残差恰好为零,还说明
响应向量位于这个空间内;系数唯一,则进一步需要特征列线性无关。这三个
结论分别有不同的判断依据。
增加特征会扩大可用的拟合响应空间。将新增系数设为零,可以恢复原模型,
因此最低训练误差只能下降或保持不变。未见数据上的预测效果还取决于模型的
泛化表现;训练误差下降本身不能证明预测误差也下降。
几何解释中还要分清垂直所在的空间。普通最小二乘使用响应方向的差值,
并不要求每个观测点到平面中拟合直线的连线都垂直。定理中的正交是整个
Rn 残差向量与设计矩阵各列正交。加权情形对应加权内积,先明确
环境空间,就能使代数条件和几何解释保持一致。
总结
先选特征,再逐行建立设计矩阵,以残差平方范数作为目标。正规方程检验
最优性,列秩决定系数是否唯一,正交投影确定唯一的拟合向量。处理加权
观测时,交给普通最小二乘求解器的行缩放因子是目标权重的平方根。
练习
思考检查
练习一:用常数拟合响应 1、4、7。求最优常数、残差向量和残差平方和。
设计矩阵只有一列全一向量。可以配方,或者写出唯一一条正规方程。
思考检查
练习二:设 A=111012,候选残差为 r=(1,−1,0)T。它能成为这个设计矩阵下的普通最小二乘残差吗?
思考检查
练习三:常数模型的响应为 0、6,目标权重分别是 1、2。求拟合常数,并给出将残差转成普通最小二乘形式的对角缩放矩阵。
先写加权目标再求导,注意区分目标权重和它的平方根。
思考检查
练习四:以 y=a+blogx 拟合 (1,−1)、(e,1)、(e2,3),求精确模型。负响应是否妨碍此拟合?
解答
解答 · 练习一解答
正规方程为 3c=1+4+7=12,故 c=4。残差是 (−3,0,3)T,
残差平方和为 9+0+9=18。残差和等于零,符合截距列的条件。配方还得到
J(c)=18+3(c−4)2,同时证明最优解唯一。
解答 · 练习二解答
虽然残差和为零,但
ATr=[1−1+00(1)+1(−1)+2(0)]=[0−1].第二条正规方程不成立,因此该向量不能成为指定矩阵的最小二乘残差。
仅与截距列正交不足以满足最优性条件。
解答 · 练习三解答
目标为 c2+2(6−c)2,导数是 2c+4(c−6),从而 c=4。残差
(−4,2)T 的加权和为 1(−4)+2(2)=0。缩放矩阵应为
W=diag(1,2),因为
WTW=diag(1,2)。
解答 · 练习四解答
变换输入为 0,1,2,响应为 −1,1,3,因此 a=−1、b=2,精确模型是
y=−1+2logx。每个输入均为正。响应没有取对数,所以允许负值;所最小化
的是原响应 SSE。
相关笔记
SVD 与主成分
利用奇异向量刻画数据矩阵的重要方向。
二次函数上的梯度下降
讨论如何逐步优化本节这类目标函数。
课程阅读书目集中列出本课程使用的书籍。