90页逐页讲演稿。全文用于备课与225分钟完整研习;135分钟课堂请按“使用说明”的核心路线节选,不能把完整讲稿逐字读完后再叠加实验。
三课时:1–24页45分钟;25–58页45分钟;59–90页45分钟(含选读与快速推导帧)。每页下方给出提问、参考答案及相应操作。PPT备注区内嵌同一正文。
逐步呈现采用连续投影片,不含需要宏的同页动画。变量动态、回退与隐藏答案位于推导交互实验室。现代实验为可执行Python与CSV日志。

今天我们从四个非常普通的观测点开始,一步一步回答:计算机怎样选出一个模型,怎样判断调整方向,以及为什么训练数据上的好结果还不足以让我们相信模型。前半部分会把每一个中间量写出来,让大家看见一个数怎样变成一个梯度;随后把四次相似的运算合并成矩阵,并解释最小二乘为什么既有几何意义,也有概率意义。最后我们会更换输出与损失,把同一计算框架扩展到二分类和多分类。课件中的连续页面是逐步指读的推导帧,请沿着同一组数据观察变化,而不是把每一页当作独立知识点。
【教师操作】指向封面的课程主题,说明课堂会先预测、再计算、最后解释。请学生在纸上保留四点数据,后续不反复抄题。
【提问】能把训练样本全部预测正确,就意味着模型可以直接使用吗?
【答案与核验】不能。还需检查独立数据、错误代价、概率质量与适用范围;今天的终点是完整证据链。
能把训练样本全部预测正确,就意味着模型可以直接使用吗?
不能。还需检查独立数据、错误代价、概率质量与适用范围;今天的终点是完整证据链。
返回目录
请沿着图中的箭头读一遍。输入先转成数值特征,当前参数产生预测;预测与观测比较形成损失,对参数求导得到调整方向,更新后再重复计算。这是训练过程。另有一条不能省略的路线:用验证数据选择模型配置,固定以后再使用测试数据作最终评价。四个名词很容易混在一起:增加平方特征改变模型表示,改用绝对误差改变损失,换成梯度下降改变求解方法,改用独立测试改变证据的来源。它们都可能改变结果,但不能互相替代。一个表达能力不足的模型,不会因为优化器运行更久就自动具备新的函数形式。
【教师操作】在图上分别圈住表示、损失、更新和测试。每圈一个区域,请一位学生给出可以改变这一环节的具体操作。训练箭头返回参数,测试箭头不返回参数。
【提问】增加训练轮数与增加x²特征,改变的是同一件事吗?
【答案与核验】不是。前者改变求解过程,后者扩大候选模型;两者是否改善新数据表现都需要独立检验。
增加训练轮数与增加x²特征,改变的是同一件事吗?
不是。前者改变求解过程,后者扩大候选模型;两者是否改善新数据表现都需要独立检验。
返回目录
今天的时间组织按学习任务划分,不按幻灯片数量平均分配。第一段从四点数据到一次梯度更新,让每个人能独立算出新参数;第二段把逐样本计算写成矩阵,解释正规方程、投影与似然;第三段讨论正则化和分类,并把方法迁移到后续案例。连续推导帧只是把同一黑板逐渐补全,已经会的步骤可以快速翻过,计算和提问处再停下来。建议大家每一段都保留一项可交付结果:一个手算表、一段对应代码,以及一句说明结论前提的话。这样即使最后没有记住所有公式,也能从清楚的起点重新推导。
【教师操作】指出三段之间的依赖关系,说明第14、48、56页等可作为速查或选讲。135分钟安排由整套90页路线统一控制,实验页先讲目的再操作。
【提问】为什么不能把90页平均分配同样的讲解时间?
【答案与核验】因为逐步推导帧承担揭示过程,实验和学生计算需要更长时间;应按学习活动与先修程度调配。
为什么不能把90页平均分配同样的讲解时间?
因为逐步推导帧承担揭示过程,实验和学生计算需要更长时间;应按学习活动与先修程度调配。
返回目录
我们的输入依次是一、二、三、四,观测响应依次是一、二、二、四。它们没有精确落在同一条过原点的直线上,因此需要一个明确的标准比较候选模型。先约定模型是预测等于w乘x,并且暂时不加截距。这样只有一个需要学习的数w,计算过程可以完整画出来。这个无截距约定是为了使第一轮手算简单,不代表真实任务都应省略截距;后面我们会把截距作为常数特征加入。请分清四个样本是用来演示算法的数据,不足以独立支持任何实际应用结论。今天得到的最佳参数,是相对于这四个点、这个模型与所选损失而言。
【教师操作】在图上逐点报出坐标,并让学生抄成两列。圈出第三个点(3,2),提示它偏离简单的y=x趋势,后续会使各样本梯度产生不同贡献。
【提问】四个样本是否意味着需要四个不同的斜率参数?
【答案与核验】不需要。所有样本共享同一个w;每个样本对共同参数提供一条约束,学习是在综合这些约束。
四个样本是否意味着需要四个不同的斜率参数?
不需要。所有样本共享同一个w;每个样本对共同参数提供一条约束,学习是在综合这些约束。
返回目录
对于经过原点的模型,w就是斜率。输入增加一个单位,预测增加w个输出单位。把w从零改成零点五,整条直线从水平变为向上倾斜,四个预测同时发生变化;把w再改成一,较大输入处的变化幅度更大。也就是说,参数不是在单独照顾某个点,而是在控制一条共享规律。观察第四个样本,输入为四,所以斜率改变零点一时,预测会改变零点四;第一点只改变零点一。这个输入对参数敏感度的差别,稍后会以一个乘数x出现在梯度里。请先建立这种几何直觉,再去看求导。
【教师操作】按零、零点五、一的顺序指读三条线,在x=1和x=4画预测变化的竖直箭头。让学生说明为什么右侧箭头更长。
【提问】w从0.5变成0.6时,x=4的预测增加多少?
【答案与核验】增加0.4,因为预测变化为x乘Δw。x=1时只增加0.1,这正是后续链式求导中的x。
w从0.5变成0.6时,x=4的预测增加多少?
增加0.4,因为预测变化为x乘Δw。x=1时只增加0.1,这正是后续链式求导中的x。
返回目录
完整的一元线性模型还可以有截距b。它表示输入为零时模型的预测值。保持斜率不变而增加截距,会把整条线向上平移,每个样本的预测增加相同的量;改变斜率则使不同输入的预测变化不同。截距不是可有可无的装饰:如果物理关系并不要求通过原点,却强制把b设为零,斜率就可能被迫补偿错误约束,预测也会带来系统偏差。相反,有充分理论依据时,也可以固定零截距。为了让接下来的手算集中在一个变量上,我们继续采用b等于零,之后在设计矩阵中用一列常数一恢复截距。
【教师操作】并列画y=.9x与y=.5+.9x,用相同长度的竖直箭头表示平移。再指回本轮约定b=0,避免学生在下一页自行加入一个未知数。
【提问】把截距增加0.2,四个训练点的预测分别增加多少?
【答案与核验】都增加0.2;斜率不变。若把斜率增加0.2,四个预测分别增加0.2、0.4、0.6、0.8。
把截距增加0.2,四个训练点的预测分别增加多少?
都增加0.2;斜率不变。若把斜率增加0.2,四个预测分别增加0.2、0.4、0.6、0.8。
返回目录
现在固定候选斜率为零点五,逐个代入四个输入。得到的预测是零点五、一、一点五和二。观测仍然是一、二、二、四,并不会因为我们改变参数而跟着变化。训练中的比较,就是把同一输入下的预测和观测放在一起。请注意,预测并不是观测的另一个名称,它是模型根据输入和参数算出的结果。在真正使用模型预测未来时,真实响应可能还没有发生;等它到来以后,我们才能评价那次预测。数据表中的这两个列名必须一直保持清楚,否则残差符号、损失和图形解释都可能混乱。
【教师操作】本页完整静态显示;先让学生纸上计算,再用指示笔逐行核对。逐行指读表格,先请学生在纸上口算预测,再对照表格核验。每算一行,指向散点图对应横坐标,区分线上预测位置与观测点。
【提问】第三个样本的预测是1.5还是2?哪一个由模型计算?
【答案与核验】预测是1.5,由w=.5和x=3计算;2是给定观测,二者相差0.5。
第三个样本的预测是1.5还是2?哪一个由模型计算?
预测是1.5,由w=.5和x=3计算;2是给定观测,二者相差0.5。
返回目录
残差定义为观测减预测。当前斜率零点五时,四个残差分别是零点五、一、零点五和二,它们都为正,说明这条候选线低估了四个观测。图上从预测位置向观测点画竖线,可以把残差直接看出来。这里比较的是相同输入位置的竖直差,不是点到直线的最短欧氏距离,也不把横坐标误差计入这个目标。以后求导时会使用另一个量e,定义为预测减观测,所以e等于负r。两种记号都可以使用,但不能在同一次计算里无意调换。先固定约定,平方之后数值相同,求导时符号仍必须正确。
【教师操作】用蓝色箭头从线上预测指向观测点,标记四个r。另在角落画一个负残差示意,要求学生用“高估”而非“负误差不好”解释。
【提问】第三点若改用w=1,残差是多少?
【答案与核验】预测为3,观测为2,r=−1,表示高估;对应e=1。平方残差不变,但符号含义不能丢。
第三点若改用w=1,残差是多少?
预测为3,观测为2,r=−1,表示高估;对应e=1。平方残差不变,但符号含义不能丢。
返回目录
我们需要一个标量,用它比较两条候选线。直接把残差相加会让高估和低估互相抵消,即使每个样本都错得很大,总和也可能为零。平方先把每项变成非负数,再求和得到残差平方和。斜率为零点五时,四项是零点二五、一、零点二五和四,总和五点五;斜率为一时,只有第三点残差为负一,平方和等于一。在这个标准下,后者更好,但仍不等于它已经是最优。平方还体现了一种偏好:把残差从一增到二,代价从一增到四,所以极端偏差会影响求解。后面我们会讨论异常值和其他损失。
【教师操作】按残差、平方、求和三列推进。圈出第四样本的4,解释它占w=.5总损失的大部分;再展示w=1作为比较,暂不公布最优斜率。
【提问】四个残差相加等于零,能否据此说模型没有误差?
【答案与核验】不能。正负可以抵消;必须检查各项大小。平方和等于零才说明这四个样本都预测精确。
四个残差相加等于零,能否据此说模型没有误差?
不能。正负可以抵消;必须检查各项大小。平方和等于零才说明这四个样本都预测精确。
返回目录
平方和随着样本数量增加往往会变大,因此我们通常按样本数求平均,得到均方误差MSE。再乘二分之一,定义本课优化的目标J。二分之一没有改变哪个参数最好,只是让稍后的平方求导系数更简洁。对于四个样本,J等于平方和除以八。刚才斜率零点五的平方和是五点五,所以MSE是一点三七五,J是零点六八七五。请在纸上同时写出这两个值,之后不能把损失曲线上标注的J直接当成MSE。如果还有正则项,改变数据损失的平均方式而不调整正则尺度,会改变两部分的相对权重,最优解也可能改变。
【教师操作】用三层框依次显示SSE、MSE、J,箭头标除以N和除以2。保留w=.5算例,将三个值放在同一行供核验。
【提问】把J乘以2,最优斜率会改变吗?梯度呢?
【答案与核验】未加入未同步缩放的其他项时,最优斜率不变;梯度变为两倍,同样学习率下更新步子也变大。
把J乘以2,最优斜率会改变吗?梯度呢?
未加入未同步缩放的其他项时,最优斜率不变;梯度变为两倍,同样学习率下更新步子也变大。
返回目录
现在换一个坐标系。横轴不再表示输入x,而表示斜率参数w;纵轴表示用这个斜率对四个样本计算出来的目标J。所以损失曲线上一个点,实际上对应数据图里的一整条候选直线。将四个平方项展开并合并,得到三十w平方减五十四w加二十五,再除以八;配方以后,是三点七五乘w减零点九的平方,加零点零八七五。因此曲线是开口向上的抛物线,最低点在w等于零点九。我们暂时用配方看见答案,后面会用梯度和正规方程独立推导,让不同方法彼此核验。
【教师操作】左右并排显示数据图与损失曲线,用同色点连接当前w。让学生先指出w=.5对应哪条线、哪个损失点,再移动到w=.9。
【提问】损失图里的横坐标0.9,表示某个输入样本的x吗?
【答案与核验】不是,它是所有样本共享的参数w。纵坐标0.0875是四个样本平均平方误差的一半。
损失图里的横坐标0.9,表示某个输入样本的x吗?
不是,它是所有样本共享的参数w。纵坐标0.0875是四个样本平均平方误差的一半。
返回目录
这页把三个不同对象放在一起。参数只有一个数w,数据空间里的函数是一条线,而对四个训练输入的预测组成一个四维向量。它们通过同一个计算规则关联,却不能当成相同的对象。以w等于零点五为例,直线是y帽等于零点五x,四个预测是零点五、一、一点五和二,最后通过损失汇总为零点六八七五。优化是在参数空间里找一个位置,而这个位置会决定数据空间中的所有预测。以后参数有很多维时,虽然无法画完整的损失曲面,矩阵计算仍然遵循这条链。
【教师操作】按“一个参数、四个预测、一个损失”的顺序指读右侧等式;反向从损失点要求学生说出它对应的参数与直线。这里不把示意图误称为真实四维空间投影。
【提问】参数只有一个,为什么预测向量有四个分量?
【答案与核验】因为四个样本共用一个参数,每个输入产生一个预测;预测维度取决于样本数,参数维度取决于特征数。
参数只有一个,为什么预测向量有四个分量?
因为四个样本共用一个参数,每个输入产生一个预测;预测维度取决于样本数,参数维度取决于特征数。
返回目录
我们已经会评价任何一个斜率,因此可以不断试参数。w等于零时J为三点一二五,零点五时是零点六八七五,一时为零点一二五,零点九时为零点零八七五。这个小问题靠试值似乎也能接近答案,但试过几个候选不能保证没有更好的值;当参数从一个变成几百个,逐项穷举会非常昂贵。我们真正想知道的是,在当前位置稍微增大w,损失会升还是降,以及变化有多快。导数正好回答这个局部问题。它不能凭空告诉我们所有远处位置,却可以提供一个系统的迭代方向。
【教师操作】先只比较前三个候选值,请学生判断下一次尝试应靠近哪里,再比较.9。提醒这是教学已知曲线,实际高维问题不能依靠画图穷举。
【提问】比较w=.5与w=1就能证明w=1最优吗?
【答案与核验】不能,只能证明在这两个候选里w=1更好。仍有w=.9取得更小J,需要最优性条件支持结论。
比较w=.5与w=1就能证明w=1最优吗?
不能,只能证明在这两个候选里w=1更好。仍有w=.9取得更小J,需要最优性条件支持结论。
返回目录
这一页把目前的计算收在一起,方便后续查阅。第一行定义预测、残差和预测误差,第二行是四个样本的原始目标,第三行将平方展开合并,第四行通过配方直接显示最低点。它们不是四个不同模型,而是同一个标量函数的不同表达。原始形式最接近实现,展开形式方便手算导数,配方形式方便看最小值与曲率。求导时,输入和观测都是已知常数,只有参数w发生变化。请把每一步依赖的数据来源说清,尤其不要把样本编号i误当成求导变量。下一组连续帧会保留这页的定义,逐项核对梯度。
【教师操作】将四行分别与前页的散点、误差表、展开和曲线对应。135分钟路线中可快速翻过,学生课后据此重建计算;需要补基础时再逐项解释。
【提问】为什么原始式的分母是8而不是4?
【答案与核验】因为N=4且J采用1/(2N)归一化。若报告MSE,分母才是4,MSE等于2J。
为什么原始式的分母是8而不是4?
因为N=4且J采用1/(2N)归一化。若报告MSE,分母才是4,MSE等于2J。
返回目录
开始求梯度时,不要一下跳到最终公式。先只看一个样本,把预测减观测记为e,单样本损失是二分之一e平方。如果暂时把e看成变量,外层求导就是e。这一步解释了为什么目标前放二分之一:平方求导出现的二被消掉,表达更简洁。但此时求得的是损失相对于误差的变化率,还不是损失相对于参数w的变化率。因为e也会随w变化,我们还需要下一页的链式法则。请始终说清导数的分子和分母代表什么,不能看到一个负残差就直接把它当成完整梯度。
【教师操作】在板上画w→e→ℓ两级箭头,先只标e→ℓ的导数e。保留前页J定义,并用较浅颜色提示平均求和将在后面加入。
【提问】当e=−2时,dℓ/de是多少?这是否就是dℓ/dw?
【答案与核验】前者为−2;还不是后者,因为还需乘de/dw=x。若x=3,参数导数将为−6。
当e=−2时,dℓ/de是多少?这是否就是dℓ/dw?
前者为−2;还不是后者,因为还需乘de/dw=x。若x=3,参数导数将为−6。
返回目录
现在补上内层。误差是w乘x减y,x和y是数据中的常数,所以误差对w的导数就是x。把外层导数e与内层导数x相乘,得到单样本损失对w的导数,也就是预测减观测,再乘输入。这个乘数并非人为加权,而是模型的结构自然产生的:同样改变一点斜率,输入较大的样本预测变化更大。请回忆第五页在x等于一和四处画出的不同长度箭头,它们正是这里的敏感度。若x为负,参数变化与预测变化方向相反,因此不能只凭残差符号判断最终更新方向,必须看完整乘积。
【教师操作】把上一页计算图补上w→e的导数x,用两段箭头相乘得到完整导数。举x=2、y=2、w=.5的小例,逐步得到e=−1与导数−2。
【提问】同样e=−1,x=1与x=4的参数导数分别是多少?
【答案与核验】分别是−1和−4;输入不同意味着对斜率的敏感度不同,所以同样预测误差产生不同梯度贡献。
同样e=−1,x=1与x=4的参数导数分别是多少?
分别是−1和−4;输入不同意味着对斜率的敏感度不同,所以同样预测误差产生不同梯度贡献。
返回目录
把初始斜率设为零,四个预测都为零,所以预测误差依次为负一、负二、负二、负四。再分别乘以对应输入一、二、三、四,得到四个梯度贡献:负一、负四、负六、负十六。请逐行看清第三个样本,误差是负二,但输入是三,所以贡献是负六,不能照抄第二行的负四。第四个样本既有较大误差,也有较大输入敏感度,因此贡献绝对值最大。这里所有样本恰好都希望提高斜率;在其他参数位置,某些样本可能希望提高,另一些可能希望降低,优化会综合它们的要求。
【教师操作】本页完整静态显示;先让学生纸上计算,再用指示笔逐行核对。按x、y、预测误差、误差乘x四列逐项核对,请学生先在纸上计算最后一列。给学生二十秒计算第三行与第四行,再对照正确结果。
【提问】第三个样本对w的梯度贡献为什么不是−2?
【答案与核验】−2只是预测误差,还必须乘输入x=3,链式法则给出−6;四项之和为−27。
第三个样本对w的梯度贡献为什么不是−2?
−2只是预测误差,还必须乘输入x=3,链式法则给出−6;四项之和为−27。
返回目录
单个样本的导数已经得到,现在回到整个训练目标。J是四个单样本损失的平均,因此它的导数也是四个单样本导数的平均。负一减四减六减十六得到负二十七,再除以四,得到负六点七五。不要在这里再次除以二,因为二分之一已经被平方求导产生的二抵消。也不要忘记除以样本数,否则更新尺度就与本课目标不一致。梯度为负表示在当前位置,小幅增加w会降低J;它是一个局部变化判断,不是在说参数应该取负值。下一步我们会用负梯度方向更新,所以这里连续出现两个负号。
【教师操作】保留四项表,将四个贡献用箭头合并到求和框,再接除以4。板书“J用平均,g也用平均”,在除以2处画删除标记说明已消去。
【提问】若误把梯度写成−27,同样学习率会产生什么后果?
【答案与核验】参数步子变为正确值的四倍,可能越过稳定范围;这等价于无意改变有效学习率。
若误把梯度写成−27,同样学习率会产生什么后果?
参数步子变为正确值的四倍,可能越过稳定范围;这等价于无意改变有效学习率。
返回目录
现在执行一次参数更新。梯度下降的规则是新参数等于旧参数减去学习率乘梯度。初始w为零,学习率取零点一,梯度是负六点七五,所以减去一个负数,参数增加到零点六七五。请把这个算式完整读出来:我们沿负梯度前进,负梯度在当前点指向右侧。图中损失曲线的切线向右下降,因此小幅向右移动是合理的。更新后还没有恰好到达最优值零点九,这很正常;梯度提供局部方向,学习率规定步长,并不保证一步解出整个问题。接下来必须重新计算预测与损失,检查这一步是否真的改善目标。
【教师操作】在J(w)图上标w₀=0、切线和向右箭头,终点标w₁=.675。保留g和更新公式,让学生先判断正负方向,再计算绝对数值。
【提问】梯度是负数,为什么w反而增加了?
【答案与核验】因为更新使用w−ηg;η为正且g为负,所以减负得正。若误写w+ηg,就沿损失上升方向移动。
梯度是负数,为什么w反而增加了?
因为更新使用w−ηg;η为正且g为负,所以减负得正。若误写w+ηg,就沿损失上升方向移动。
返回目录
把新斜率零点六七五代回四个输入,预测依次为零点六七五、一点三五、二点零二五、二点七。再按观测减预测得到残差,第三个样本已经变成负零点零二五,表示轻微高估,其他三个仍被低估。这说明总目标下降不要求每一个残差保持相同符号。四个残差平方相加得到二点二一八七五,除以四是MSE,除以八才是J,因此新J等于零点二七七三四三七五,明显低于初始的三点一二五。我们现在有了一个完整闭环:前向预测、计算损失、求梯度、更新,再前向核验。
【教师操作】本页完整静态显示;先让学生纸上计算,再用指示笔逐行核对。逐行填新预测与残差,再让学生核对第三行符号。底部并排展示J₀与J₁,只比较相同定义的量,不把J与MSE交叉比较。
【提问】J下降时,是否每个样本的绝对残差都必须下降?
【答案与核验】不必。优化降低的是平均目标;本步多数样本改善,后续接近最优时也可能在个别样本之间折中。
J下降时,是否每个样本的绝对残差都必须下降?
不必。优化降低的是平均目标;本步多数样本改善,后续接近最优时也可能在个别样本之间折中。
返回目录
这次我们不只记住一个经验学习率,而是从本例推导稳定范围。梯度等于七点五w减六点七五,也就是七点五乘w减零点九。把它代入更新式,再减去最优值零点九,就得到新参数误差等于旧误差乘一减七点五η。因此是否收敛,取决于这个乘数的绝对值是否小于一。解开不等式得到学习率必须在零和约零点二六六七之间。零点一对应乘数零点二五,误差同向缩小;零点二五对应负零点八七五,参数会在最优点两侧交替,但距离仍然缩小。震荡不一定是发散,要看幅度是否越来越大。
【教师操作】在板书上比较η=.1和.25的递推因子;若打开“损失曲线与切线”页签,可选择相同两个步长核验。第一个四点页签固定η=.1,没有步长输入。
【提问】η=.25时参数跨过最优点,是否说明算法一定失败?
【答案与核验】不是。误差乘数为−.875,符号交替但绝对值缩小,所以仍收敛,只是比本例η=.1的误差衰减慢。
η=.25时参数跨过最优点,是否说明算法一定失败?
不是。误差乘数为−.875,符号交替但幅度每步乘.875,仍然收敛。
返回目录
把学习率改成零点三,初始梯度仍然是负六点七五,但第一步参数变成二点零二五,越过最优点很远。此时目标约为四点八三,比初始三点一二五更大。下一步又会跳到负零点五零六二五,来回摆动的幅度不断增大。原因不是目标有坏的局部最小值,目标仍然是一个简单的凸抛物线;问题在于误差递推乘数变成负一点二五,绝对值大于一。这个例子把三个概念分开:梯度方向、步长大小和目标几何。模型正确、导数正确,也可能因为学习率选择不当而无法训练。
【教师操作】保持同一J曲线坐标范围并显示越界箭头,依次标三次w。请学生先用递推因子预判发散,再核对第一步J,避免只凭视觉下结论。
【提问】为什么不能把0.2667当作所有梯度下降问题的步长上界?
【答案与核验】它由本例曲率7.5决定;换特征、归一化或损失,最大曲率会改变,稳定范围也随之变化。
为什么不能把0.2667当作所有梯度下降问题的步长上界?
它由本例曲率7.5决定;换特征、归一化或损失,最大曲率会改变,稳定范围也随之变化。
返回目录
现在打开配套推导交互实验室,让手算过程与界面逐项对应。先进入“四点梯度更新”,点击“重置本实验”,确认初始w为零、学习率固定零点一。这个页签不提供初始参数和步长输入。使用“下一步”依次看输入、预测、误差、各点梯度、平均梯度与参数更新;学生计算时可点“隐藏本步答案”,再揭示核对。第一轮平均梯度应为负六点七五,新参数为零点六七五,继续进入第二轮应得到零点八四三七五。
【教师操作】需要看J、切线或改变步长时,切到“损失曲线与切线”。该页w滑块范围为−.5至2.3,步长可选.1、.25、.3;按下一步更新,上一步回退。先观察.1收敛,再比较.25交替收敛与.3交替发散。自动播放前确认当前页签,结束后重置。
【提问】第二次η=.1更新后的w是多少?
【答案与核验】g(.675)=−1.6875,所以w₂=.84375。若界面不同,先检查页签、步数和当前状态;J*=.0875在损失曲线页查看。
第二次η=.1更新后的w是多少?
g(.675)=−1.6875,所以w₂=.84375;若界面不同,应先检查初值、步长、是否多执行一步及是否含截距。
x = np.array([1., 2., 3., 4.])
y = np.array([1., 2., 2., 4.])
w, eta = 0., .1
for step in range(5):
e = w*x - y
J = np.mean(e*e)/2
g = np.mean(e*x)
print(step, w, J, g)
w -= eta*g返回目录
请独立完成一次更新,起点不再是零,而是刚才得到的零点六七五。不要只写最终w,至少列出预测误差、各样本梯度贡献以及平均梯度。给大家一分钟,再与同桌交换检查:残差方向有没有换,梯度有没有忘记乘x,平均有没有重复除以二。正确平均梯度是负一点六八七五,学习率零点一得到新参数零点八四三七五。重新代入损失,新J约为零点零九九三六五,已经接近最优目标零点零八七五。这个结果仍然不是零,说明四个带误差的点不能被一条过原点直线同时精确拟合。
【教师操作】本页完整静态显示;先让学生纸上计算,再用指示笔逐行核对。请学生先不阅读答案,在纸上独立计算,限时独立计算;同桌只检查步骤,不直接报数。最后逐行核对结果,并让一位学生解释为何正负残差会同时存在。
【提问】如果有人得到w⁺=1.35,最可能先检查什么?
【答案与核验】先检查是否遗漏平均或使用错误起点、重复累计梯度;按g=7.5w−6.75直接复核,可快速定位算术错误。
如果有人得到w⁺=1.35,最可能先检查什么?
先检查是否遗漏平均或使用错误起点、重复累计梯度;按g=7.5w−6.75直接复核,可快速定位算术错误。
返回目录
只有一个输入时,我们学习一条斜率;实际任务通常有多个可用变量。例如预测骑行时间,可以同时考虑距离和坡度,模型把不同特征乘以各自系数,再加一个截距。每个样本有自己的距离与坡度,但所有样本共享同一组系数。参数个数取决于我们选择了多少种特征,样本个数则决定获得多少条约束,这两者不能混同。加入特征也要说明依据:距离反映路程,坡度可能改变速度;若希望表达长距离上坡额外耗时,可以加入交互项。可用信息必须在预测时已知,不能把骑行结束后才获得的实际用时或由它计算的量作为输入。
【教师操作】用距离、坡度两个输入框连接到乘法节点,再汇入加法节点。让学生指出参数框与数据框,保留一个“事后信息”反例并画叉。
【提问】距离乘坡度可以作为一个特征吗?加入它是否仍对参数线性?
【答案与核验】可以;如果系数仍以线性组合出现,模型仍对参数线性。是否保留交互特征要看任务依据与独立验证。
距离乘坡度可以作为一个特征吗?加入它是否仍对参数线性?
可以;如果系数仍以线性组合出现,模型仍对参数线性。是否保留交互特征要看任务依据与独立验证。
返回目录
为避免每次单独写截距,我们在特征向量的第一维放一个常数一。对应参数的第一维就是截距,后面依次是各个特征系数。这样一个内积就能同时完成截距与加权特征的求和。若原始输入有p个数值特征,加入截距以后维度d等于p加一。请注意,向量默认写成列向量,因此单样本预测需要把特征转置成一行,再乘参数列。这个转置不是装饰,它保证运算维度是一乘d再乘d乘一,最后得到标量。后面所有样本都会使用同一参数列,只是换不同的特征行。
【教师操作】在一个竖直向量中依次放1、距离、坡度,并与参数b、w₁、w₂逐项连线相乘,再求和。圈出第一项1×b,说明截距没有被遗漏。
【提问】原始输入有3个特征并使用截距,参数有几维?
【答案与核验】共有4维。第一维控制整体平移,其余3维对应输入特征;单样本内积结果仍然是一个数。
原始输入有3个特征并使用截距,参数有几维?
共有4维。第一维控制整体平移,其余3维对应输入特征;单样本内积结果仍然是一个数。
返回目录
现在回到原来的四个点,但为了展示完整设计矩阵,我们加入截距。此组示范参数取b为零点五、斜率a为零点八,和前面的无截距梯度手算不是同一个初始设置,请先在纸上标明。第一个样本输入为一,所以它的特征行是常数一与输入一。和参数列相乘,得到一乘零点五加一乘零点八,预测为一点三。观测仍然是一,因此这个样本被轻微高估。我们先只写一行,是为了看清矩阵中的每个数字来自哪里,再将其余三个样本按同样规则堆叠起来。
【教师操作】只指向设计矩阵第一行[1,1]与参数列[.5,.8]。用箭头标1×.5与1×.8,再相加。页角标“矩阵示范:含截距”,避免与前面w=.675混用。
【提问】第一行中的两个1意义相同吗?
【答案与核验】数值相同,作用不同:第一个是截距特征,第二个是第一个样本的输入值;第二个样本这一行将是[1,2]。
第一行中的两个1意义相同吗?
数值相同,作用不同:第一个是截距特征,第二个是第一个样本的输入值;第二个样本这一行将是[1,2]。
返回目录
按照第一行的规则,第二个样本写成一、二,第三个写成一、三,第四个写成一、四。把四行堆起来就得到设计矩阵Φ。第一列始终是常数一,第二列是各样本输入。矩阵有四行两列,参数列有两行,分别对应截距与斜率。请看清矩阵每一列都对应一种特征,每一行都对应一个观测对象。增加一条新观测是在底部增加一行;加入平方特征是在右侧增加一列,并增加一个相应参数。观测y也按完全相同的样本顺序排列,若输入和标签排序不一致,矩阵维度可能合法,但模型学到的对应关系会错误。
【教师操作】保留上一帧第一行,依次指读第2至4行。用同色标记每行与y中的对应位置,再竖向圈住全1列,提醒学生不要漏掉截距。
【提问】交换Φ第二行与第三行,却不交换y,会不会一定出现维度报错?
【答案与核验】不会,形状仍然正确,但输入和观测配对已经错位;因此维度核对必要却并不充分。
交换Φ第二行与第三行,却不交换y,会不会一定出现维度报错?
不会,形状仍然正确,但输入和观测配对已经错位;因此维度核对必要却并不充分。
返回目录
矩阵乘法可以理解成把四次内积打包。第一行得到一点三,第二行得到二点一,第三行得到二点九,第四行得到三点七。这四个数构成预测向量,和观测向量形状相同,所以可以逐项相减。采用预测减观测得到误差e,是零点三、零点一、零点九和负零点三;残差r则全部反号。请注意第三个样本的观测是二,而不是三,因此预测二点九对应误差零点九。矩阵表达提升计算效率,却不会替我们检查数据含义。每个输出究竟由哪一行和哪一列算出来,仍应能够回到标量内积解释。
【教师操作】四个输出完整显示,依次指出一行与参数列对应的乘加。在“设计矩阵与内积”页签可直接点行1至4,使用b=.5、a=.8核对同样预测。
【提问】第二行预测2.1对应的残差与预测误差分别是什么?
【答案与核验】观测为2,因此r=−.1,e=.1;两者互为相反数。若得到其他值,检查是否错用了第三个样本。
第二行预测2.1对应的残差与预测误差分别是什么?
观测为2,因此r=−.1,e=.1;两者互为相反数。若得到其他值,检查是否错用了第三个样本。
返回目录
现在把具体的四行两列推广到N行d列。设计矩阵乘参数得到N维预测,预测与标签相减得到N维误差,再由Φ转置乘误差,回到d维参数空间。这个来回的维度关系提前告诉我们梯度应该长什么样。实现时还要注意数组的具体形状:数学上的列向量可能在NumPy中存成形状为N的一维数组,也可能是N乘一的二维数组,两种写法都能正确使用,但不应混在一起。特别是一维预测减二维标签时,广播可能生成N乘N的矩阵,而程序不一定报错。因此核对不仅是看乘法能运行,还要检查运行后每个中间数组的形状与语义。
【教师操作】在黑板上写N=4、d=2,逐个把一般维度替成具体数字。让学生对预测、误差和梯度分别报出形状,再说明一个错误广播例子。
【提问】4维一维数组减4×1数组,可能得到什么形状?
【答案与核验】可能广播成4×4,这不是逐样本误差。应统一标签与预测形状,并对关键中间量做shape核对。
4维一维数组减4×1数组,可能得到什么形状?
可能广播成4×4,这不是逐样本误差。应统一标签与预测形状,并对关键中间量做shape核对。
返回目录
回忆四点平方损失,我们做的是把每个预测误差平方,再对样本求和。一个列向量e转置后乘以自身,正好完成这件事,所以平方和可以写成e转置e,也可以写成e的欧氏范数平方。再除以二N,就得到矩阵形式的J。请按顺序读:先用Φw得到全部预测,再减y形成误差向量,最后把误差向量映为一个标量。这种写法把任意样本数与任意特征数放进统一公式,但没有改变损失的意义。后面的求导也可以回到标量分量核验,不能因为用了矩阵符号就忽略转置、维度和平均方式。
【教师操作】左表采用b=.5、a=.8,误差e=(.3,.1,.9,−.3),并列出e×1与e×x贡献。先指读e列,再沿右侧eᵀe与J核对;板书平方和为1,故J=1/8=.125。底部(.25,.5)是梯度,不是损失;本页没有额外的误差向量动画。
【提问】若误写eeᵀ,结果和eᵀe相同吗?
【答案与核验】不同。eeᵀ是N×N外积矩阵,eᵀe是标量平方和;本页目标需要后者。
若误写eeᵀ,结果和eᵀe相同吗?
不同。eeᵀ是N×N外积矩阵,eᵀe是标量平方和;本页目标需要后者。
返回目录
对矩阵表达求导,先使用微分。因为输入矩阵和标签固定,w变化一点dw时,误差变化就是Φ乘dw。对e转置e应用乘积规则,会出现两项:de转置乘e,加e转置乘de。不要直接省掉其中一项,我们先观察它们都是标量,而且互为转置,因此数值相同。两项相加使分子出现二,与前面的二分之一抵消,于是dJ等于e转置Φdw,再除以N。到这里已经把所有与dw有关的部分放在最右侧,下一页只需按梯度定义识别它前面的系数。这个推导与单样本链式法则完全一致,只是一次处理所有样本。
【教师操作】沿右侧四行完整推导依次指读,教师在板书中给dw加框,说明这里的d表示微分操作。两项相等的理由是标量转置不变,不是交换矩阵顺序。
【提问】为什么(de)ᵀe可以换成eᵀde?
【答案与核验】二者都是1×1标量,且互为转置;实数标量转置等于自身。若它们不是标量,不能随意交换矩阵顺序。
为什么(de)ᵀe可以换成eᵀde?
二者都是1×1标量,且互为转置;实数标量转置等于自身。若它们不是标量,不能随意交换矩阵顺序。
返回目录
梯度的定义告诉我们,微分dJ等于梯度转置乘dw。把它与上一页得到的e转置Φdw除以N比较,就知道梯度转置是e转置Φ除以N,再转置便得到Φ转置e除以N。它的维度是d,与参数一致。按第j个分量展开,就是把每个样本误差乘对应的第j个特征,再求平均。这正是单斜率时误差乘x的推广。若第一列全是一,截距梯度就是误差平均值。对于前面的含截距示范,e为零点三、零点一、零点九、负零点三,截距梯度为零点二五,斜率梯度为零点五。
【教师操作】对照右侧dJ表达与梯度定义,用指示笔指出转置位置。左侧是b=.5、a=.8时的误差贡献表:e×1求和为1,e×x求和为2,各除以N=4得到梯度(.25,.5),与表下标注核验。
【提问】示范参数b=.5、a=.8时,两维梯度分别是多少?
【答案与核验】截距项为(.3+.1+.9−.3)/4=.25;斜率项为(.3+.2+2.7−1.2)/4=.5。
示范参数b=.5、a=.8时,两维梯度分别是多少?
截距项为(.3+.1+.9−.3)/4=.25;斜率项为(.3+.2+2.7−1.2)/4=.5。
返回目录
对梯度再求一次导数,得到Hessian矩阵Φ转置Φ除以N。判断它是否半正定,不必背结论,可以任取方向v,计算v转置H v,化简为Φv的平方范数除以N,总是非负。于是目标在任何方向上都不会出现向下弯曲,平方损失是凸函数。如果Φ列满秩,非零v不会使Φv为零,二次型严格为正,最优参数唯一。若某些特征列冗余,就可能有非零方向v满足Φv等于零,沿这个方向改参数不改变训练预测,损失也不变。请再次区分:凸性排除较差的局部极小值,但不能替代适当的学习率,前面的发散反例仍然成立。
【教师操作】幻灯片左侧只有一维凸二次曲线,用它说明最小点;若要解释秩亏,在黑板另画一个具有平坦方向的槽形示意。不要指称幻灯片上已有两个曲面。右侧二次型公式承担一般高维证明。
【提问】H半正定是否足以保证参数解唯一?
【答案与核验】不够。还需严格正定等条件;设计矩阵满列秩时,最小二乘目标严格凸,参数才唯一。
H半正定是否足以保证参数解唯一?
不够。还需严格正定等条件;设计矩阵满列秩时,最小二乘目标严格凸,参数才唯一。
返回目录
在可微凸目标的最优点,梯度为零。把前面推导的矩阵梯度代入,乘去N并移项,就得到正规方程Φ转置Φ乘最优参数,等于Φ转置y。它将最小化问题转成一个线性方程组。如果Φ列满秩,左侧系数矩阵可逆,就能写出常见的逆矩阵表达。这里先强调条件,再写公式;如果特征列相关,不能直接套用逆矩阵。即使公式存在,实现时也通常不应先形成逆再相乘,而是选择合适的线性代数求解器。正规方程最重要的价值,是说明最优参数必须满足什么关系,并为几何解释与正则化推导提供起点。
【教师操作】沿右侧零梯度、移项与求解三行指读,同时指出满列秩条件。左侧一维损失曲线用于回顾最低点,不代表含截距模型的完整二维损失曲面。
【提问】梯度为零只是必要条件,为什么这里也足够?
【答案与核验】因为当前平方损失对固定特征是凸函数;在一般非凸问题中,梯度为零还可能对应鞍点或局部极值。
梯度为零只是必要条件,为什么这里也足够?
因为当前平方损失对固定特征是凸函数;在一般非凸问题中,梯度为零还可能对应鞍点或局部极值。
返回目录
回到最初不含截距的四点模型,设计矩阵只有一列x,所以正规方程变成各输入平方和乘w,等于输入与观测乘积之和。左边系数是一加四加九加十六,等于三十;右边是一加四加六加十六,等于二十七,因此最优斜率为零点九。代入后预测为零点九、一点八、二点七、三点六,残差为零点一、零点二、负零点七和零点四。残差平方和为零点七,除以八得到最优J零点零八七五。它与配方法的最低点、适当步长下梯度下降的极限一致。三条推导互相支持,因为它们使用同一模型与同一目标。
【教师操作】明确本页回到无截距四点模型。用右侧分子分母计算w=.9,再核对残差与J;左图展示目标最低点。本页没有四点散点图,需要看拟合线时回到浏览器或前面的数据图。
【提问】最优损失不是零,是否说明求解器不够精确?
【答案与核验】不一定。本例四点不能同时落在一条过原点直线上,最优平方和为.7;这是模型与数据的折中,不是优化未完成。
最优损失不是零,是否说明求解器不够精确?
不一定。本例四点不能同时落在一条过原点直线上,最优平方和为.7;这是模型与数据的折中,不是优化未完成。
返回目录
为了直接画清投影,我们在这一页另用一个独立的两样本例。设计矩阵只有一列,两个输入是一和二,观测向量则是二和一,模型不含截距。这个图的横坐标表示第一个样本的分量,纵坐标表示第二个样本的分量,并不是输入x与输出y的普通散点图。参数变化时,预测向量始终等于w乘一、二,所以全部可行预测落在通过原点、方向为一比二的直线上。最小二乘要求在这条直线上找离观测向量最近的点。正规方程给出w等于四除五,也就是零点八,预测向量为零点八、一点六。
【教师操作】先明确这是独立两样本例,与前面的四点算例分开;指向原点、Φ方向直线、观测点(2,1)和预测点(.8,1.6),最后指残差连线。
【提问】为什么所有可能预测只能沿同一条直线移动?
【答案与核验】因为只有一个参数,ŷ=wΦ;改变w只能缩放固定方向Φ。样本数决定观测空间二维,特征秩决定预测子空间一维。
为什么所有可能预测只能沿同一条直线移动?
因为ŷ=wΦ且Φ固定,改变单个参数w只能缩放方向(1,2);这是二维观测空间中的一维列空间。
返回目录
沿用上一页的两样本例,观测向量二、一减预测零点八、一点六,得到残差一点二、负零点六。它并没有消失,但与特征方向一、二的内积为一点二减一点二,恰好等于零。这就是图上残差与预测子空间垂直的代数表达。若残差还包含沿特征方向的分量,我们就可以通过调整w进一步靠近观测,因此最优时这一分量必须为零。还要区别两个常被混淆的条件:本例残差和等于零点六,并非零,因为模型没有截距;如果设计矩阵含常数一列,且使用无正则最小二乘,残差与这一列正交才会导出残差和为零。
【教师操作】在左图指出蓝色子空间方向与红色残差线段的垂直关系,图中没有单独直角方块。教师板书两个乘积1×1.2与2×(−.6),再单独计算残差和.6,强调两者不同。
【提问】残差与当前特征正交,是否说明它与所有输入函数都无关?
【答案与核验】不说明。只对已有列空间成立;加入新特征会改变可行预测空间,而是否改善泛化仍需独立验证。
残差与当前特征正交,是否说明它与所有输入函数都无关?
不说明,只与当前列空间正交。本例Φᵀr=0但Σr=.6;含截距时才由常数列正交导出残差和为零。
返回目录
设我们给模型两列特征,一列是x,另一列始终是二倍x。表面上参数从一个变成两个,但实际上预测只依赖a加二b这个组合。参数零点九、零与零点一、零点四都会产生零点九x,训练数据无法区分它们。这就是设计矩阵秩亏:特征列有冗余,某些参数变化会互相抵消,使预测完全不变。最小二乘的最佳训练预测向量仍然是唯一的投影,但对应参数不一定唯一。伪逆可以按照最小参数范数等规则挑一个代表解,这是一种选择规则,不意味着数据突然提供了区分冗余系数的信息。
【教师操作】先指读右侧两组参数产生相同预测的等式,再由教师在黑板补画x与2x同向箭头。本页左侧是三条结论,未绘参数平面。板书v=(−2,1),直接核对Φv=0。
【提问】如果把a减少0.2、b增加0.1,预测改变吗?
【答案与核验】不改变,因为a+2b的变化为−.2+2×.1=0;这是一个零空间方向,沿它移动无法由训练预测辨别。
如果把a减少0.2、b增加0.1,预测改变吗?
不改变,因为a+2b的变化为−.2+2×.1=0;这是一个零空间方向,沿它移动无法由训练预测辨别。
返回目录
从代数上写出逆矩阵公式,不等于计算机应该先把逆矩阵算出来。特征列接近相关时,设计矩阵可能病态,形成Φ转置Φ会使二范数条件数平方,舍入误差更容易被放大。QR或SVD可以直接针对原始最小二乘问题求解,通常更可靠。NumPy的最小二乘接口不仅返回参数,还能返回矩阵秩与奇异值,帮助我们检查哪些方向缺乏信息。秩亏与病态也有区别:前者存在完全冗余方向,后者可能只是非常接近冗余。无论哪种情形,都不能只看到一串系数就给出过强的变量重要性解释,预测与系数需要分别检查。
【教师操作】逐行读代码,明确返回值rank与singular的意义。用前页两列x、2x的例子让学生预测rank为1,再说明近似重复列会产生很小的奇异值。
【提问】最小二乘函数成功返回参数,是否保证每个系数都有稳定科学解释?
【答案与核验】不能。若列高度相关,参数可能对微小扰动敏感;应查看秩、奇异值与稳定性,并结合领域知识。
最小二乘函数成功返回参数,是否保证每个系数都有稳定科学解释?
不能。若列高度相关,参数可能对微小扰动敏感;应查看秩、奇异值与稳定性,并结合领域知识。
w, rss, rank, singular = np.linalg.lstsq(
Phi, y, rcond=None)
yhat = Phi @ w
print("rank:", rank)
print("singular values:", singular)
print("MSE:", np.mean((yhat-y)**2))返回目录
如果一个特征按米计,另一个按微秒计,数值尺度可能相差很大。对它们直接做梯度下降,会让损失曲面在不同方向弯曲程度不同,步长难以兼顾。标准化把特征减去训练均值,再除以训练标准差,使尺度更接近,通常有助于优化,也让系数惩罚更可比较。但它没有增加数据,也不会自动消除共线性或保证泛化改善。均值与标准差同样是从数据学出的量,必须只在训练部分估计,再原样用于验证和测试。截距对应的常数一不能按普通特征除以零标准差;零方差特征要明确移除或安全处理。
【教师操作】右侧展示标准化公式,左侧列出三项注意。教师可在板书补画训练集估计μ、s,再把同一变换应用到验证和测试的流程;常数截距列保持1,不经过除零标准差。
【提问】在测试集上重新计算自己的均值和标准差,是否与训练规则一致?
【答案与核验】不一致,会改变模型看到的坐标系;一般应使用训练时保存的统计量,除非任务协议明确采用其他已验证方法。
在测试集上重新计算自己的均值和标准差,是否与训练规则一致?
不一致,会改变模型看到的坐标系;一般应使用训练时保存的统计量,除非任务协议明确采用其他已验证方法。
返回目录
打开推导交互实验室中的设计矩阵与内积页签,保持默认截距零点五、斜率零点八。点选第一至第四行,逐行观察特征行如何与参数列相乘,确认四个预测分别为一点三、二点一、二点九和三点七。再查看误差e与残差r互为相反数。随后对照左侧NumPy代码:第一行创建输入,第二行拼接常数列,矩阵乘法一次得到全部预测,梯度则把误差按特征列汇总回参数空间。这里不需要把每行代码当成新的知识点,它们对应的数学对象已经逐页建立。若结果不同,先检查数据、参数顺序和是否含截距,而不是立即修改学习率。
【教师操作】使用“设计矩阵与内积”页签直接点行1至4,修改b或斜率后观察全部输出联动。恢复默认值,执行代码并核验Phi形状(4,2)、预测形状(4,)及梯度(.25,.5)。
【提问】将b增加0.1,所有预测与截距梯度怎样改变?
【答案与核验】全部预测增加0.1,所以平均预测误差即截距梯度也增加0.1;斜率梯度增加0.1×mean(x)=0.25。
将b增加0.1,所有预测与截距梯度怎样改变?
全部预测增加0.1,所以平均预测误差即截距梯度也增加0.1;斜率梯度增加0.1×mean(x)=0.25。
x = np.array([1., 2., 3., 4.]) y = np.array([1., 2., 2., 4.]) Phi = np.c_[np.ones(4), x] w = np.array([.5, .8]) pred = Phi @ w e = pred - y grad = Phi.T @ e / len(y) print(Phi.shape, pred, grad)返回目录

我们已经能计算残差,但不要立即把它称为真实噪声。生成模型把观测分成真实规律f星加随机扰动ε,条件均值为零是对扰动的一个假设。拟合之后,我们用估计函数f帽预测,残差等于观测减这个估计,因此还包含真实函数与估计函数之间的差别。只有在相应条件下,两者才可能接近。残差图如果出现系统弯曲,可能不是噪声忽然有了规律,而是我们选择的特征遗漏了真实结构;若不同区域波动大小不同,常方差假设也值得检查。区分这两个层次,是接下来从概率模型解释平方损失的前提。
【教师操作】指读右侧r=ε+(f*−f̂)的分解;教师板书可用两段条形区分噪声与拟合误差。左图只是下一节采用的高斯噪声示意,不表示任意零均值噪声都必然服从高斯。
【提问】总体平均噪声为零,是否等价于每个输入条件下平均噪声都为零?
【答案与核验】不等价。不同输入区域的正负偏移可能在总体抵消;E[ε|x]=0是更强、且与条件均值解释有关的假设。
总体平均噪声为零,是否等价于每个输入条件下平均噪声都为零?
不等价。不同输入区域的正负偏移可能在总体抵消;E[ε|x]=0是更强、且与条件均值解释有关的假设。
返回目录
现在加入一个明确概率假设:给定输入和参数以后,观测围绕预测均值呈高斯分布,方差σ平方先视为已知或固定的正数。密度公式中最关键的部分,是负残差平方除以二倍方差出现在指数里。预测离观测越远,真实观测处的密度越低,因此提高观测的似然会推动模型减小平方残差。要特别区分密度与概率:连续变量恰好等于某一个点的概率为零,公式给的是密度值,它可以大于一;某个区间的概率需要对密度积分。我们后面的取对数操作针对密度,不应把它误讲成每个点具有某个离散概率。
【教师操作】左图画的是标准化噪声ε/σ的密度,中心0对应观测模型的预测均值;图上没有观测竖线。若需解释具体观测处的密度,由教师在板书标一个标准化残差位置,再与右侧指数中的r²对应。
【提问】高斯密度值能超过1吗?是否违反概率不超过1?
【答案与核验】可以,密度不是区间概率;曲线在整个实数轴下的面积为1,概率通过积分获得。
高斯密度值能超过1吗?是否违反概率不超过1?
可以,密度不是区间概率;曲线在整个实数轴下的面积为1,概率通过积分获得。
返回目录
单个高斯密度描述一个观测,现在考虑全部样本。如果给定输入与参数以后采用样本条件独立假设,联合密度就是各样本密度的乘积。把高斯表达代入,共同的常数因子累积为负N除以二次方,指数相乘则把残差平方相加。于是全部数据对参数的支持,被汇总到同一个残差平方和里。似然与概率密度使用同一个表达式,但看问题的方向不同:在似然中数据已经观测到并固定,我们比较不同参数值能够给这些数据多大的密度。似然本身不是参数的概率分布,不能直接把L(w)解释为w出现的概率。
【教师操作】指读右侧联合似然的乘积与合并式。四个高斯因子共享w的箭头图由教师在板书补画,幻灯片左侧仍是标准化单样本噪声曲线,不是联合似然随w变化的曲线。
【提问】若同一设备的相邻观测明显相关,直接乘独立密度是否自动合理?
【答案与核验】不自动合理。需要检查条件独立假设,必要时建模相关结构;似然推导依赖所采用的观测模型。
若同一设备的相邻观测明显相关,直接乘独立密度是否自动合理?
不自动合理。需要检查条件独立假设,必要时建模相关结构;似然推导依赖所采用的观测模型。
返回目录
乘很多密度不便于计算,也容易出现非常小的数。对数是严格单调函数,所以最大化似然与最大化对数似然具有相同的最优参数;再加一个负号,就变成我们熟悉的最小化。把上页的联合表达取负对数,得到N除以二乘log二πσ平方,再加残差平方和除以二σ平方。当σ平方固定而只优化w时,第一项与w无关,第二项前面的系数是正常数,因此最优参数由残差平方和决定。删除常数必须说明相对于谁是常数。如果同时估计方差,就不能把包含σ平方的项全部随意扔掉。
【教师操作】指读右侧负对数的两项,教师在板书圈出固定σ²时与w无关的第一项。左图仍为标准化噪声密度,不能把它解释成负对数目标的图像;当前新增结论是右侧蓝色条件句。
【提问】把σ²也作为待估参数时,N/2·log(2πσ²)还能删除吗?
【答案与核验】不能,它随σ²改变。只有在固定方差、优化w的条件下,它才是可忽略的常数项。
把σ²也作为待估参数时,N/2·log(2πσ²)还能删除吗?
不能,它随σ²改变。只有在固定方差、优化w的条件下,它才是可忽略的常数项。
返回目录
现在把推导的条件收拢。若条件均值由线性模型给出,样本采用条件独立高斯观测模型,且共享固定正方差,那么最大似然参数与最小二乘参数相同。注意说的是最优参数相同,不是本课J在数值上必然等于原始负对数似然;两者可能相差常数项和正比例因子。反过来,选择平方损失作为误差标准,并不要求事先证明数据严格服从高斯。算法定义和概率解释是两个层次。若不同样本的噪声方差已知且不同,负对数似然会对残差平方乘不同权重,导出加权最小二乘,而不是继续无条件使用同一平均。
【教师操作】按表逐条核对假设与它在推导中的作用。让学生用一句话把结论说完整,要求句首包含“在这些假设下”,再说明不满足时仍可怎样评价平方损失。
【提问】使用最小二乘就证明误差服从高斯了吗?
【答案与核验】没有。高斯是假设或需检验的模型选择,不是算法运行成功后的必然结论;残差诊断与独立评价仍然需要。
使用最小二乘就证明误差服从高斯了吗?
没有。高斯是假设或需检验的模型选择,不是算法运行成功后的必然结论;残差诊断与独立评价仍然需要。
返回目录
平方损失会强烈放大大残差,这在希望重罚极端偏差时合理,但也会让异常观测对拟合产生很大影响。绝对损失随残差大小线性增长,Huber则在小残差处保留平方形式,在超过阈值δ以后改成线性增长,提供一种折中。图中显示平方与Huber两条曲线,绝对损失只在公式中给出。请比较两条曲线远离零时的增长,再通过公式理解绝对损失。选择损失还应考虑单位、误差分布与任务代价;Huber阈值必须结合响应尺度选择。发现异常点时,先检查录入或测量错误,也可能它是真实罕见事件,不能为了让指标变好就自动删掉。稳健损失降低影响,却不能代替数据质量调查。
【教师操作】图中只有平方损失与δ=1的Huber两条曲线;绝对损失仅在右侧公式中列出。指向r=3处,板书计算平方损失4.5、Huber2.5,再补算绝对损失3;不要指称图上已有第三条曲线。
【提问】δ=1、残差r=3时,Huber损失是多少?
【答案与核验】为1×(3−.5)=2.5;平方损失为4.5。两者数值标准不同,不能直接以损失更小判断模型更好。
δ=1、残差r=3时,Huber损失是多少?
为1×(3−.5)=2.5;平方损失为4.5。两者数值标准不同,不能直接以损失更小判断模型更好。
返回目录
我们此前使用截距与一次项,现在把x平方加入特征向量,就允许模型拟合二次曲线。曲线对输入x不再是一条直线,但对参数w仍然是线性组合,因此设计矩阵、平方损失、矩阵梯度和最小二乘求解方法都可以保留。变化的是设计矩阵多了一列,模型可以表达的函数范围扩大了。请分清这与增加训练轮数的差别:更多迭代只是在原有模型中寻找更好的参数,新增特征则让原来无法表示的曲率成为可能。表达范围扩大通常能降低最小训练误差,但也会引入更多需要由有限数据估计的自由度,是否值得保留必须接受独立验证。
【教师操作】同一坐标系显示1+x与1+x+x²两条示意函数,本页没有观测散点。比较函数形状,再指右侧φ新增x²分量;这些固定系数用于说明表达能力,不是对某组数据拟合出的实验结果。
【提问】模型w₀+w₁x+w₂x²属于线性回归吗?
【答案与核验】属于,因为它对参数线性。若参数进入exp(w₁x)等非线性位置,就不再是同一个线性最小二乘问题。
模型w₀+w₁x+w₂x²属于线性回归吗?
属于,因为它对参数线性。若参数进入exp(w₁x)等非线性位置,就不再是同一个线性最小二乘问题。
返回目录
请先看横轴为多项式次数、纵轴为log₁₀(MSE)的训练与验证结果。蓝色训练误差随次数增加继续下降,但红色验证误差从一次到五次下降,再到十五次时急剧增大。这里仅测试了三个次数,连线帮助观察趋势,不表示已经测遍中间次数。验证MSE分别约为.2929、.0762和11994.1828,纵轴对数变换使跨度很大的数值可以同图显示;纵坐标0表示MSE等于1,而非误差为零。有限数据中的噪声可能被灵活模型当成规律,高次特征也可能放大数值病态。偏差与估计方差提供解释框架,但这一次划分不能单独测出两者,也不能证明所有任务都应选择五次。
【教师操作】图的横轴是次数1、5、15,纵轴是log₁₀(MSE),不是原始MSE;蓝线为训练,红线为验证,连接线只帮助看趋势。依次读三个候选:训练继续下降,验证先降后大幅上升;本页没有三幅拟合图,函数形状留到浏览器综合实验查看。
【提问】训练与验证误差都很高,应直接判断为过拟合吗?
【答案与核验】不应。先检查特征不足、优化未收敛、噪声或数据问题;典型过拟合是训练好而独立验证明显较差。
训练与验证误差都很高,应直接判断为过拟合吗?
不应。先检查特征不足、优化未收敛、噪声或数据问题;典型过拟合是训练好而独立验证明显较差。
返回目录
从现在开始,我们不能只用四个点讨论是否泛化,而要建立真实实验的数据协议。训练集用于估计模型参数,也用于拟合均值、标准差、缺失值处理等预处理。验证集用于比较候选复杂度、正则强度或阈值。方案固定以后,测试集用于最后评价;如果反复看测试分数再修改模型,测试数据就逐渐参与了选择,最后的分数会乐观。数据划分还要符合任务结构:同一设备的近邻记录、同一个人的重复观测或时间序列,随机拆行可能把高度相似的信息分到两边。独立性与代表性决定测试结果能支持多大的外推结论。
【教师操作】按右侧训练、验证、冻结三行指读用途。教师在黑板补画预处理加模型的训练框及验证反馈箭头;测试只在冻结后评价,不回流调参。本页左侧三条注意为静态文字。
【提问】不使用测试标签,只用全部输入计算标准化统计量,就一定没有泄漏吗?
【答案与核验】仍让测试分布参与了训练处理。常规独立评价应只在训练部分拟合预处理,并把同一规则应用到其他部分。
不使用测试标签,只用全部输入计算标准化统计量,就一定没有泄漏吗?
仍让测试分布参与了训练处理。常规独立评价应只在训练部分拟合预处理,并把同一规则应用到其他部分。
返回目录
L2正则化把一个明确偏好写入目标:在拟合数据的同时,限制非截距系数过大。我们在平均平方损失后加λ除以二乘w转置D w,D的第一项为零,其余为一,因此不惩罚截距。这个约定保持整体平移的自由度,同时对特征系数做收缩。λ等于零回到普通最小二乘,λ增大时,模型更重视参数规模,但太大也可能让模型欠拟合。惩罚依赖特征尺度,同样的预测函数在不同单位下可能对应不同系数大小,所以通常先依据训练数据标准化,再选择正则强度。正则项是一种建模偏好,并不是自动保证测试误差下降的证明。
【教师操作】左图采用无截距单参数算例,蓝线是数据损失,棕线是λ=3时的惩罚,红线是总目标。右侧公式推广到含截距情形,D首项为0;教师板书展开D,不能把图中单参数w误认成未惩罚截距。
【提问】为什么同样λ不能不加检查地跨特征单位或软件接口比较?
【答案与核验】系数尺度与目标归一化会改变相对惩罚强度;必须核对标准化、平均方式和接口定义。
为什么同样λ不能不加检查地跨特征单位或软件接口比较?
系数尺度与目标归一化会改变相对惩罚强度;必须核对标准化、平均方式和接口定义。
返回目录
对新增正则项求导,D是对称对角矩阵,因此w转置D w的梯度为二Dw,再与二分之一抵消,得到λDw。把它加到原来的数据梯度上,就是岭回归的总梯度。截距位置因为D为零,不受到这项直接收缩。对于一个为正的非截距系数,正则梯度也为正,沿负梯度更新会把它向零拉;负系数则受到相反方向的拉力。这只是正则项的贡献,最终更新还要与数据梯度相加,系数不一定每一步都变小。实现时也不能把正则项再随意除以N,因为本课目标已经明确了两项的缩放方式。
【教师操作】对照右侧数据梯度与新增λDw。若解释正负系数怎样收缩,由教师在黑板画向零箭头;左图仍是λ=3的单参数目标分解,未画梯度箭头。
【提问】λDw是不是还要除以N?
【答案与核验】按本课目标不再除以N。若使用另一种目标缩放,必须整套对应改变,不能混合不同教材或库的约定。
λDw是不是还要除以N?
按本课目标不再除以N。若使用另一种目标缩放,必须整套对应改变,不能混合不同教材或库的约定。
返回目录
让岭目标的总梯度为零,先得到数据梯度除以N加λDw等于零。两侧一起乘N,正则项也变成NλDw,然后把含w的项合并,就得到岭正规方程。这里的N经常在实现中被漏掉,因为不同资料可能用平方和而不是平均损失;我们必须从目标定义开始核对。用最初无截距四点模型检验,输入平方和是三十,输入观测乘积和是二十七,所以带惩罚的斜率为二十七除以三十加四λ。λ为零时是零点九,λ为一时约零点七九四一,系数朝零收缩。训练拟合可能略差,但是否换来更好泛化要看独立验证。
【教师操作】逐行指读乘N与合并。右侧算例λ=1时w≈.7941;左图固定展示λ=3,所以红色总目标最低点约为27/42=.6429。明确这两种λ不同,均可由本页通式核验,不将图中最低点误报为.7941。
【提问】若误写成27/(30+λ),相对于本课定义意味着什么?
【答案与核验】相当于把正则强度减成原来的四分之一;只有采用对应的不同目标归一化时才可能合理。
若误写成27/(30+λ),相对于本课定义意味着什么?
相当于把正则强度减成原来的四分之一;只有采用对应的不同目标归一化时才可能合理。
返回目录
正规方程解释了岭回归的结构,但实际计算仍可以避开显式构造Φ转置Φ。我们在原设计矩阵下方堆叠平方根Nλ乘D,在标签后补上对应数量的零,得到一个增广最小二乘问题。展开它的残差平方,第一部分是原始数据误差,第二部分是Nλ乘w转置D w,因为这里D的对角元只有零和一,所以D转置D等于D。除以二N以后,恰好恢复本课岭目标。这个技巧让我们直接调用稳定的最小二乘求解器。若惩罚使用更一般的半正定矩阵,就应寻找R使R转置R等于D,不能机械地把任意D直接堆上去。
【教师操作】本页代码共五行。先解释第三行vstack如何堆叠训练矩阵与惩罚行,再解释第四行补零标签;底部给出分块记号。需要矩阵框图时由教师板书补画,不指称幻灯片已有上下分块示意图。
【提问】为什么代码堆叠的是√(Nλ)D而不是NλD?
【答案与核验】因为残差范数展开还会平方该系数;使用平方根才得到目标需要的Nλ,直接用Nλ会错误地再次平方。
为什么代码堆叠的是√(Nλ)D而不是NλD?
因为残差范数展开还会平方该系数;使用平方根才得到目标需要的Nλ,直接用Nλ会错误地再次平方。
D = np.eye(Phi.shape[1]) D[0, 0] = 0 A = np.vstack([Phi, np.sqrt(N*lam)*D]) b = np.r_[y, np.zeros(Phi.shape[1])] w = np.linalg.lstsq(A, b, rcond=None)[0]返回目录

L1正则化对非截距系数的绝对值求和,鼓励稀疏参数。但绝对值在零点不可微,不能简单把普通平滑梯度公式照搬过来。近端梯度分成两步:先针对可微的数据损失走一个梯度步得到v,再对非截距系数做软阈值。若绝对值小于阈值ηλ,就直接变成零;否则向零缩短ηλ。截距按本课约定不参与阈值。稀疏模型有时便于阅读,但零系数不代表该变量科学上没有作用,尤其高度相关的特征可能互相替代,数据稍变就选择另一个。解释性需要稳定性分析与领域判断。
【教师操作】图中软阈值采用ηλ=.5,蓝线在[−.5,.5]内为零,棕线表示不收缩。课堂口算另取ηλ=.1和v=(截距.2,.04,−.3),得到(.2,0,−.2)。先说明图与口算阈值不同,再核验截距不处理。
【提问】小系数.04经过阈值.1后为何不是−.06?
【答案与核验】软阈值先取max(|v|−阈值,0),所以变成0,不跨过零反向增长;−.3则收缩成−.2。
小系数.04经过阈值.1后为何不是−.06?
软阈值先取max(|v|−阈值,0),所以变成0,不跨过零反向增长;−.3则收缩成−.2。
返回目录
数据较少时,我们可以通过交叉验证让不同部分轮流承担验证角色。关键不只是轮换模型训练样本,所有从数据学出的处理也必须在每一折的训练部分重新拟合,包括标准化、缺失值填补和特征选择。若先用全部数据完成这些步骤,再做交叉验证,验证信息已经进入了训练流程。对每组候选配置汇总各折结果,选择时同时关注平均表现与波动;差距很小时,不应把某一次最低值当成确定优势。最终仍需要清楚说明测试数据是否保留,或者采用嵌套验证评估整个选择过程。时间序列和同一主体的数据还应使用符合部署目标的分折方式。
【教师操作】按右侧每折fit预处理、fit模型、验证评分的顺序指读。教师若需展示三折轮换,另在黑板画三块轮流验证,并在每个训练块内重复预处理;幻灯片本身不含轮换方格图。
【提问】交叉验证中哪一部分可以先在全部数据上拟合?
【答案与核验】涉及数据估计的预处理通常不能;每折应只用该折训练部分拟合。纯粹由规则预先定义且不学习数据统计量的变换需另行说明。
交叉验证中哪一部分可以先在全部数据上拟合?
涉及数据估计的预处理通常不能;每折应只用该折训练部分拟合。纯粹由规则预先定义且不学习数据统计量的变换需另行说明。
返回目录
打开岭回归与泛化页签,按训练候选、验证选择、冻结配置、最终测试四个阶段推进。首先请学生比较一次、五次和十五次无正则模型:训练误差能否单独决定选择?接着通过页面链接进入完整综合结果中的正则实验,固定十五次,把λ改为零点零一,观察拟合曲线、参数范数和验证MSE的变化。返回分步页后,在查看最终测试以前让学生写下选择理由。默认数据在十八个候选中选中五次、λ为零;这并不否定正则化,只说明当前数据和网格下这个配置验证最好。最后才揭示冻结模型的测试结果。
【教师操作】在“岭回归与泛化”页签使用“下一步”推进四阶段,学生作答时使用“隐藏本步答案”;调次数和λ时进入该页链接的完整综合实验,不能声称分步页自身有这些下拉框。
【提问】看完测试误差后发现另一个模型更好,能否立即回头更换并仍称为独立测试?
【答案与核验】不能,测试已参与选择。应保留选择记录并用新的独立数据评价;本次只能报告原先冻结方案的结果。
看完测试误差后发现另一个模型更好,能否立即回头更换并仍称为独立测试?
不能,测试已参与选择。应保留选择记录并用新的独立数据评价;本次只能报告原先冻结方案的结果。
返回目录
从连续预测转向分类,输入仍然先成为特征,也仍然计算线性组合z。但现在真实标签只有零和一,我们希望先输出正类的条件概率,再决定采取哪种动作。请把得分、概率和类别分开:得分可以为负或大于一,概率必须位于零和一之间,最终类别则由概率与阈值比较得到。同一个概率模型可以在不同成本约束下使用不同阈值,训练权重未变,决策却会变化。逻辑回归名称中有回归,今天处理的是二分类概率建模,不是把类别编号当成有数值距离的连续目标。首先定义正类含义,后面的混淆矩阵与成本才有解释。
【教师操作】依次指读右侧得分、概率和类别三行,再用左侧Sigmoid曲线说明映射。板书z=.7、p≈.668,分别比较τ=.5与.8的决策;本页没有独立的三个流程框。
【提问】把阈值从.5改成.8,模型输出概率会跟着改变吗?
【答案与核验】不会,固定权重下概率不变;这个样本的最终类别会由1变成0,说明决策层与概率层不同。
把阈值从.5改成.8,模型输出概率会跟着改变吗?
不会,固定权重下概率不变;这个样本的最终类别会由1变成0,说明决策层与概率层不同。
返回目录
Sigmoid把任意实数得分映到零与一之间,得分为零时概率为二分之一。它的反函数logit,是正类概率与负类概率之比的对数,因此逻辑回归可以说是在假设对数几率是特征的线性组合。Sigmoid单调,所以概率超过阈值等价于得分超过该阈值的logit。默认阈值零点五对应得分零,边界就是一条线性得分的零水平集。如果把所有参数乘正数,默认边界不变,但概率会更极端或更平缓,因此类别正确不代表概率可信。系数解释也要有条件:在其余特征固定时,它改变的是对数几率,而不是直接给概率加上同一个数。
【教师操作】左图仅显示σ(z)一条曲线。先指出中点与两端,再板书计算σ(.7)≈.668和σ(3.5)≈.971,用数值说明正缩放改变概率。不要指称本页已画σ(5z)虚线;陡峭程度可到后续专门页面比较。
【提问】z=.7时概率是.7吗?扩大五倍后默认类别改变吗?
【答案与核验】概率约.668;σ(3.5)约.971,默认类别仍为1,但概率尺度不同,交叉熵和校准可能改变。
z=.7时概率是.7吗?扩大五倍后默认类别改变吗?
概率约.668;σ(3.5)约.971,默认类别仍为1,但概率尺度不同,交叉熵和校准可能改变。
返回目录
对于只有零和一两种标签的样本,Bernoulli模型可以把真实标签出现的概率统一写成p的y次方,乘以一减p的一减y次方。如果y等于一,第二个因子变成一,表达式只留下p;如果y等于零,第一个因子变成一,只留下负类概率一减p。请实际代入两次,不要把指数形式当作需要背诵的符号技巧。这里y来自已观察标签,p来自当前参数。训练希望真实标签在当前模型下得到更高概率,但这不代表每个有限数据标签都应被赋予百分之百置信度,后续正则化和独立评价仍然重要。
【教师操作】左右各放一个标签分支,把y=1和y=0代回统一公式。用p=.8核对真实正类概率.8、真实负类概率.2,避免把标签值当成概率值。
【提问】若p=.8而真实标签为0,该样本的似然贡献是多少?
【答案与核验】是1−p=.2,不是.8;模型给错误类别较高概率,因此后续负对数损失会更大。
若p=.8而真实标签为0,该样本的似然贡献是多少?
是1−p=.2,不是.8;模型给错误类别较高概率,因此后续负对数损失会更大。
返回目录
在采用样本条件独立的模型下,把各个Bernoulli概率相乘得到联合似然。取负对数以后,乘积变为求和,指数变成前面的系数,于是单样本损失是负y log p,再减一减y乘log一减p。对全部样本求平均,就得到二元交叉熵BCE。真实标签为一时,它只保留负log p:概率从零点五提高到零点九,损失从约零点六九三下降到零点一零五;如果真实标签为零,同样的概率变化反而使损失增大。交叉熵保留概率信息,零一准确率只看阈值后的类别,因此两个模型准确率相同,交叉熵仍可能差很多。
【教师操作】保留前页Bernoulli表达,指读乘积、负对数、平均三个步骤。用真实y=1和y=0分别检查符号,明确对数使用自然对数。
【提问】真实y=1而p=.01,损失为什么很大?
【答案与核验】损失为−log(.01)≈4.605,模型对真实类只分配很小概率;这是对自信错误的强惩罚,不是数值程序必然出错。
真实y=1而p=.01,损失为什么很大?
损失为−log(.01)≈4.605,模型对真实类只分配很小概率;这是对自信错误的强惩罚,不是数值程序必然出错。
返回目录
这页把逻辑回归的链式法则完整展开。先对概率p求导,BCE的导数是负y除以p,加一减y除以一减p,合并得到p减y除以p乘一减p。再乘上Sigmoid对得分的导数p乘一减p,两部分正好抵消,留下p减y。这是对得分z的导数,还要乘z对参数的导数φ,才得到单样本参数梯度。把所有样本平均,矩阵形式是Φ转置乘p减y除以N。请区分两种相似结构:线性回归使用连续预测减观测,逻辑回归使用概率减标签。它们都由模型和损失的配合推导出来,不是随意套用的统一口诀。
【教师操作】用三段计算图w→z→p→ℓ,逐项指读导数并画抵消线。保持所有符号在页上,要求学生指出“p−y”属于哪一段导数。
【提问】当y=1且p=.2时,∂ℓ/∂z是多少,更新希望怎样改变z?
【答案与核验】为−.8;负梯度方向希望提高得分z,从而提高正类概率。参数方向还要结合特征φ。
当y=1且p=.2时,∂ℓ/∂z是多少,更新希望怎样改变z?
为−.8;负梯度方向希望提高得分z,从而提高正类概率。参数方向还要结合特征φ。
返回目录
现在只取一个含截距的特征向量一、二,真实标签为一,两个参数都从零开始。内积得到z为零,Sigmoid给出二分之一,BCE为负log二分之一,约零点六九三。概率减标签为负零点五,再乘特征向量得到梯度负零点五、负一。学习率零点一时,新参数是零点零五、零点一,新得分为零点二五,正类概率约零点五六二。它比初始更支持真实正类,损失相应下降。每个中间量都有确定答案,所以这是检查代码接口、链式法则与更新符号的最小实验;多样本时才再汇总并平均。
【教师操作】打开“单样本逻辑回归”页签,用“隐藏本步答案”让学生先算,再“揭示本步答案”;按下一步依次经过输入、z、p、BCE、p−y、梯度、更新。不要把Phi乘法中的截距遗漏。
【提问】若y改为0而其余初值相同,梯度与更新怎样改变?
【答案与核验】梯度变为(.5,1),新参数为(−.05,−.1),使得分下降、正类概率降低。
若y改为0而其余初值相同,梯度与更新怎样改变?
梯度变为(.5,1),新参数为(−.05,−.1),使得分下降、正类概率降低。
返回目录
假设训练样本严格线性可分,也就是存在一组参数让所有正类得分为正、所有负类得分为负,而且都不在边界上。把这组参数不断乘更大的正常数,边界不变,但真实类别的概率不断接近一,所以交叉熵趋近零。有限参数下Sigmoid概率仍严格位于零与一之间,因此损失下确界通常不在有限参数处取得。这个例子并不否定凸性,固定特征下Hessian仍半正定;它说明凸函数也可能没有有限最小点。训练准确率达到百分之百以后,参数范数仍会增长,不能仅据准确率平台判断训练已经解决全部问题。
【教师操作】用同一条分界线表示w、2w、5w,旁边画概率更陡与参数范数增长。给出结论的“严格可分、无正则”条件,不泛化成所有逻辑回归均无解。
【提问】加入不惩罚截距的L2以后,是否完全不用再检查数据条件?
【答案与核验】仍需检查,例如训练集只有一种类别时截距可能继续增长。两类存在等条件与正则约定应共同说明。
加入不惩罚截距的L2以后,是否完全不用再检查数据条件?
仍需检查,例如训练集只有一种类别时截距可能继续增长。两类存在等条件与正则约定应共同说明。
返回目录
设模型输出可以代表部署条件下的正类后验概率,且正确行动成本为零。选择判正时,只有实际为负才支付误报成本,所以条件期望成本是误报成本乘一减p;选择判负时,只有实际为正才支付漏报成本,所以是漏报成本乘p。比较两者,得到正类阈值为误报成本除以两类成本之和。误报一、漏报十时,阈值是十一分之一;p为零点二时,判正的期望成本零点八,判负成本二,应选择正类。这个结论依赖概率与成本前提,不能仅因AUC高就把输出当作准确后验,也不能忽略处理容量等额外约束。
【教师操作】在同一p横轴画两条风险直线,标交点1/11。请学生先判断漏报昂贵应提高还是降低阈值,再用公式核验,不与前一综合实验4∶1成本混用。
【提问】漏报成本更高,为什么阈值更低?
【答案与核验】因为漏掉真实正类的代价更大,应在较低正类概率时采取正类行动;这会减少漏报,同时可能增加误报。
漏报成本更高,为什么阈值更低?
因为漏掉真实正类的代价更大,应在较低正类概率时采取正类行动;这会减少漏报,同时可能增加误报。
返回目录
固定正类定义和阈值以后,把真实类别作为行、预测类别作为列,就得到四格混淆矩阵。精确率的分母是被预测为正的所有样本,召回率的分母是实际为正的所有样本,两者回答不同问题。给定真阳性十八、假阳性六、假阴性二、真阴性七十四,精确率为十八除二十四等于零点七五,召回率为十八除二十等于零点九,准确率为九十二除一百等于零点九二。类别不平衡时,只报准确率容易掩盖问题,例如一千样本只有十个正例,全部判负仍有百分之九十九准确率,但召回率为零。
【教师操作】指明表格行列方向,再让学生各自圈出三个指标的分母。先在纸上完成数值计算,再对照本页给定四格,最后讨论降低阈值会扩大哪个集合。
【提问】降低固定模型的阈值,FP与FN通常怎样变化?
【答案与核验】预测正类集合扩大,所以FP不减、FN不增;是否值得还要结合错误成本与概率可靠性判断。
降低固定模型的阈值,FP与FN通常怎样变化?
预测正类集合扩大,所以FP不减、FN不增;是否值得还要结合错误成本与概率可靠性判断。
返回目录
从二分类扩展以前,先判断多个类别是否互斥。一张图片必须在猫、狗、鸟中选一个,是单标签多分类;一张图片可以同时出现猫和狗,则是多标签。Softmax把多个得分联合归一化,让所有类别共享一单位概率质量,适合恰好一个类别正确的设定。多个Sigmoid分别估计每个标签是否出现,可以同时给出多个高概率。One-vs-Rest也是多个二元分类器,但通常用于每类对其余类的比较,独立输出不会自动总和为一,不能未经处理就解释为联合类别分布。选择哪种输出,首先取决于标签结构,而不是哪种名称更流行。
【教师操作】用“一选一”和“可多选”两张示意标签卡,与三种建模方式逐行对照。让学生给出一个互斥任务和一个可以共存的标签任务。
【提问】同一文章可同时属于医学和机器学习,应直接用互斥Softmax吗?
【答案与核验】通常不应,多个标签可以同时成立,适合多个Sigmoid等多标签模型;若任务规定唯一栏目,则需按该标签规则重新定义。
同一文章可同时属于医学和机器学习,应直接用互斥Softmax吗?
通常不应,多个标签可以同时成立,适合多个Sigmoid等多标签模型;若任务规定唯一栏目,则需按该标签规则重新定义。
返回目录
Softmax先对各类得分取指数,再除以指数总和。为了稳定计算,我们先给所有得分减去最大值;共同平移会在分子分母约去,所以不改变概率。得分二、一、零减二以后是零、负一、负二,指数约为一、零点三六七八七九、零点一三五三三五,总和约一点五零三二一四。分别相除,得到零点六六五二四一、零点二四四七二八、零点零九零零三一。请注意最大的概率属于第一类,但如果真实标签是第二类,训练损失应该查看第二类概率。类别索引在代码中从零开始,因此第二类对应标签一。
【教师操作】打开“Softmax分步归一化”,使用下一步观察原得分、最大值、移位、指数、求和、归一化、目标损失。目标选择1;把共同常数c改为1000或−1000,核验概率不变。
【提问】共同加1000后为什么可以得到相同概率,而直接计算exp(1002)可能失败?
【答案与核验】数学上共同指数因子会约去;计算机可能先溢出。减最大值在保持结果的同时避免大正数指数。
共同加1000后为什么可以得到相同概率,而直接计算exp(1002)可能失败?
数学上共同指数因子会约去;计算机可能先溢出。减最大值在保持结果的同时避免大正数指数。
返回目录
互斥多分类的标签可以写成one-hot向量,真实类别位置为一,其他为零。交叉熵对各类标签乘log概率后求和,只有真实类别一项留下,因此本例真实第二类的损失是负log零点二四四七二八,约一点四零七六零六。对每个得分求导得到概率减标签,所有类别共同参与,因为Softmax分母连接了它们。对批量样本,参数矩阵W是d乘K,概率和标签矩阵是N乘K,梯度为Φ转置乘P减Y再除以N。每个样本的得分梯度之和为零,这与共同平移所有得分不改变损失相一致。
【教师操作】在概率柱上只圈真实类用于损失,再对三类分别写p−y,得到约(.665,−.755,.090)。用列和为零检查方向,随后对应矩阵维度。
【提问】真实第二类时,为什么第一类梯度为正而第二类为负?
【答案与核验】模型给第一类过多概率,梯度下降倾向降低其得分;真实第二类概率不足,更新倾向提高该类得分。
真实第二类时,为什么第一类梯度为正而第二类为负?
模型给第一类过多概率,梯度下降倾向降低其得分;真实第二类概率不足,更新倾向提高该类得分。
返回目录
分类损失要特别注意稳定计算。二元交叉熵可以直接从得分写成logaddexp零与z,再减y乘z,避免先把概率舍入为零或一再取对数。多分类则先对每行减最大值,再用对数归一化得到log概率;损失直接取真实类的负log概率,梯度可以在概率矩阵的真实类位置减一,然后乘特征转置并平均。请先确认样本轴和类别轴:这里每行是一个样本,所以沿axis一做归一化。若沿错轴,数组可能仍能运算,但不再表示每个样本的类别分布。稳定计算是在有限精度下保持同一个数学目标,不是通过随意裁剪掩盖接口错误。
【教师操作】逐行指读左侧代码,把每个数组与上一页矩阵对应。网页共同加常数实验用于直观核验;代码层面另检查概率行和为1、损失有限及有限差分梯度。
【提问】把概率传给一个要求logit的BCE函数,即使没有报错,目标还正确吗?
【答案与核验】不正确。函数会再次把概率当作得分解释,数值有限也可能优化错误目标;必须核对接口要求。
把概率传给一个要求logit的BCE函数,即使没有报错,目标还正确吗?
不正确。函数会再次把概率当作得分解释,数值有限也可能优化错误目标;必须核对接口要求。
S = Z - Z.max(axis=1, keepdims=True) logp = S - np.log(np.exp(S).sum(1, keepdims=True)) loss = -logp[np.arange(N), y].mean() P = np.exp(logp) G = P.copy() G[np.arange(N), y] -= 1 grad = Phi.T @ G / N # Binary logits: np.mean(np.logaddexp(0,z)-y*z)返回目录

到这里,我们从四个点出发,建立了三个模型的共同计算结构。线性回归直接输出数值,误差信号是预测减观测;二元逻辑回归先用Sigmoid得到概率,误差信号是概率减标签;多分类Softmax使用一行类别概率减one-hot标签。左乘特征转置并按样本数平均,就把样本层面的误差信号汇总回参数空间。统一结构有助于实现与迁移,但不能抹平语义差别:连续数值、二元概率和互斥分布分别需要相应损失与评价。后续现代案例将把手工特征换成更复杂表示,今天的维度、稳定计算、正则化与验证纪律仍然适用;若表示也一起学习,整体凸性通常不再保留。
【教师操作】按三行表格逐一指读输出、损失与梯度。让学生选温度预测、是否过热、唯一故障类型三个任务,分别给出一套输出与评价,再过渡到现代模型案例。
【提问】相同传感器输入分别预测温度、是否过热、故障类型,应选什么输出?
【答案与核验】温度用连续回归,是否过热用二元概率,唯一故障类型用多类分布;评价分别结合数值误差、两类错误代价与各类混淆。
相同传感器输入分别预测温度、是否过热、故障类型,应选什么输出?
温度用连续回归,是否过热用二元概率,唯一故障类型用多类分布;评价分别结合数值误差、两类错误代价与各类混淆。
返回目录
线性回归并没有因为神经网络规模增长而消失。接下来我们沿三条具体路线扩展同一个数学结构。第一条让参数随数据流更新,讨论系统变化以后旧数据是否仍该拥有同样的权重。第二条把输入先变成有用的表示,再训练一个很小的线性读出。第三条把物理状态展开成候选函数,学习微分方程里有哪些项以及每项的系数。每个案例都保留可运行的小实验,并明确指出它与论文系统之间还缺少哪些部分。课堂上先完成其中一个过程演示,另外两个用于图表讲解与课后实验。这里的实验数值来自合成数据,说明机制,不代表部署性能。
这三条路线中,哪一个对象发生了变化?
按本页公式顺序,依次是输入表示、参数的更新时序、回归目标及候选函数结构。
Sun et al., Learning to (Learn at Test Time): RNNs with Expressive Hidden States. ICML 2025, PMLR 267:57503–57522; arXiv:2407.04620. https://proceedings.mlr.press/v267/sun25h.html 。核验日期2026-09-20。 DINOv3, arXiv:2508.10104 (2025), §6.1.2、§6.2.1,https://arxiv.org/abs/2508.10104 。核验日期2026-09-20。 López et al., Weak-form modified sparse identification of nonlinear dynamics, arXiv:2410.17838 (2024预印本),§2、§4.2.4,https://arxiv.org/abs/2410.17838 。核验日期2026-09-20。
返回目录
想象一个设备经过更换部件后,输入与输出的关系发生改变。我们用一个明确的合成变化模拟这件事:前四百个样本遵循斜率一点五,之后变成负一。离线拟合并冻结的参数不会自动跟着变化。在线方法每次先作预测,得到真实标签后再更新,这个先后顺序决定评价是否可信。若先用当前标签更新再评估当前样本,就会夸大效果。遗忘因子小于一时,较老样本在目标中的权重逐步减小,模型因此更容易适应新状态,也更容易受短期噪声影响。当前展示的是带标签的递归最小二乘,后面再解释它与测试时学习的联系和区别。
为什么不能更新后再评价同一个样本?
该样本标签已经参与拟合,不能代表到达标签之前的预测能力。
返回目录
请与梯度下降更新式对照。两者都把一个预测误差变成参数调整,但这里的增益向量不是固定学习率乘输入。矩阵P记录加权特征信息的逆,因此输入方向上积累了多少信息,会影响本次调整的幅度。先计算q,再用一个标量分母形成k,随后残差乘k更新参数,最后更新P。这样每步只需保留参数和一个小矩阵。推导可由对加权正规方程应用矩阵求逆引理得到,课堂先要求学生核对维度与数据到达顺序。配套程序还在多个时刻重新做加权批量最小二乘,与递归参数比较,最大差约1.8乘10的负15次方。
φ和w是d维列向量,k和P的维度分别是多少?
k为d×1,P为d×d;k乘标量残差后才能与w相加。
返回目录
图中真实斜率在四百时刻由一点五变为负一。请先不看指标,找出两条估计轨迹的转折速度。遗忘因子为一的估计仍然受大量旧样本约束,因而改变较慢;零点九八更快接近新的关系。评价使用五百到七百九十九时刻的先预测后更新误差,给出的是一段稳定适应后的表现,不能拿它掩盖四百到五百之间的过渡代价。完整输出同时保留变化前、适应中、适应后的指标。课堂请学生将rho改为更小的值后预测两件事:适应会怎样变化,噪声波动又会怎样变化。选择rho时还需事先约定流式评价协议,不能用未来测试标签挑最优值。
适应后的低MSE能否说明变化发生的瞬间也预测得好?
不能。需要分别报告适应过程的误差和延迟,配套日志已分段记录。
返回目录
这段代码按时间顺序处理一条数据流。第一行保存更新前的参数,随后计算预测,这个数值用于评价。拿到标签以后才计算残差和增益,更新参数与P。最后一行抑制浮点舍入造成的不对称。请在现代案例目录运行 python "课堂单步演示.py" --mode rls --start 399。界面先隐藏当前标签和更新结果,只显示特征、旧参数和预测。输入400跳到系统变化时刻,请学生先判断参数还在旧关系附近会带来什么偏差,再按h揭示观测、残差、增益和新参数。用n前进一时刻,用p退回,输入500观察适应以后,q退出。每次移动会重新隐藏答案,保持先预测后核验的节奏。程序同时对照rho等于一的结果,帮助解释历史权重的影响。若现场没有Python环境,可以按同一顺序阅读随包CSV,保留预测与解释环节。完整函数包含数据生成、初始化与日志保存,投影片展示循环核心。
如果把pred移到w更新之后,哪条验收原则被破坏?
当前标签参与预测,破坏先预测后揭示的流式评价顺序。
before = w.copy() pred = float(xt @ before) px = P @ xt gain = px / (rho + xt @ px) error = yt - pred w = w + gain * error P = (P - np.outer(gain, xt) @ P) / rho P = (P + P.T) / 2返回目录

传统循环网络把隐藏状态看成一个向量。TTT论文提出把一个学习器的参数作为状态,并在序列处理过程中根据自监督目标更新。这样,刚学过的误差、梯度和更新过程成为记忆机制的一部分。这是非常具体的思想迁移:训练不只是模型上线前的阶段,也可以嵌入推理时的状态变化。但是不要把本课RLS直接叫作TTT。我们的标签由外部环境给出,更新是递归最小二乘;论文还包括自监督任务、外层训练、学习器设计与高效实现。论文关于线性注意力的等价性也有明确条件,包括线性学习器、零初值和特定批量梯度配置,不能推广到任意更新规则。
本课RLS与论文TTT之间最关键的差异之一是什么?
RLS使用外部监督标签,TTT在测试序列内部构造自监督学习目标,且有外层学习机制。
Sun et al., Learning to (Learn at Test Time): RNNs with Expressive Hidden States. ICML 2025, PMLR 267:57503–57522; arXiv:2407.04620. https://proceedings.mlr.press/v267/sun25h.html 。核验日期2026-09-20。
返回目录
一张图像的像素与目标之间通常不是简单的线性关系,但有用的编码器可以把复杂输入变成更适合预测的表示。冻结编码器以后,我们只学习最后的读出参数。连续目标可以使用平方损失,分类目标则用逻辑或Softmax输出。DINOv3论文确实包含在冻结CLS或patch表示上训练线性头的评估协议,涉及分类以及稠密任务。课堂无需下载大模型也能观察这条结构:我们把二维输入变成六十四个固定RBF特征,再训练线性读出。RBF不是DINOv3,数据不是图像,实验只演示固定非线性表示加线性读出的数学结构。表示是否适合实际任务仍需独立验证。
只训练线性读出,是否意味着最终预测必须是输入的直线函数?
不意味着。h(x)可以是非线性函数,线性只针对最后一层待学习参数。
DINOv3, arXiv:2508.10104 (2025), §6.1.2、§6.2.1,https://arxiv.org/abs/2508.10104 。核验日期2026-09-20。
返回目录
图中蓝线是固定RBF表示上的线性读出,另一条是直接在两个原始输入上训练的线性模型。截面固定第二个输入为零,因此便于看见第一维上的弯曲关系。这个截面只帮助解释函数形状,测试RMSE则在独立的一百八十个二维样本上计算,二者不能混为同一评价。我们在训练集上拟合特征缩放,在验证集上选择岭惩罚,确定后才计算测试误差。固定RBF能表示更多弯曲变化,所以在这组数据上明显改善,但这不保证任何增加特征的方法都会提升泛化。下一页将看到,表示变复杂以后,最后的读出仍然是熟悉的最小二乘问题。
图中的曲线拟合得好,为什么仍要看独立二维测试样本?
单一截面只覆盖输入空间的一部分,不能证明其他区域的预测可靠。
返回目录
先把每个样本的六十四个固定特征排成一行,再加截距列,得到六十五列设计矩阵。把前半课的Phi替换成H,梯度与正规方程完全同形。这里最值得学生体会的是算法复用:并不需要因为输入经过复杂变换,就重新发明最后一层求解方法。我们仍然通过增广最小二乘求岭解,并在验证数据上选择lambda。若连同编码器一起训练,H本身也依赖待学习参数,整体目标通常不再保持这里的凸性。这个条件解释了为什么冻结表示的线性评估既便宜又容易解释,同时也解释了它不能代表端到端训练的全部能力。
如果编码器也参与更新,关于凸优化的哪条前提发生变化?
设计矩阵不再固定,对全部参数的目标通常非凸。
返回目录
请按代码顺序看三件事。首先计算输入到固定中心的平方距离,指数变换得到特征。然后只使用训练行计算均值和标准差,形成包含截距的设计矩阵。最后使用训练集拟合参数,验证集比较配置。真正的完整实验会遍历候选lambda,冻结选中的模型,再报告一次测试指标。课堂互动先让学生预测:把特征数减少会限制表达能力,把特征数大幅增加又可能提高方差。这里应让学生重新走选模流程,而不是反复看测试分数决定下一次修改。课后可以把固定RBF替换为可合法获取的预训练表示,保留相同协议,但那是独立扩展实验,需要额外模型和计算资源。
能否用全部720个样本计算特征标准差?
本实验要求只在训练集拟合预处理,再用于验证和测试,避免评价信息进入拟合流程。
dist2 = ((X[:, None] - centers[None])**2).sum(2) H = np.exp(-dist2 / (2 * lengthscale**2)) mu, sd = H[tr].mean(0), H[tr].std(0) sd = np.where(sd < 1e-12, 1., sd) Phi = np.c_[np.ones(len(H)), (H-mu)/sd] w = ridge(Phi[tr], y[tr], lam) val_mse = np.mean((Phi[va] @ w-y[va])**2)返回目录

这次输出不再是下一时刻的标签,而是状态随时间的变化率。对于阻尼振子,位置的导数是速度,速度的导数包含恢复力与阻尼。假设我们不知道右端究竟有哪些项,就可以把常数、位置、速度以及它们的乘积放入候选库。对已观测轨迹估计导数后,学习每列对应的系数。未知系数线性进入模型,因此仍可使用最小二乘作为子步骤。科学发现比普通预测多了要求:不仅要在观测位置上拟合导数,还要解释哪些项存在,并把学到的方程积分到未参与拟合的新轨迹上。候选库遗漏真实机制时,稀疏回归也不会凭空发现它。
为什么包含x²和xv后,仍可以对Ξ做线性回归?
这些函数值是已知特征,未知系数Ξ仍以线性组合进入方程右端。
返回目录
先用全部候选列做最小二乘,通常会得到不少很小的非零系数。阈值步骤把足够小的项删去,然后仅使用剩下的列重新拟合,这样重要项的系数可以补偿刚才删除带来的变化。重复这个过程就得到一个稀疏方程。阈值必须结合特征尺度理解,所以程序在训练库上做RMS缩放,最终再还原到物理系数。不要把阈值截断与L1正则混称为同一个算法,也不要以训练导数误差最小作为唯一选择依据。配套实验用整条验证轨迹上的积分误差选择窗口与阈值,最后将完整未见过的轨迹用于测试。这个过程把回归、模型选择和动力学验证连接起来。
为什么不能随机打散同一轨迹的所有时间点再切训练测试?
相邻时间点高度相关,会使评价过于乐观;本实验按完整轨迹划分。
返回目录
系数接近真实值只是第一层检查。更强的检验是使用识别出的微分方程,从一条新轨迹的初始观测出发,进行多步积分,比较后续状态。图上展示测试轨迹六的位置分量,最终RMSE则综合两条测试轨迹的位置和速度,与模拟干净真值比较,因此图和指标的统计范围不同。初始状态使用每条测试轨迹的第一个有噪观测,没有偷用模拟器提供的精确初值。干净真值只在合成实验中帮助诊断真实恢复误差,实际工程通常无法直接看到它。本合成例中x、v为无量纲状态,实际工程合并误差前需处理不同单位。课堂请学生观察相位和振幅,说明即使局部导数误差不大,长期积分也可能累积偏差。参数准确、结构正确和长期预测可靠需要分别检查。
为什么局部导数拟合误差小,不足以保证长期轨迹准确?
积分会积累模型误差,且稳定性、初值误差及分布外状态都会影响轨迹。
返回目录
差分先把相邻观测相减,再除以时间步长。独立观测噪声在这个过程中会被放大,时间步长越小,噪声项方差还可能越大。因此更密集采样并不自动使导数估计更准确。本实验无噪声时原始导数RMSE约八乘十的负五次方,加入零点零三噪声后约一点零六五。2024年的弱形式改进研究使用积分恒等式,把对噪声观测求导改成对已知测试函数求导,并进一步考虑噪声处理。但平滑和弱形式也需要选择窗口、测试函数与假设,不保证对每个系统都更好。本课程序没有实现论文完整方法,学生可以先复现噪声敏感性,再把弱形式作为进阶项目。
Δt减半时,上式中的噪声方差大约变为多少倍?
在独立同方差噪声假设下约为4倍;实际相关噪声需要重新分析。
López et al., Weak-form modified sparse identification of nonlinear dynamics, arXiv:2410.17838 (2024预印本),§2、§4.2.4,https://arxiv.org/abs/2410.17838 。核验日期2026-09-20。
返回目录
运行现代案例目录的总入口后,首先打开系数CSV,检查位置导数是否只保留速度项,速度导数是否保留位置和速度项。再打开导数噪声文件,比较四种噪声水平,不要只选择最好看的一行。最后核对测试轨迹重建。当前片段假定Theta已由训练状态生成,scale为训练库每列的RMS并已做零值保护;在缩放库A上阈值筛选,最后回除scale得到物理系数。完整程序对候选模型运行积分,若出现数值发散,会给它极大验证误差以排除。σ=.10时固定阈值.05基线选错支持,验证选择.1后恢复正确支持,说明阈值需要选模;这不是任意噪声下恢复的保证。课堂可在副本里删去候选速度项,并同步调整系数矩阵和记录字段,事先预测阻尼项是否还能识别,讨论错误库造成的偏差。
若候选库不含真实的阻尼项,增加迭代次数能够补救吗?
通常不能。需要修正候选表示,优化算法不能恢复模型没有提供的机制。
A = Theta / scale
Xi = np.linalg.lstsq(A, dX, rcond=None)[0]
for _ in range(12):
small = np.abs(Xi) < threshold
Xi[small] = 0
for j in range(dX.shape[1]):
keep = ~small[:, j]
if keep.any():
Xi[keep, j] = np.linalg.lstsq(
A[:, keep], dX[:, j], rcond=None)[0]
Xi = Xi / scale[:, None]返回目录
请回看三个案例,它们都没有跳过本课的基本问题。在线回归要说明样本何时到达,冻结表示要说明特征从哪里来,科学发现要说明候选库能表达什么。目标函数规定误差怎样聚合,求解器将误差变成参数变化,评价协议决定我们究竟有证据声称哪一种能力。复杂系统通常把这些环节组合得更多,但任何一个环节含混,最终结果都可能无法解释。学生今后面对一个新模型时,可以先找出这几个对象,尝试写出一小段可复算的更新,再追问证据来自哪些独立数据。这就是线性回归提供的可迁移能力。
看到一个复杂模型,首先可以追问哪些可检查对象?
表示与标签、优化目标、参数更新、数据划分、评价指标和失效条件。
返回目录
最后请每组交出一个最小但完整的结果。先从基础部分完成一次四点更新,列出预测误差、平均梯度和新参数。再选择一个现代案例,写清输入表示、目标和评价顺序,运行默认配置并引用一个输出文件中的具体数值。最后改变一个有意义的条件,先写预测,再运行并解释一致或不一致的原因。评价重点不是谁得到最低测试误差,而是谁能给出可核对的过程和有边界的结论。若课堂时间不足,先口头完成每组的一句解释,代码改动留到课后,保持三课时节奏。参考答案和评分条目在教师与学生材料中分别列出。
“程序运行成功”与“建模结论可信”分别需要什么证据?
前者需无异常且数值检查通过,后者还需正确协议、独立评价和对适用条件的解释。
返回目录
本页提供三条可查证的现代来源,完整标题、链接、证据位置与适用边界放在教学包的现代案例说明中。第一条讨论测试时训练的学习器状态,第二条说明冻结视觉表示与线性评估,第三条讨论噪声条件下的弱形式动力学发现。阅读时建议先把论文中的表示、目标、参数更新和评价协议标出来,再与本课对应,而不必一开始就追求复现完整大模型。所有来源核验到2026年9月20日,页面所讲的是这些已公开工作的机制,没有把它们称作所有领域的最新或最优方法。课堂三组NumPy实验保持轻量和离线,是机制教学的可运行参照。
读论文时怎样判断某种“等价”结论能否直接迁移?
先核对模型形式、初值、损失、更新规则及训练协议是否满足原文条件。
Sun et al., Learning to (Learn at Test Time): RNNs with Expressive Hidden States. ICML 2025, PMLR 267:57503–57522; arXiv:2407.04620. https://proceedings.mlr.press/v267/sun25h.html 。核验日期2026-09-20。 DINOv3, arXiv:2508.10104 (2025), §6.1.2、§6.2.1,https://arxiv.org/abs/2508.10104 。核验日期2026-09-20。 López et al., Weak-form modified sparse identification of nonlinear dynamics, arXiv:2410.17838 (2024预印本),§2、§4.2.4,https://arxiv.org/abs/2410.17838 。核验日期2026-09-20。
返回目录