本节摘要:支持向量机的全部追问都围绕两条主线:几何上,最大化分类间隔让决策边界对扰动最不敏感;计算上,对偶问题引入核函数,把「线性不可分」变成「高维空间里线性可分」。软间隔的 C 与松弛变量负责在完美间隔与容忍误分之间交易。
线性模型与树模型之后,SVM 提供了第三种世界观:不预测概率、不做递归分裂,而是直接寻找「离两边都尽量远」的那条边界。它在面试里的地位来自推导的层次感——几何、优化、核技巧三层逐级深入,非常适合做追问链的压力测试。这一节同样大量回收第 1 章的语言:最大化间隔本质上是在控制模型的复杂度。
主问题:「解释一下支持向量机和它的最大间隔思想。」
SVM 在特征空间里寻找一个超平面,把两类样本分开,并让两类中离超平面最近的样本到平面的距离(即间隔)最大。那些恰好落在间隔边界上、决定超平面位置的样本就叫支持向量——删掉其余任何样本,解都不变;动一个支持向量,边界就移动。最大化间隔等价于最小化系数的平方范数,在约束「样本被正确分开」之下成为一个凸二次规划问题。
要主动补的一句是「为什么最大间隔好」:间隔越大,边界对样本扰动的容忍度越高,泛化误差的上界与间隔成反比——这是 SVM 与第 1 章偏差方差框架最深的连接,它不靠平均也不靠迭代,直接把「稳」写进了目标函数。

追问:「原始问题已经是凸二次规划,为什么要转到对偶问题?」
这题筛掉过大量背书选手,推荐按「一个数学动机、一个算法动机、一个理论动机」作答:
顺带说出 KKT 条件的角色:支持向量的稀疏性由互补松弛条件刻画——非支持向量的拉格朗日乘子严格为零。能点到互补松弛,说明你不是在背「对偶好」。
追问:「随便找一个函数当核可以吗?高斯核和多项式核怎么选?」
先答合法性再答选择,顺序不能乱。
硬间隔原始问题: min (1/2)||w||² s.t. y_i(w·x_i + b) ≥ 1 软间隔原始问题: min (1/2)||w||² + C·Σξ_i s.t. y_i(w·x_i + b) ≥ 1 - ξ_i, ξ_i ≥ 0 对偶问题: max Σα_i - (1/2)ΣΣ α_i α_j y_i y_j K(x_i, x_j) s.t. Σ α_i y_i = 0, 0 ≤ α_i ≤ C 预测: f(x) = Σ α_i y_i K(x_i, x) + b (只有 α_i > 0 的支持向量参与求和)
这组式子建议能默写框架而非每个下标:原始、软间隔、对偶、预测四层各说得出「谁约束谁」即可支撑绝大多数追问。
及格:说出最大间隔与支持向量的含义;良好:完整回答「为什么求对偶」三个动机,或给出核函数的合法性判据与常用核取舍;优秀:能写出软间隔目标函数并解释 C 的交易逻辑,把「样本规模大到什么程度该放弃 SVM」这类工程边界讲清楚。SVM 题的深度上限很高,答到哪一层,基本划定了整场面试技术轮的天花板预期。
下一节换个口味,讲两个「简单得可疑」的算法:KNN 与朴素贝叶斯。它们常被轻视,但追问起来恰恰最容易暴露基本功的成色。
问:SVM 和逻辑回归怎么选?
看需求清单:要概率输出与校准,逻辑回归原生占优;要边界鲁棒与中小样本非线性边界,SVM 占优;样本量到十万级,SVM 的核矩阵成本失控,逻辑回归或树集成接管。两者的损失函数(hinge 对交叉熵)只惩罚「错得多的样本」与「全体样本」的方式不同,这也解释了 SVM 解的稀疏性。
问:松弛变量和 C 的关系一句话说清?
松弛变量度量每个样本的违约量,C 是违约的总预算单价:C 大,模型拼命迁就每个样本、间隔窄、方差大;C 小,模型容忍误分、间隔宽、偏差大。它是又一个「偏差换方差」的旋钮。
问:高斯核为什么原则上能拟合任何训练集?
带宽足够小时,每个样本都成为自己的支持向量,模型退化为记忆训练集——训练误差可以到零,泛化崩溃。这个极端恰好说明「能拟合」与「能泛化」是两回事,也是 C 与 gamma 必须联调的原因。
表达纪律:SVM 题层层有公式,但每一层都先给几何直觉再落符号,纯符号输出会让非数学背景的面试官失去耐心。
问:SVM 对特征缩放敏感吗?
敏感——内积与距离直接被量纲支配,不缩放的 SVM 基本不可用,这与 KNN 同病。树模型免缩放而核方法必缩放,这条分界线在选型题里反复出现。
问:支持向量的数量多意味着什么?
意味着数据重叠严重、问题接近线性不可分,模型在「记住边界附近的样本」而不是「抓住结构」;也预示推理成本上升(预测要对全部支持向量算核)。支持向量占比是模型健康度的免费体检指标。