CSCI3230 L04 · Part 2/6 Support Vector Machine
课程:CSCI3230 (ESTR3108) Fundamentals of Artificial Intelligence · 2026T1 本讲:L04,第 2 部分 / 共 6 部分 · 原件 L04-Support-Vector-Machine-2026T1.pdf(本地课件) p.8–31 定位:从点到线的距离推到最大间隔目标,并能用对偶系数恢复边界和判断支持向量。 前后:上一份 Linear classifier · 下一份 Kernel SVM
p.8 分节页。
阅读路线:先读到“最大间隔变成最小范数”,亲手画出1、2、3三条竖线;再读八点恢复。乘子推导是第二遍学习内容,完整对偶与KKT理论列在ESTR拓展Part 6。
分得开以后,还要选哪一条线(p.9–11)【新】
p.9–11 提出的困难不是“找不到能分的线”,而是“能分的线太多”。训练集写成 : 是样本条数, 是行号,每个 有 个特征,标签 。不要把下标 (第几个样本)和某个样本的第几个坐标混为一谈。
补充·先用一维看清选择标准:只看横坐标,负类点在1,正类点在3(取自p.27例子的近侧坐标)。把边界放在1.2,两点都判对,但负点只要向右扰动0.2就触边;放在2,两侧各留1。SVM关心的是最不安全的那个训练点还能容忍多大扰动,而不是平均离所有点多远。远在100的一个点不应该掩盖贴着边界的危险点。
p.11 三幅候选图应这样读:先确认各图都把两类分开,再找每幅图中离线最近的样本,比较这些最小距离。不要只挑视觉上“最正”或“最居中”的线。后面的公式就是把这个比较过程交给优化器。
距离的分母为什么不可省(p.12–14)
p.12 The decision boundary has a larger distance to the closest point.
p.12–13 把较大距离解释为抵抗小扰动的缓冲带。这里的距离是垂直到边界的最短距离,不能拿上一讲的任意分数直接代替。
先拆p.14公式。 是一个数, 是法向量的长度。几何距离为
是边界点的集合。绝对值让距离非负;分母消除参数尺度的任意性。补充算例:用 表示边界,对 分数为2, 的长度也是2,因此距离为1。若改写为 ,分数与长度同乘10,距离仍为1。
为何要除以这个长度,而不是别的数?设最近边界点为 ,从 沿单位法向量 走有符号长度 就到 ,即 。把它代入分数:
第一步用分配律,第二步用“在边界上”,第三步用 。解出 后取绝对值,便得到距离。若 ,分母为零,这个推导根本没有定义一条正常的分界面,不能硬套公式。
规范化与两侧总间隔(p.15–17)
p.15 先假定所有点已判对。于是对每条训练样本, 与绝对分数相同且为正。把它叫功能间隔,记 ,它仍有任意尺度;几何距离是 。
p.16 做的是统一刻度,不是训练算法。若最小功能间隔是 ,把 同除以 ,所有 都变成原来的 倍,最小值恰为1。边界没动,只是换了一把尺。补充数字:原来三个 是0.2、0.6、1.0,同乘5后是1、3、5;只最近者等于1,不是每个点都等于1。
因此同一条可分边界可用规范形式表示:
对正类这句话是 ;对负类是 ,因为除以负数必须翻转不等号。两条支撑面分别是分数1与−1。p.17把接触支撑面的近侧点称为支持向量。先按这个几何图景理解,后面再区分退化情况下“在面上”与“非零乘子”不完全相同。
这一步有边界条件:若某个 ,共同正缩放仍为负,无法修复错分;若 ,也不能变成1。所以硬间隔建立在训练数据严格可分的前提上。不能省掉全部约束只把 缩到零,那样虽然范数很小,却不再正确分类。
最大间隔变成最小范数(p.18–20)
现在刻度固定了,再比较不同边界才公平。p.18中粗实线是分数0的决策边界,两条平行虚线是分数±1的支撑面,圆圈标出贴面的样本。跨越两条虚线的宽度才是该页的 margin;不是某点沿横轴到直线的距离。
正侧与负侧到中线各为 ,相加得到总宽度 。本讲使用两侧总宽度;有的教材用单侧半宽,答题要说明约定。
p.19–20做三次等价转换。第一,分母越小,正分数 越大;第二,非负数的平方严格保序,所以最小范数和最小范数平方的解相同;第三,乘正数 也不改变最优位置,只让导数更简洁。因此得到
输入是固定的训练样本,未知数是 个权重和一个偏移;约束有 条。目标要求宽,约束要求每点分对且留足单位功能间隔,二者须一起读。
用p.27–29例子的 :中线 ,负支撑线 ,正支撑线 。范数1,单侧宽1,总宽2。若仅将该参数表示乘2,几何线虽相同,最近功能间隔却变成2,不再是紧的规范表示;不能用 声称真实最宽空隙变窄了。这个公式描述的是该参数所定义的±1支撑带,最优解会把有余量的整体尺度收紧。
补充 · 为什么最优解至少要有一个约束碰到等号(通识讲解;演示数据不属于原题)。
假设一套可行参数把所有训练点都留得过于宽松,即最小功能间隔 。将 同除以 ,每条功能间隔也同除以 ,新的最小值恰好为 1,所有约束仍成立。权重范数却缩小为原来的 ,目标 缩小为原来的 。所以原参数不可能已经最优。
演示 :同时把权重和偏置减半,最紧的训练点从功能间隔 2 变成 1,半范数平方变成四分之一。边界没变,只去掉多余的分数尺度。这里讨论普通双类别可分、 的硬间隔问题;它说明最优处会碰到支撑面,不说明每个碰到面上的点一定有非零乘子,也不说明只要碰到一个点就已最优。
拉格朗日乘子把约束带进目标(p.21–23)【新】
如果你第一次学,先把这一节看成“求解器换了一组未知数”。前面的几何目标已经完整;此处不是又换分类任务。p.21把第 条约束改写成 ,p.22给它配一个非负数 。一条数据对应一个乘子,共 个。它不是概率,标签仍由 给出。
构造的拉格朗日函数是
方括号就是约束剩余量;固定乘子后,它与原目标共同形成对 的函数。不要把所有变量一起无约束最小化。对偶方法先固定 消去原变量,再选择乘子;为什么这样形成下界见选读 Part 6。
p.23对每个权重分量求导,平方项给 ,每个样本线性项给 ;对 求导时只剩 。导数为零于是要求
第一个式子的右侧是若干 维向量加权和,维度与 相同;第二个是一个标量等式,来自偏移项,不是“正负样本数量必须相等”。代回后得到
把p.23省略的代回过程在这里补齐。记 ,展开后
代入驻点条件 与 ,后两项分别变成 与0,故 。再按内积的分配律,,就得到上面的对偶目标。两个独立索引必须保留,不能只算每个点与自己的内积。
此时未知数变为 个乘子,数据只通过成对内积进入二次项。先记住这个结构,下一篇核方法正是利用它;无需在这里第一次就同时熟练完整对偶理论。
KKT、求解器与参数恢复(p.24–26)
p.24的互补条件把“这个点有没有余量”与“这个点有没有权重”关联起来:
两个非负量的乘积为零,至少有一个必须为零。如果 ,只能令 ;若 ,只能令 。但若 ,乘积不管 是零还是正都为零。原讲义p.24和p.69把某些反向推论写得过强;重复或退化样本可能在支撑面上却取零乘子。不要把“至少一个为零”误读成“恰有一个为零”。
p.25的QP指二次规划:目标是乘子的二次式,约束是线性的。SMO是一类求解方法,本节不要求自行手工迭代它。得到乘子后,p.26恢复原分数:先加权合成 ,再找 的样本。它满足 ,两边除以 ,由于标签只能为±1,有 ,因此
这个公式中 是某个合格样本的编号,不是前面功能间隔的名称;看上下文区分。不同支持样本应给一致的 ;数值求解有小误差时可以平均。软间隔的恢复条件不同,不能不加检查地使用任意非零乘子点。
p.26的平均恢复式完整写为
是合格支持点数量;由于 ,与逐点恢复式一致。平均是减小数值误差的做法,不是重新训练偏移。
最后做完整验收:乘子均非负;类别加权和为零;所有 ;所有正乘子点 ;合成的 一致。只找到一个点能算出 不代表其他七点也可行。
补充:先用两个点完整闭合一遍原问题与对偶
这是自编的一维核验例:负类 ,正类 。硬间隔约束分别为 、。相加得 ,而目标为 ,最小可取 ;代回两条约束得到 与 ,所以 。两侧间隔各为1,总宽度为2,原目标为1/2。
对偶等式约束为 ,令两者同为 。恢复权重是 。因此对偶目标为 ,导数 得 ,目标也为1/2。不是先假定乘子等于权重:乘子必须乘标签和输入再求和,才恢复 。
最后逐项核:两个乘子非负、加权标签和为0;两点功能间隔均为1,所以互补乘积均为0;由任一支持点计算 都是0。原目标与对偶目标一致给出最优性的证书。这个小例的作用是让后面八点数据的每个步骤都有明确职责,而不是只从求解器输出抄一个边界。
讲义八点示例逐步恢复(p.27–29)
原题数据(L04 p.27–28,向量转为行式):正类依次为 ,负类依次为 。求解器给 ,其余为零。这里使用p.27的编号;原件p.28某些展开项交换了末两个零权重点,不影响结果,手算仍统一按p.27。
先别看最终直线,逐项计算贡献。乘子为零的五项整项为零;非零项如下:
| 编号 | 标签 | 乘子 | 乘子×标签×坐标 |
|---|---|---|---|
| 1 | +1 | 0.25 | |
| 2 | +1 | 0.25 | |
| 5 | −1 | 0.5 |
两个坐标分别相加:第一坐标 ;第二坐标 ,所以 。负类贡献带负号来自 ,不是负乘子。加权标签和为 ,通过等式约束。
用1号恢复偏移:,因此 。换5号:内积1,,交叉检查一致。于是分数 ,边界是 。第二权重为零说明这个例子最终不需要纵坐标,不是输入只有一维。
再检查所有点,不能停在画线。1、2号分数1;3、4号分数4;5号分数−1;6、7、8号分数分别−2、−3、−2。乘各自标签后为1、1、4、4、1、2、3、2,全部至少1。正乘子的1、2、5号恰等于1。范数平方1,原目标 ;对偶目标是乘子和1减半个范数平方,也为 ,给出一致的最优值检查。
小检查(补充):新点 被分在哪一侧?这是否说明任何数据的第二个特征都没用?
参考答案
分数 ,预测正类。这仅是此训练集得到的模型;换训练数据会得到其他 ,不能删除别的任务的第二个特征。测试点不必达到训练时要求的单位间隔。
非零乘子对应哪些点(p.30–31)
题面(L04-Support-Vector-Machine-2026T1.pdf · Quiz · p.30)
p.30 As we have mentioned in this toy example, we have 8 data points:
If we have calculated the optimal Lagrange multipliers:
Which of the following points are support vectors?
A
B
C
D
公式按讲义重排。下面保留原问题的全部候选,再逐步判断。
p.30的Quiz把八点依次改成 ,给出的非零乘子在3、4、5号,值为0.0266、0.0533、0.0800。题目问支持向量,先按编号查坐标,不用重新求优化解。
因此3号 、4号 、5号 对应选项C,p.31给出同一解释。支持向量可以来自负类;“support”并不是“支持正类的点”。给出的三位/四位小数是舍入显示, 不能当作精确解违反等式的证据。
用这一题巩固两个不同任务:题目已给乘子,只需识别非零项;如果只给样本,你必须求解或用几何确定最优线,不能先猜哪些点支持它。历史HW02的恢复、预测与删点练习见附录 A1;它来自2025T1,不是本学期新作业题面。
本讲核心考点
- 距离需除以范数;规范化后总间隔为2除范数(p.14–20,C 级)。
- 对偶中每样本一个α,预测只需非零α样本(p.23–26,A 级:HW02 Q1)。
- 边界变化与给定测试点类别变化是两件事(p.26,A 级:HW02 Q1(c))。
附录
A1 作业/往年题演练(非讲义内容):HW02 的边界、预测与删点
题面(HW02-2025T1-题目.pdf · Q1(a)–(c) · p.1;表格为图片,视觉读取)
p.1 1. Consider the following training and test data set:
(a) Set up the optimization problem using and write down the dual problem of optimization. Then, given that the optimal , . Based on these , which are the support vectors? Then, calculate the function of optimal hyperplane of this model. (10%)
(b) Given the test data points, how can we use the optimal hyperplane to predict them? Please write corresponding formulas and then get the predictions. (10%)
(c) If we remove the 2nd data point in training set and use the remaining 7 points to train the SVM model, will the prediction of test data change? How about removing the 8th data point? (5%)
公式按原题重排。
表(题面,p.1):完整数据
| i | train x1 | train x2 | train y | test x1 | test x2 | test y |
|---|---|---|---|---|---|---|
| 1 | 3.5 | −2 | 1 | 5.5 | 0.5 | 1 |
| 2 | 5 | 1.5 | 1 | 3.5 | −0.5 | 1 |
| 3 | 3 | 3 | 1 | 4.5 | 1.5 | 1 |
| 4 | 5.5 | −1 | 1 | 2.5 | −1 | 1 |
| 5 | 4.5 | −5 | −1 | 3.5 | −4.5 | −1 |
| 6 | 3.5 | −6.5 | −1 | 2.5 | −4 | −1 |
| 7 | 3 | −4 | −1 | 4 | −6 | −1 |
| 8 | 4 | −3.5 | −1 | 5 | −5 | −1 |
这道2025T1旧题分三个动作:把给出的最优乘子翻译成边界;将测试点代入;改变训练集后重新判断。它不是本学期作业完成状态的记录。
(a) 先列问题,再恢复参数。 训练样本8条,前四标签+1、后四−1,因此对偶约束是每项乘子非负,且前四项之和等于后四项之和。目标用正文对偶式取 ,所有 由表中坐标相乘求和,例如 。只有1、8号乘子非零,恢复公式只剩两项:
负号来自8号真实标签−1。用1号求偏移,内积 ,因此 。8号内积为−5.8,给出 ,两点一致。
边界 。训练点分数依次是1、4.6、7.2、1.4、−3、−4.4、−1.2、−1。乘上标签后全至少1,所以算出的线不仅经过两条支撑面,还满足其他六条约束。
(b) 测试时不重新训练。 固定刚才的 ,每个测试点算分数,取符号。第一条为 ,预测正类;其余按相同规则。
| 测试编号 | 旧边界分数 | 预测 |
|---|---|---|
| 1 | 3.2 | +1 |
| 2 | 2.8 | +1 |
| 3 | 4.8 | +1 |
| 4 | 2.6 | +1 |
| 5 | −2 | −1 |
| 6 | −1 | −1 |
| 7 | −4 | −1 |
| 8 | −3.2 | −1 |
八项均与题表真实标签相同。这个表只评价题给八点,没有说明所有未来样本的准确率。
(c) 删除样本要区分“删一项”与“重新优化”。 删2号时,它旧乘子为零且功能间隔4.6大于1;去掉对应约束后,原解与剩余乘子仍满足全部最优条件,因而边界可保持,测试预测也保持。
删8号则不能直接从旧 中减去那一项后称为新最优。重新寻找剩余点的紧约束,取正类1号 与负类7号 。两者差 ,平方距离为 。若以这对点作两侧支持点,法向量应平行差向量;设 。两点分数差必须是 ,所以
代正点要求分数1,得 。先验其他点:剩余1到7号的功能间隔依次为 ,均至少1。为什么这个可行候选已最优?任何分开这对异类点的支撑面,宽度不能超过两点距离 ;本候选两面垂直它们连线,宽度 ,达到该上界,所以是最大间隔。
最后重算测试分数,依次为 。符号仍与原来相同。结论必须说完整:边界、分数、间隔都变了,但本题给出的八个测试类别没有变。“删支持向量可能影响预测”只是一般可能性,不能替代这道题的逐点检查。
来源与证据
-
页码按当前本地阅读版 PDF;L04 共69页,未把旧年份讲义当成本学期原件。
-
原件:L04-Support-Vector-Machine-2026T1.pdf(本地课件),p.8–31;均为当前 PDF 页号。
-
本次正文逐页核对本讲原件;文末历史题明确标旧年份,只作练习,不据此推断本学期考核要求。
-
往年卷仅证明相应年份考过;2024 卷及 2025 节选未公开的选择题不作推断。