CSCI3230 L03 · Part 3/5 Optimizing logistic regression
课程:CSCI3230 (ESTR3108) Fundamentals of Artificial Intelligence · 2026T1 本讲:L03,第 3 部分 / 共 5 部分 · 原件 L03-Logistic-Regression-2026T1.pdf(本地课件) p.30–52 定位:从每条样本的真实标签构造似然,推到交叉熵,并逐步完成同步梯度更新。 前后:上一份 Logistic regression for classification · 下一份 Summary
你已经知道怎样由参数算概率。这篇解决反方向的问题:训练数据和标签已知,怎样选参数,让模型少犯错? 路线是先定义“好坏分数”——损失,再找到让损失下降的参数调整方向,最后重复调整。先学会手算一轮即可,不需要一开始把所有证明背下来。p.30 为分节页。
符号统一:第 个增广特征列向量为 ,其第一分量为1时已包含截距;参数 ;真实标签 ;分数 ;正类概率 。样本数是 ,特征含截距后的维数是 。这些量中,训练时修改的是 ,不是标签。
用真实标签选中正确的概率(p.31–33)【新】
p.31 给训练输入与标签,p.32 说明目标:真实为1,希望 大;真实为0,希望 小。这里“正确类别概率”与“正类概率”不是同一个概念。比如 ,标签为1时模型给真实类别0.8,标签为0时则只给真实类别0.2。
p.33 用一个式子同时表达两种情况:
这里另用 表示真实标签所获概率,以免和 混淆。把标签代进去检查:若 ,第二个指数0使第二因子为1,剩 ;若 ,第一个因子为1,剩 。标签的指数像一个选择开关,这是直觉类比,严格依据是零次方为1。
不要训练前先把概率阈值化成0或1再求损失。0.51与0.99都会判1,但对一个真实正样本,两种信心水平差别很大;训练损失需要保留这个信息。
从联合概率到交叉熵(p.34–36)【新】
p.34 在样本独立的建模假设下将每条真实标签概率相乘,形成似然 。数据固定后,我们比较不同参数谁能给这些观测结果更高的概率。似然是“把参数拿来比较的函数”,不是参数本身的概率分布。
补充·算例(数字为教学自取):两条数据标签依次为1、0,模型输出正类概率0.8、0.3。第一条真实类别获0.8,第二条获0.7,联合似然是 。若另一组参数给0.6、0.4,则似然为0.36;前一组在这两个观测上更好。
p.35 为什么取负对数?第一, 严格递增,0.56比0.36大,它的对数仍较大,所以不会改变优劣排序;第二,乘积的对数变成和;第三,加负号把最大化改成通常的最小化问题。
第二行使用“积的对数等于对数的和”,第三行又使用“幂的对数等于指数乘对数”。结果 是一个标量,表示全体训练样本的求和交叉熵,p.36 为每条样本写出相同形式。
前面0.56的例子给 ,也等于 。正样本若预测0.99,损失约0.0101;若预测0.01,损失约4.6052。负对数不是简单计算错了几条,而会重罚“很自信却错了”。这是选择平滑训练目标的意义之一。
求和与平均不要偷换:平均损失是 ,它的最小点与 相同,但梯度缩小为 。同一学习率下,一次更新不一样。本讲 p.35、50 使用求和。
补充 · 相同分类结果,为什么损失仍然不同(通识讲解;演示数据不属于原题)。
真实标签为 1 时,预测概率 0.51 和 0.99 在阈值 0.5 下都判对,但损失分别为 和 。交叉熵不仅记录“跨没跨过阈值”,还区分模型给真实事件分配了多少概率。因此准确率暂时不变时,训练损失仍可下降。
反过来,过度自信地判错受到很大惩罚:真实仍为 1,预测为 0.01 时损失约为 4.6052。这个性质不等于训练后概率一定校准,也不保证在新数据上可靠;它只说明所选目标在训练时偏好什么。调学习率看损失变化,选最终决策阈值看任务代价或验证指标,是两个不同步骤。
**p.36 的两种标签损失完整写出:**因为本讲 ,当 ,;当 ,。这里 始终是“正类概率”,不是随标签改变定义的 。原页把它称为 probability density function;二元离散标签严格使用概率质量而非连续密度,这不改变以上两种代入结果。
补充:数学上等价的交叉熵,电脑算起来可能完全不同
从单样本损失出发,代入 与 ,有 、,于是
这里 为分数,。直接算 会超出常用浮点范围;直接先算sigmoid也可能舍入成1,再在另一项算到 。这些是表达式的数值问题,不能解释成数学损失本来就未定义。
当 ,把 提出来可得 ;当 ,原来的指数本来不大。合起来写成
代码用 log1p 计算最后的小量更稳。自取 :标签1时损失非常接近0,标签0时损失非常接近1000;自取 时两者交换。极自信且判错受到很大惩罚,极自信且判对损失接近0,与交叉熵原本含义一致。这是同一目标的稳定计算补充,没有改用另一种训练损失;也不能把所有概率一律裁剪后,仍无条件宣称导数与未裁剪表达式完全相同。
凸目标为什么还要迭代(p.37–38)
p.37 对正标签画 、对负标签画 。第一条随 增大而下降,第二条随 增大而上升,正好实现“正例拉高正类概率,负例拉低它”。曲线横轴是概率,而训练实际调整的是参数;“对概率凸”不能单独代替“对参数凸”的证明。ESTR部分才完成后一件事。
可以把凸目标先理解成不会有“较差的局部谷底”;这只是形状直觉,不是说一定有唯一且有限的最优参数。p.38 的难点是:令梯度为0后,参数仍在指数函数里,一般无法像最小二乘那样一次矩阵求逆得到答案。凸性回答形状,闭式解回答能否直接写出解;二者不等同。 因此采用逐步改进的迭代方法。
图(p.37):两种标签的损失曲线。
元素:横轴为正类概率;橙线随概率上升而下降,蓝线随概率上升而上升。
看什么:先根据真实标签选择曲线,不能一律希望概率增大。
下山直觉与梯度方向(p.39–41)【新】
p.39 把损失类比高度。地面上的坐标是参数,不是某条数据的特征;向一个方向走表示同时改一组参数。高度下降表示当前训练损失下降,不等于测试准确率每步一定提高。
偏导数是在其他参数保持不变时,单独改变一个参数的局部变化率。把每个偏导排列成列向量,就得到梯度:
它与参数一样都是 。正梯度指局部最陡上升,负梯度指局部最陡下降。p.41 原文写“ascent or descent”容易混淆,后面 p.42–45 的推导与减号算法明确区分方向;我们按数学符号读,不将上升和下降视为同一个方向。
补充·先在简单目标上算:取 (数字与目标为演示自取),在 ,两个偏导是 、。若沿负梯度走0.1倍,得到 ,损失由3降到 。如果误把减号写成加号,则到 ,损失变为5.36,方向正好相反。为什么第二参数变更多?因为此刻第二方向的局部变化率更大,而不是因为参数本来更大。
图(p.39):参数曲面与山坡类比。
元素:左边为参数平面上的高度曲面,右边山坡上画有几条下降路线。
看什么:只借用“每步根据当前坡度选择方向”的直觉;真实训练未必像可见地形一样知道整个曲面。
为什么负梯度在局部下降最快(p.42–44)
比较方向之前必须把方向长度固定为1。否则走十倍距离产生十倍变化,比较的就不只是方向。p.42 的方向向量 满足 ,意思是欧氏长度为1。
p.43 用链式法则得到方向导数 ;它衡量朝该方向走极小一步时损失的变化率。p.44 的 Cauchy–Schwarz 不等式保证点积最小时, 与梯度反向。
用上一节梯度 作补充验算,其长度为 。沿负第一坐标方向 ,变化率为−2;沿负梯度单位方向 ,变化率为 ,下降更快。这是局部、等长方向的比较,不保证有限大步也下降。
如果想看公式怎样来自链式法则,读见附录 A1。初学时先记住比较对象和负号,比一口气背定理更有用。
**p.42–44 的证明在主线走完:**方向导数定义为
固定 ,设 ,上式就是 。第 个参数沿路径变成 ,对 求导得 ;链式法则于是给
Cauchy–Schwarz 给 ,这里已用 。非零梯度时,同向单位向量达到右端最大上升,反向单位向量达到左端最大下降;原页“scalar multiple”在求最大值时应取正倍数,不能连负倍数一起算。梯度为零时全部一阶方向导数为零,无法再除以梯度长度。
同步更新与学习率(p.45)
更新写成:
上标括号 是轮数,不是幂; 是学习率,控制这一轮沿负梯度走多少倍。梯度由旧参数算出,再一次性替换整组参数。训练开始前先知道目标、梯度、初值和停止条件,才能真正运行这个式子。
补充·为什么要同步:用 ,初值 ,学习率0.1。旧梯度 ,标准一步得到 。若先把 改成0.6,再重新计算 的偏导,会得到3.2,从而把 改成0.68。这已经是另一种更新次序,不是原向量式。
太小的学习率可能进展缓慢,太大可能跨过谷底反复震荡;迭代次数只是“走几步”,不能修复不合适的每步方向或长度。p.45 也允许学习率随轮次改变,固定学习率只是一种选择。
伪代码(p.45,按向量同步更新的含义重述):
给定目标函数、梯度、正学习率和停止条件
随机选择一组初始参数
只要停止条件尚未达到:
用当前整组参数计算完整梯度
新参数 = 当前参数 - 学习率 × 完整梯度
同时用新参数替换所有分量
p.40 所说“在一定条件下收敛”不能从这段循环语法本身得到保证;至少还要检查目标性质、步长及停止准则。
二次曲面的五步图怎样读(p.46–48)
p.46 的目标是 。这里 是待优化的两个坐标,不是本篇开头的样本和标签。p.47 标出初值 及前两步,p.48 标后面三步;图展示逐步靠近低处。
不要从图上的“五步”猜一个普遍收敛次数:没有指定学习率和容差,就不能独立复现五步。补充·自己指定条件再手算:若取 ,梯度 ,每一步把两个坐标都乘0.5。
| 轮次 | 坐标 | 损失 |
|---|---|---|
| 0 | (−1,−1) | 2 |
| 1 | (−0.5,−0.5) | 0.5 |
| 2 | (−0.25,−0.25) | 0.125 |
| 3 | (−0.125,−0.125) | 0.03125 |
数值是补充条件下的演示,不是对原图隐藏参数的断言。每个坐标减半,平方后变四分之一,所以总损失也每次除4。到达容差即可停止,不必数学上恰好到原点。
图(p.46–48):碗形曲面上的迭代。
元素:p.46画平方和曲面;p.47–48在同一碗形表面标出起点、红蓝位置和逐步连线,最后标第五步收敛。
看什么:位置与高度逐步靠近低处;图未给足数值条件,正文的0.25步长是另设的教学演示。
**原页缺参数时的符号解(p.46–48):**若固定步长为 ,从 出发,两个坐标每步乘 ,所以第 步都是 ,损失为 。要以目标误差不超过 停止,需 。原页没有给 ,这就是能由原输入推出的条件化结果;“第五步收敛”只能保留为演示标记。前文自取 时,第4步坐标为 、损失 0.0078125;第5步为 、损失 0.001953125,补齐同一演示的五轮。
非凸的限制与逻辑回归梯度(p.49–50)
p.49 提醒,多谷底的非凸目标可能落到局部谷底。不要把山坡类比当作任何函数都能保证全局成功的证明。p.50 回到逻辑回归,给出求和损失的梯度:
每个 是标量概率残差,乘特征列向量后得到该样本对所有参数的贡献;再按样本相加,形状仍是 。直觉上,正样本的残差为负,更新的减号会把它的分数往上推;负样本相反。多条样本会拉扯同一组参数,不能要求每一条都同时改善。
补充·把一轮算到底(非作业数据,数字自取):两条增广输入分别为 与 ,标签为0与1,初始参数 ,学习率0.2。
| 样本 | 旧分数 | 旧概率 | 概率残差 | 对两个参数的梯度贡献 |
|---|---|---|---|---|
| 1 | 0 | 0.5 | 0.5 | (0.5,0.5) |
| 2 | 0 | 0.5 | −0.5 | (−0.5,−1) |
相加梯度 。整组更新为 。新分数为0.1和0.2,新概率约0.5250和0.5498。第一条负样本反而稍变差,但第二条正样本改善更多:新总损失约 ,小于旧的 。这个现象说明“总损失下降”不等于“每条都改善”。
旧年作业的六条数据例子保留在见附录 A2,明确属于2025T1而非本年度题目。第一次学习先完成这里的两条数据,别从大表起步。
图(p.49):非凸目标的两条路线。
元素:左图沿路线落到较低的全局谷底并标勾,右图停在较高局部谷底并标叉。
看什么:局部下降信息不能直接告诉你更远处还有没有更低的区域。
**p.50 可执行的计算顺序:**每轮先对所有训练样本用旧参数算 ,再算 ;依真实标签形成残差 ;每行贡献乘自己的增广特征;将贡献按样本求和;最后减去学习率乘总和。与 p.45 通用伪代码相比,唯一替换的是完整梯度表达式,初始化、同步更新和停止条件的角色不变。
一维收敛阈值要看目标函数(p.51–52)
题面(当前 L03 · Quiz · p.51;公式按讲义重排):
p.51 Apply gradient descent to find the that minimizes . We set , is initialized to 10, and regard the algorithm converges once . What is the number of iterations required at least to guarantee the convergence?
该页选项依次为6次、3次、4次、不收敛。先不要看结果:题目要求目标差小于容差,还是参数本身小于容差?
参考答案
最优参数为0,最优目标也是0。因此停止条件是 ,等价于 ,不是0.01。
导数为 ,每一步变成 。初始10,第一步2且目标4;第二步0.4且目标0.16;第三步0.08且目标0.0064。第二步还超容差,第三步首次满足,所以至少3步,当前讲义选B,与p.52一致。这里的“收敛”是达到指定容差,参数尚非精确最优0。
补充:一般学习率下的倍率为 。从非零起点要越来越接近0,需 ,即 。这是本题平方函数的范围,不是所有机器学习目标通用规则。
另一年份同题选项次序见见附录 A3。要记计算而不是选项字母。
本讲核心考点
- 真实标签概率连乘,经负对数变成交叉熵求和(p.31–36,C级通识)。
- 负梯度是局部、欧氏等长方向下的最快下降方向(p.41–45,C级通识)。
- 用旧参数计算全体样本贡献,再同步更新;求和与平均必须一致(p.50,C级通识)。
- 停止条件约束的对象要从题面读取(p.51–52;2023 ESTR Q9有同型题,A级历史证据,不推断本年度)。
附录
A1 方向导数与最陡方向
把多维移动变成单变量:令 。 是走多远, 是单位方向,当前参数 暂时固定。第 个坐标变成 ,对 求导得到 。链式法则将每个坐标的影响相加:
方向导数就是第二行。Cauchy–Schwarz 给点积绝对值上界:
当梯度非零,选 达到左端。梯度为0时不可除以它的长度;所有一阶方向导数都是0,单靠此结论无法区分极小点、极大点或鞍点。回到正文。
A2 作业/往年题演练(非讲义内容):HW01 一轮完整更新
这是 2025T1 HW01 Q3 p.3 的旧题,逐项核对了原PDF表格与参数;不是2026T1 HW01,不要套用这些数字到当前作业。题目要求先写模型与交叉熵,再用训练集更新一次,最后在测试集计算指标。原题模型为 ,初值 ,学习率0.3。
p.3 Please write down the logistic model and its cross-entropy error function.
p.3 Use gradient descent to update and for one iteration. Write down the updated logistic regression model.
p.3 Use the above new model to make predictions for all the samples in the test dataset. Then, calculate the accuracy, precision and recall to evaluate this model.
公式按原题重排。
表(旧年题面,p.3):完整训练与测试数据。
| i | train x1 | train x2 | train y | test x1 | test x2 | test y |
|---|---|---|---|---|---|---|
| 1 | 1.00 | 0.03 | 1 | 0.00 | 1.00 | 0 |
| 2 | 0.82 | 0.02 | 1 | 0.24 | 0.76 | 0 |
| 3 | 0.79 | 0.27 | 1 | 0.71 | 0.06 | 1 |
| 4 | 0.13 | 0.97 | 0 | 0.19 | 0.98 | 0 |
| 5 | 0.23 | 0.95 | 0 | 0.93 | 0.00 | 1 |
| 6 | 0.19 | 0.67 | 0 | 0.79 | 0.11 | 1 |
先给每行补常数1,才有三个参数。只用左半表计算旧分数、概率及残差;测试标签此时完全不参与训练。
参考答案
第一行分数为 ;概率约0.63297478;残差约−0.36702522。该行贡献是残差乘 。其余行用同一组旧参数计算:
| i | z | q | q−y |
|---|---|---|---|
| 1 | 0.545 | 0.63297478 | −0.36702522 |
| 2 | 0.260 | 0.56463629 | −0.43536371 |
| 3 | 0.590 | 0.64336515 | −0.35663485 |
| 4 | 0.650 | 0.65701046 | 0.65701046 |
| 5 | 0.770 | 0.68352089 | 0.68352089 |
| 6 | 0.290 | 0.57199613 | 0.57199613 |
截距梯度加残差本身;第一权重梯度加残差乘第一特征;第二权重同理。得到 。减去0.3倍该向量:
更新完成后冻结这组参数,才把测试特征代入。六个正类概率约为0.45209415、0.49169759、0.51009366、0.52732642、0.58699207、0.55669986。0.5阈值产生0、0、1、1、1、1,与右表标签逐行比较,只有第4行把0误报成1。因此 。总数先核对为6,再算 Accuracy 为5/6,Precision 为3/4,Recall为3/3。分母分别是全部样本、预测为正、真实为正,不可互换。
回到正文。
A3 作业/往年题演练(非讲义内容):同一计算与不同选项
2023T1 ESTR Final Part I Q9(PDF p.3,已视觉核对)同样给平方目标、初值10、学习率0.4及目标差0.01的阈值。该旧卷选项是3、5、7次、不收敛,顺序不同于当前L03。
参考答案
仍用“导数→更新倍率→目标值→首次满足阈值”的四步,不记选项字母。倍率0.2,目标值依次4、0.16、0.0064,所以3步;旧卷选A,当前讲义选B。这仅是2023 ESTR的历史证据,不宣称当前CSCI3230必考。
回到正文。
来源与证据
逐页核对当前 L03-Logistic-Regression-2026T1.pdf(本地课件) p.30–52(68页阅读版)。旧题仅在附录,分别核对 HW01-2025T1-题目.pdf(本地课件) p.3 和 ESTR-Final-Exam-2023T1.pdf(本地课件) p.3。教学补充算例另行标注;未把旧年度题目冒充当前作业。考试证据:读了上述两份旧题对应页;仅支持具体年份考过相关计算,不推断本年度要求。