Vince Jiang

CSCI3230 / 课程伴读 · 本站更新

CSCI3230 L02 · Part 4/5 Summary

课程:CSCI3230 (ESTR3108) Fundamentals of Artificial Intelligence · 2026T1 本讲:L02,第 4 部分 / 共 5 部分 · 原件 L02-Linear-Regression-2026T1.pdf(本地课件) p.40–42 定位:用一次完整的小训练,把模型、损失、求解和泛化接起来。这里是复习站,不再引入新算法。 前后:上一份 Shrinkage methods · 下一份 ESTR3108:矩阵与投影

p.40 是分节页。读到这里如果只记得好几个公式,却不知道什么时候拿哪一个,是正常的:前几部分分别讲了任务的不同环节。这一部分把它们放回同一条工作线上。先用纸笔走一遍,再看 p.41 的四项总结。

四项总结与下一步阅读(p.41–42)

从一个具体任务开始

假设我们想根据练习次数预测完成任务所需的时间。这只是教学用虚构数据,不是关于人的真实规律。为让数字小,设两条训练记录为:练习次数 x=0x=0 时耗时 y=4y=4 分钟;x=2x=2 时耗时 y=2y=2 分钟。

第一步:先选允许的预测形式。 本讲选一条直线:

y^=θ0+θ1x. \hat y=\theta_0+\theta_1x.

xx 是输入;y^\hat y 是预测时间;θ0\theta_0 是截距;θ1\theta_1 表示输入增加一单位时预测改变多少。这里 θ1\theta_1 的单位是“分钟/次”。选直线已经限制了模型能表达的关系,后面再努力求参数也不会让这条直线自己变成曲线。

第二步:把记录整理为能核对的输入。 一行对应一条记录;第一列全是 1,用来乘截距:

X=(1012),Y=(42),θ=(θ0θ1). X=\begin{pmatrix}1&0\\1&2\end{pmatrix},\qquad Y=\begin{pmatrix}4\\2\end{pmatrix},\qquad \theta=\begin{pmatrix}\theta_0\\\theta_1\end{pmatrix}.

XX 是 2×22\times2,YY 是 2×12\times1,θ\theta 是 2×12\times1,所以 XθX\theta 确实会输出两条预测。维度不是装饰;如果把标签次序颠倒,乘法仍算得动,却会训练成另一个问题。

第三步:决定什么叫“好”。 先不用正则化,只把两条预测误差的平方相加:

RSS⁡(θ)=(θ0−4)2+(θ0+2θ1−2)2. \operatorname{RSS}(\theta)=(\theta_0-4)^2+(\theta_0+2\theta_1-2)^2.

想一想两个候选:(θ0,θ1)=(3,0)(\theta_0,\theta_1)=(3,0) 给预测 (3,3)(3,3),RSS 为 1+1=21+1=2;(4,−1)(4,-1) 给预测 (4,2)(4,2),RSS 为 0。第二个候选把已有两点完全拟合了。因为平方和不可能小于 0,它一定是训练 RSS 的全局最小值。

第四步:知道通用求解过程在做什么。 对大数据不能总靠猜。Part 2 的正规方程是

XTXθ^=XTY. X^TX\hat\theta=X^TY.

本例两边的已知量为

XTX=(2224),XTY=(64). X^TX=\begin{pmatrix}2&2\\2&4\end{pmatrix},\qquad X^TY=\begin{pmatrix}6\\4\end{pmatrix}.

于是得到 2θ0+2θ1=62\theta_0+2\theta_1=6 和 2θ0+4θ1=42\theta_0+4\theta_1=4。第二式减第一式得 2θ1=−22\theta_1=-2,所以斜率是 −1-1,再代回得截距是 4。它就是刚才猜中的那条线。用方程求解的意义在于把这个过程系统化,而不是要求所有问题都手算逆矩阵。

第五步:用新记录检查,而不是宣布模型完美。 若另一条未参与训练的记录为 x=1,y=3.5x=1,y=3.5,模型预测 3,平方误差是 0.250.25。训练 RSS 为 0 并没有强迫新记录也落在线上。这个新点如果用来决定选哪个 λ\lambda,它承担的是验证作用;最终测试仍需另留数据。两条训练记录和一条新记录只是示范流程,不足以支持实际部署。

还要看适用范围。本例直线在 x=5x=5 时预测 −1-1 分钟,这显然不适合作为真实耗时。问题不是乘法算错,而是把非常少的数据拟合出的线外推到了不合理区间。数值优化成功与模型对任务合适,是两次不同的判断。

把 p.41 的四件事接起来

课件总结项 它回答的问题 本例中你应能指出什么
Linear regression 允许模型怎样预测? 一条带截距的直线,输入次数,输出分钟
RSS minimization 哪组参数对训练记录最好? 比较平方和,或解正规方程,得到 (4,−1)(4,-1)
Bias–variance 换一批训练记录后表现怎样? 两点上的零误差不足以回答,要考虑重复抽样与新数据
Ridge/Lasso 怎样限制过度依赖某些系数? 在损失中加入惩罚,用验证数据选强度

正则化没有改变“输入—预测—评价”的顺序。它改变的是第三步要最小化的目标。例如只惩罚斜率的 Ridge 写成 RSS⁡+λθ12\operatorname{RSS}+\lambda\theta_1^2;λ\lambda 越大,使用较大斜率越贵。此时不能再仅凭哪个候选 RSS 小就决定哪个好,必须比较整个目标。也不能把“训练目标较小”直接翻译成“测试误差必定较小”。

三个容易混淆的检查

先遮住答案,自己说一句完整的话就够了。

  1. 候选 A 的 RSS 是 2、斜率是 0;候选 B 的 RSS 是 0、斜率是 −1-1。如果 Ridge 的 λ=3\lambda=3,两个候选谁的目标更小?这是否证明它是所有参数中的最优解?
参考答案:先比较,再注意范围

A 的目标是 2+3×02=22+3\times0^2=2;B 的目标是 0+3×(−1)2=30+3\times(-1)^2=3,因此这两个候选之间 A 更小。但还没有检查其他参数,不能宣布 A 是全局最优。实际带截距的本例 Ridge 最优斜率为 −2/5-2/5、截距为 17/517/5,目标为 6/56/5,比两个候选都小。这个结果用来提醒“比较两项”与“完成优化”不同,不要求在本节记住新公式。

  1. 训练 RSS 为 0,是否能推出偏差、方差、噪声都为 0?
参考答案:它只描述这一批数据

不能。训练 RSS 描述某个模型对已经看到的标签的拟合;偏差、方差讨论固定输入处、换训练集后预测的期望和变化;噪声是标签中不能由已知输入完全解释的随机部分。定义的对象不同。

  1. 有 10 条样本、3 个参数,就一定能写 (XTX)−1(X^TX)^{-1} 吗?
参考答案:数量够还要信息够

不一定。10 行足以容纳 3 个独立列,但三列仍可能重复或线性相关。要检查 XX 的列满秩。下一部分专门解释这个条件;如果你先读 CSCI 核心线,先记住“写逆前检查条件”即可。

p.42 的阅读指引怎么用

课件列出 The Elements of Statistical Learning 第 3.1、3.2、3.4、2.9 节,以及 Introduction to Linear Algebra 第 4.2、4.3 节。这是原讲义的教材阅读范围,并不是说看完笔记前必须先读完两本书。

若你还分不清 XX 的一行一列,先回 Part 1 的建表例子;若会代入却不知道为何平方和这样求导,回 Part 2;若已经会求参数,但不明白为什么还加惩罚,回 Part 3。理解这些后,教材可以补充更系统的解释。需要 ESTR 扩展时再读 Part 5 的几何与秩证明。

下一讲的输出变成类别。线性组合仍会出现,但它先表示一个分数,再转成概率;损失也会改变。本讲学到的“先确认模型、目标和评价对象”仍然适用,RSS 的解析解则不能自动搬过去。

补充 · 结果不对时,分清建模错误与求解错误(通识讲解;演示数据不属于原题)。

拟合后不要只看打印出来的系数。先取一行数据手算预测,确认列顺序、幂次和截距;再代回全部训练行得到残差;最后检查所用目标的最优条件。普通最小二乘检查 XTrX^Tr 接近零,带正则化时则必须把惩罚梯度一起计算。把 Ridge 结果硬塞进无惩罚正规方程,通常不会得到零,那并不表示求解器失效。

还要区分两种“很小”:数值残差很小可能代表优化成功;测试误差小才是在当前独立样本上预测得好。前者不能代替后者。若输出出现巨大正负系数但预测正常,先检查共线列和输入尺度,再决定是否需要正则化,而不是随手把大系数删掉。

**p.42 书目版本补全:**统计学习书为 Hastie 等人的 The Elements of Statistical Learning 第 2 版,线性代数书为 Gilbert Strang 的 Introduction to Linear Algebra 第 5 版。章节号依上述版本使用,换版时不能仅按编号猜对应内容。

**补充:把本节 Ridge 数值也算到底。**前面两点的均值为 xˉ=1,yˉ=3\bar x=1,\bar y=3。固定斜率 aa 时,最佳截距是 b=3−ab=3-a;两条残差为 −1−a-1-a、1+a1+a。取惩罚系数 3,总目标为 2(a+1)2+3a2=5(a+2/5)2+6/52(a+1)^2+3a^2=5(a+2/5)^2+6/5,所以 a=−2/5,b=17/5a=-2/5,b=17/5,最低目标 6/56/5。这补齐前面自测答案的来由,不要求从别篇找未展示的运算。

补充:训练误差比较时,哪些东西必须固定

自编比较:模型A在4条训练数据上的平方误差为 (1,1,1,1)(1,1,1,1),RSS=4、MSE=1;模型B在100条不同数据上的平方误差都为0.1,RSS=10、MSE=0.1。不能因为4小于10就断言A更好,二者的求和项数和数据都变了。即便改为MSE,测试任务与数据难度不同也仍不构成公平模型比较。

在同一训练集上,增加多项式次数使模型集合嵌套,如果每次都找到该集合中的全局最小平方损失,训练RSS不会上升。证明很短:高次模型可以把新增系数设0,复现低次模型,所以最优解至少不比旧解差。若程序却报告更大的训练RSS,先检查迭代是否收敛、数值稳定性、是否改了正则项或数据;不能立即说嵌套结论失效。

但这个证明没有谈测试集。旧参数能在高次模型中复现,只保证存在一个训练表现相同的候选,不保证训练算法最终选到的高次参数对未知样本也更好。把“训练误差单调”与“测试误差可能先降后升”放在一起,就能看清模型容量和模型选择各自负责哪一步。

本讲核心考点

本节最值得掌握的是解释每一步的输入和输出:X,YX,Y 是数据,θ\theta 是待学习参数,XθX\theta 是训练预测,RSS 是一个数。求出参数后,还要用适当保留的数据评价。课件 p.41 的四项总结是知识框架,不据此推断今年具体题型。

附录

自查:把流程讲给没学过的人。 “我先规定用什么样的函数预测,再选一个衡量错误的办法;然后利用训练记录把函数里的数调好,最后看看它对没用于调参数和挑模型的数据是否仍然有效。”如果你能把这句话里的每一项对应到本页的数,就已连起本讲的主线。

来源与证据

  • 本部分依据当前 L02-Linear-Regression-2026T1.pdf(本地课件) p.40–42;页码指去除动画中间页后的 55 页阅读版。数学小例子为本笔记补充,不冒充课件原题。
  • 教材章节号来自 p.42;本次未逐章核读教材,也未重新核读往年试卷。这里不以未核读材料作为新结论的证据。