跳到主要内容

四个模型、一条直线、四种损失。学这一章不是学四个算法,是学「损失函数怎么决定一个模型的性格」。

线性分类器:四个模型,差别只在损失函数

1. 这一章讲什么

三件事: 一条直线怎么变成分类器(要套一个决策函数); 四个经典模型各自怎么入手、差别在哪; 以及为什么「它们的判别函数完全相同,差别只在损失函数」这句话成立。

它在全书链条里的位置: 这是第 05、06 章的第二次整机装配—— 这次把五种损失函数全部用上场。书里说得明白: 一个人工神经元,本质上就是「线性加权和 + 非线性激活」; 而多分类神经网络的最后一层,通常正是 Softmax 回归1。 所以这一章的每个模型,都是后面深层网络身上的一块活组织; 第 11 章反向传播的输出层梯度,和这里推的一模一样2

需要第 05、06 章。 第 9 节兑现第 02 章第 8 节的 KKT 互补松弛。

2. 顶层全景

打分:一条直线(高维里是超平面)
f(x) = w·x + b ← 四个模型完全一样

▼ 外面套一个决策函数
判断:y = 看 f 的正负(或哪个 f 最大) ← 四个模型几乎一样

▼ 真正的分歧:拿什么损失来训 w
┌───────────┬──────────────────┬─────────────────┐
Logistic 回归 Softmax 回归 感知器 支持向量机
log(1+e^−yf) 多类交叉熵 max(0, −yf) max(0, 1−yf)
「错多少都要管」 「多类的它」 「错了才改」 「分对还不够,
要留出空当」

一句话链条: 直线给出打分 → 决策函数把打分翻成类别 → 损失函数决定「什么样的错误挨多重的罚」,而这就是四个模型全部的区别。

3. 直线不能直接当分类器

问题: 第 06 章的直线预测的是连续值,可类别是离散的—— 「甜度 7.3」可以是答案,「类别 1.5」不是。

书里的处理:在线性打分外面,套一个非线性的决策函数 g(·)3。 二分类时最简单的决策函数是符号函数:f > 0 判正类,f < 0 判负类, f = 0 的点组成的面叫决策边界4——二维里是一条直线, 高维里是一个超平面,它与权重向量 w 正交5

样本到决策边界的有向距离也有公式:f(x) ÷ ‖w‖6—— 打分 f 的绝对值,就是「离边界多远」的度量(差一个 ‖w‖ 的倍数)。 这个量在支持向量机那一节会变成主角。

如果存在一组参数让所有样本都满足 y·f(x) > 0(每个样本都站在边界正确的一侧), 这份数据就叫线性可分7

训练目标还是老问题: 最直观的 0-1 损失(分错记 1)不连续、非凸、 梯度几乎处处为 08。所以实际用的都是替代损失—— 连续、凸、是 0-1 损失的上界,最小化它通常也能把错误率压下去9这一章的四个模型,就是四种不同的替代损失。

4. 多于两类怎么办

问题: 类别有 C 个,直线只会一分为二,怎么办?

书里给了三种方式10:

方式要几个判别函数毛病
一对其余C 个:第 c 个把「是 c」和「不是 c」分开会有判不出来的区域
一对一C(C−1)/2 个:每两类之间一个同样有判不出来的区域
argmaxC 个打分,谁大归谁没有死角

前两种是把多分类拆成一堆二分类,但它们的「势力范围」会重叠或留白—— 特征空间里存在一些区域,几个分类器说法不一或者都不肯认领10。 argmax 方式直接比大小,每个点都有唯一的赢家; 相邻两类 i、j 的分界线就是「两个打分相等」的那条: f_i(x) = f_j(x),其法向量是 w_i − w_j10——决定类别的从来不是单个打分的绝对值, 而是打分之间的差。 这句话在 Softmax 那节还会回来。

5. Logistic 回归:把打分挤成概率

先看现象: 符号函数只告诉你「哪边」,不告诉你「多肯定」。 离边界 0.01 和离边界 100,在它眼里一样——但对你显然不一样。

Logistic 回归的做法:把打分 f 送进 Logistic 函数 σ, 挤压到 (0, 1) 之间,读作「属于正类的条件概率」11。 书里在这里把这个挤压函数叫激活函数—— 先记个名字,第 10 章它会变成主角11

它有个让数学特别干净的性质:打分 f 正好等于「几率的对数」12——

f(x) = log( p(y=1|x) / p(y=0|x) )
↑ 这个比值叫几率(Odds),取对数叫对数几率

所以 Logistic 回归又名对数几率回归: 它表面在做分类,骨子里是一个「预测对数几率」的线性回归12。 注意一个容易误读的点:虽然输出过了非线性, 决策边界仍由线性方程 w·x = 0 决定——它依然是线性模型13

训练:用交叉熵损失 + 梯度下降14。推导用到一个漂亮的导数性质 σ′(z) = σ(z)(1−σ(z)),链式法则走完,梯度化简成一行15:

∂R/∂w = −(1/N) Σ x·(y − ŷ)

「真实 − 预测」乘上输入

「预测减真实」这个形状,第 11 章会在每个神经网络的输出层再见到一次2。 而且这个风险函数是连续可微的凸函数——第 02 章讲过,凸地形上梯度下降必达全局最低16

6. Softmax 回归:多类版本

问题: Logistic 回归只管两类,多类呢?

不用新发明东西。给每个类别配一个权重向量 w_c,得到 C 个打分; 再把 C 个打分用 Softmax 函数按比例挤成一份概率清单: 各项都为正、加起来等于 1,指数函数还会放大打分之间的差距, 让最大打分对应最大概率17。这就是 Softmax 回归, 它是 Logistic 回归在多分类上的推广18—— 而且 C = 2 时,它正好退化回 Logistic 回归17

这个模型藏着一个参数冗余,书里专门用边注点破19: 把所有类别的权重向量同时减去同一个向量,每个打分都平移同一个量, softmax(把打分归一成概率)的输出一个数都不变。真正决定类别的,是各类别打分之差, 不是权重向量的绝对位置——这正是第 4 节 argmax 那句话的数学版。 代价是参数比必要的多,后面要靠一个惩罚项把它管住(正则化,第 19 章展开); 这个性质也被反过来利用:计算 softmax 前先减去最大打分,防止指数溢出17

7. 感知器:错了才改

先看年代: 感知器由 Frank Rosenblatt 在 1957 年提出—— 比另外三个模型都老,它是最简单的人工神经网络,只有一个神经元20。 (书里边注还记了一笔:最早的感知器是一台机器,后来才被写成程序20。)

它的学习规则朴素到极致:错误驱动21。 对了,什么都不做;分错一个样本(或恰好压在边界上), 就用这个样本把权重往正确方向推一把:

如果 y·(w·x) ≤ 0: w ← w + y·x

一推的效果立竿见影:更新后,这个样本的 y·(w·x) 增加了 ‖x‖²—— 它不一定立刻被分对,但肯定离边界近了一步。

它等价于对感知器损失 max(0, −y·f(x)) 做随机梯度下降22—— 损失只在分错时非零,所以「对了不动、错了才改」。

它有一个 1963 年的定理撑腰(Novikoff): 只要数据线性可分,感知器在有限次更新内必然收敛; 而且更新次数有上界:R²/γ²——R 是最大样本向量的长度, γ 是那个「 separating margin 」(所有样本离最优边界的最近距离)23间隔越大,收敛越快——第一次,「间隔」这个概念和「好学」挂上了钩。

但书里也如实列了三条不足24:能分开,但不保证泛化能力(随便一条能分开的边界都行); 对样本顺序敏感(排在后面的错误样本对最终权重影响更大); 不可分时,有限步收敛的保证没了

第二条毛病有个优雅的补丁:把训练过程中出现过的所有权重向量都存下来, 按「各自活过了多少个样本」加权投票——活得越久的权重越值得信赖25。 这叫投票感知器;再进一步,不存全部、只维护一个平均权重, 就是平均感知器25「把一路走来的参数平均一下更稳」这个思想, 会在第 17 章的优化算法里以另一种形式回来。

8. 从两类推到序列:广义感知器

问题: 感知器只会输出 +1/−1,输出要是一个序列、一棵树呢?

书里的推广只有一步:把特征函数从「只看输入」换成「同时看输入和输出」—— 引入联合特征函数 φ(x, y),把一对「输入+候选输出」映成一个向量26。 预测时,在所有候选输出里挑打分最高的:ŷ = argmax w·φ(x, y)26

更新规则同一个模子:分错了,就把「正确标签的特征」加进来、 「错误标签的特征」减出去27。多分类是它的特例: 取 φ(x, y) = x 与 one-hot 标签的外积,就回到普通的 C 类感知器28而且只要「广义线性可分」,同一个 R²/γ² 收敛定理照样成立29

这一节的价值不在感知器本身,而在它演示了一件事: 「打分 + argmax + 错了就更新」这套骨架,可以从二分类一路抬到结构化输出(按预定义格式作答)。 第 2 章说的结构化学习,这是全书给出的第一个具体形态。

9. 支持向量机:不只要分对,还要留出空当

先看现象: 感知器找到「随便一条能分开的线」就收工。 可两条都能分开的线,一条贴着样本走、一条从正中间穿过去—— 哪条更让人放心? 直觉说:中间那条。噪声一来,贴边的先翻车。

支持向量机(SVM)把这个直觉变成目标:最大化间隔30。 间隔 = 全体样本到分割超平面的最短距离31。 书里给的理由:间隔越大,划分越稳定,越不容易受噪声影响32; 而且可以证明,能分开的超平面有无数个,间隔最大的那个是唯一的33

把「间隔最大化」写成优化问题,等价于:在「所有样本的 y·f(x) ≥ 1」约束下, 最小化 ½‖w‖²34。这是一个带约束的凸优化——第 02 章的拉格朗日乘数法和 KKT 条件,在这里连本带利兑现。

对每条样本的约束配一个乘数 λ_n ≥ 0,令导数为零,得到35:

w = Σ λ_n · y_n · x_n 权重是样本的加权和

然后是全书最漂亮的一次「定理直接读出现象」: KKT 的互补松弛条件说, 对每个样本,λ_n × (该样本的约束余量) = 036——

样本不贴边(约束没顶到) ──▶ λ_n = 0 它对 w 的贡献是 0
样本贴边(约束顶死) ──▶ λ_n ≥ 0 它留在 w 里

所以最优权重只由「贴着边界的那几个样本」决定——它们才叫支持向量36。 其余样本全部删掉,解一个数字都不变。预测时同样只需要这几个样本37第 02 章那句「没顶到边界的约束等于不存在」,在这里就是字面意思。

现实数据分不开怎么办?软间隔。 给每个样本配一个松弛变量 ξ_n ≥ 0,允许它「欠账」, 但欠的账按系数 C 罚进目标函数38。把最优的 ξ 代回去, 整个问题化成一个无约束形式38:

min Σ max(0, 1 − y·f(x)) + (1/2C)·‖w‖²
↑ ↑
Hinge 损失(第 05 章) 正则化项(第 06 章)

软间隔支持向量机 = Hinge 损失 + ℓ2 正则化。 Hinge 损失的读法: y·f > 1 才零损失——分对还不够,还要带着至少 1 的空当分对。 这就是「间隔」落在损失函数上的样子。

10. 核函数:原空间分不开,就换个空间

问题: 有些数据,在原空间里任何直线都分不开(比如同心圆)。只能认输吗?

支持向量机有一张王牌:把样本映射到更高维的空间,在那里画直线39。 高维里的直线,映回原空间就是弯的边界。

这张王牌的巧妙在于不用真的算映射。 回看上一节:对偶形式和决策函数里,样本从不单独出现, 出现的永远是两个样本的内积 x·z39。所以只要有一个函数 k(x, z) = φ(x)·φ(z) 能直接算出「映射之后的内积」, φ 长什么样根本不用写出来——这叫核技巧40

书里的例子:k(x, z) = (1 + x·z)²,对应一个六维的显式映射40; 更常用的是高斯核 k(x, z) = exp(−γ‖x−z‖²), 它连显式的 φ 都不给,却能把同心圆这类结构映到高维后线性分开41

核函数是「换个空间算内积」这一行里工程上最成熟的做法—— 但注意,第 05 章那句话在这里同样成立:映射 φ 是人选的, 它就是我们主动塞进去的那份归纳偏置。

11. 四种损失摆在一起

收个尾。统一用 y·f(x) 当横轴(分对为正、越大越好),四个模型的损失是42:

0-1 损失 分错记 1 阶梯(没法优化,只作参照)
感知器损失 max(0, −yf) 分对就归零,不管多悬
Hinge 损失 max(0, 1 − yf) yf < 1 都还有账
Logistic 损失 log(1 + e^−yf) 处处平滑,永远有账可算

书里的读法43:Logistic 损失平滑、带概率解释; 感知器损失只关心是否错分;Hinge 损失不仅要求分对,还要求留出间隔。 一条好损失曲线,应该随 yf 增大而下降—— 按这条标准,连平方损失都不适合分类:yf 很大时它反而回升 (预测得越自信,离 y=±1 越远,平方损失反而变大)43

决策函数相同,损失函数不同——这就是四个模型的全部关系44。 原书表 3.1 把激活函数、损失函数、优化方法列成对照,值得抄一遍:

模型激活函数损失函数优化方法
线性回归——平方损失最小二乘、梯度下降
Logistic 回归σ(w·x)二分类交叉熵梯度下降
Softmax 回归softmax(W·x)多类交叉熵梯度下降
感知器sgn(w·x)感知器损失随机梯度下降
支持向量机sgn(w·x)Hinge 损失二次规划、SMO 等

12. 主走查:四个点、四种更新

输入: 二维两类。正例 [1, 1]、[2, 1] (y=+1),负例 [−1, −1]、[0, −1] (y=−1)。 这批数据与学习率是我们为演示定的。 参数全部从零起步。

感知器(增广向量,样本按 x₁→x₄ 顺序过一遍):

w = [0,0,0]
x₁=[1,1,1], y=+1: y·(w·x) = 0 ≤ 0 → 更新:w = [1,1,1]
x₂=[2,1,1], y=+1: w·x = 4 > 0 → 不动
x₃=[−1,−1,1], y=−1: y·(w·x) = (−1)(−1) = 1 > 0 → 不动
x₄=[0,−1,1], y=−1: w·x = 0, y·f = 0 ≤ 0 → 更新:w = [1,1,1] + (−1)[0,−1,1] = [1,2,0]

一轮之后 w = [1, 2, 0],验证:四个样本的 y·f 分别为 3、4、3、2,全部为正,分开完成。 注意它找到的是「随便一条能分开的线」——间隔多大,它不管。

Logistic 回归(y∈{0,1},批量梯度下降,α=1):

初始 w = [0,0,0],每个样本的预测 ŷ = σ(0) = 0.5,损失 = log 2 = 0.693

梯度 = −(1/4)·Σ x(y − ŷ):
x₁:[1,1,1]×0.5 x₂:[2,1,1]×0.5 x₃:[−1,−1,1]×(−0.5) x₄:[0,−1,1]×(−0.5)
合计 = [2.5, 2.0, 0] → 梯度 = −[0.625, 0.5, 0]

更新:w = [0.625, 0.5, 0]
新预测:0.755、0.852、0.245、0.378 → 平均损失 0.300(从 0.693 降下来)

软间隔 SVM(Hinge + ½‖w‖²,C=1,α=0.1):

初始 w = [0,0], b = 0:每个样本 y·f = 0 < 1,Hinge 全部激活(各欠 1)
Σ损失 = 4.0

梯度 = Σ(−y·x) + w = [−4, −4] + [0,0];∂b = Σ(−y) = 0
更新:w = [0.4, 0.4],b = 0

新的 y·f:0.8、1.2、0.8、0.4 → Hinge 合计 0.2+0+0.2+0.6 = 1.0(从 4.0 降下来)

三种更新摆在一起: 感知器只看错没错(对了就停手); Logistic 对「不够肯定」持续收账;Hinge 收到 y·f ≥ 1 才罢休—— 同一个起点,三种性格,全写在损失里。

另起第一处:Softmax 三分类。 加一个第三类点 [0, 2]。 初始三组权重全零,打分 [0,0,0],softmax = [1/3, 1/3, 1/3],损失 = log 3 = 1.099。 对真实类(第 3 类)样本 [0, 2] 走一步(α=1):

w₁ = [0, −2/3, −1/3] w₂ = [0, −2/3, −1/3] w₃ = [0, +4/3, +2/3]
新打分 z = [−5/3, −5/3, 10/3] → softmax ≈ [0.007, 0.007, 0.987]
损失:1.099 → −log(0.987) ≈ 0.013

参数冗余当场演示: 三组权重同减一个向量,等价于三个打分同减一个数。 把 z 各项同减 3:[−14/3, −14/3, 1/3]——softmax 结果一字不差,仍是 [0.007, 0.007, 0.987]。决定类别的只有打分之差。

另起第二处:核函数(只走「映过去就直了」这一步)。 内圈四个点(半径 1)是一类,外圈四个点(半径 2)是另一类—— 原空间里画不出任何直线。取映射 φ(x) = [x₁², x₂²]: 内圈映成 [1,0] 或 [0,1] (坐标和恒为 1),外圈映成 [4,0] 或 [0,4] (坐标和恒为 4)。 在映过去的空间里,「两坐标之和 = 2.5」就是一条直线,完美分开。 原空间算不出、映过去就是一条直线——核技巧的全部要义。

13. 作者的判断与证据

书里给了严格定理的: 感知器收敛定理(线性可分则有限步收敛,上界 R²/γ²) 及其证明23;「间隔最大的超平面存在且唯一」33; SVM 的 KKT 推导与支持向量的由来36;Softmax 与 Logistic 的梯度化简15

书里给了明确对照的: 「这些模型的判别函数都建立在线性函数之上, 核心差别主要体现在损失函数和相应的学习准则上」44—— 这是本章的题眼,也是原书第 3 章自己的组织原则。

书里坦白的: 感知器三条不足(不保证泛化、对顺序敏感、不可分不收敛)24; SVM 的适用范围是「中小规模数据或高维稀疏特征场景」37—— 没有把它说成万灵药,和第 07 章的没有免费午餐定理前后呼应。

书里埋下伏笔的: 「Logistic 回归的交叉熵损失函数和梯度更新公式, 与后续多层神经网络输出层的处理完全一致」2——第 11 章会原样用到。

14. 边界与局限

线性模型的天花板就是「决策边界是超平面」。 核技巧能把它弯过来,但 φ 要人选;自动学出 φ,是第 10 章的事—— 书里自己也说:「后续章节中的深层网络可以看作先学习一个新的表示, 再在这个表示空间中使用线性分类器」1

SVM 的求解细节(SMO 算法)只点名没展开45。 大数据集上它也不再是首选——书里把适用场景限定得很清楚37

多分类的「一对其余」「一对一」只给了定性缺陷, 具体的判不出来区域长什么样,书里用图说明,我们把结论留在第 4 节。

概率解释只有 Logistic 一脉有。 感知器和 SVM 的输出不是概率, 要接第 08 章的概率校准,得另加工序(书里没展开)。

15. 可带走的

  1. 分类 = 线性打分 + 一个决策函数;决策边界就是打分为 0 的那个超平面;
  2. 多分类用 argmax 才没有死角;决定类别的是打分之差,不是绝对值;
  3. Logistic 回归 = 预测对数几率的线性回归,输出才是概率;
  4. 交叉熵 + Logistic 的梯度 = 「真实 − 预测」× 输入——这个形状会反复出现;
  5. Softmax 权重有冗余:同减一个向量,输出不变——所以它离不开正则化;
  6. 感知器:错了才改,线性可分时有限步必收敛,上界 R²/γ²;
  7. 支持向量机最大化间隔;解只依赖贴边的支持向量——这是 KKT 互补松弛的字面读法;
  8. 软间隔 SVM = Hinge 损失 + ℓ2 正则化——「分对还要留空当」;
  9. 核函数 = 不显式映射、直接算高维内积——同心圆映过去就是一条直线;
  10. 四个模型决策函数相同,性格全在损失函数里——选损失就是选模型的价值观。

16. 原文地图

主题原书章原文位置
决策函数与判别函数第3章 线性模型text/04-ch03.txt:22(搜「非线性的决策函数」) · text/04-ch03.txt:27(搜「也称为判别函数」)
决策边界与线性可分第3章 线性模型text/04-ch03.txt:40(搜「表示位于决策边界上」) · text/04-ch03.txt:84(搜「决策边界是线性超平面」) · text/04-ch03.txt:135(搜「两类线性可分」)
替代损失第3章 线性模型text/04-ch03.txt:149(搜「不连续且非凸」) · text/04-ch03.txt:158(搜「连续上界」)
多分类三种方式第3章 线性模型text/04-ch03.txt:166(搜「一对其余」) · text/04-ch03.txt:192(搜「难以确定类别的区域」) · text/04-ch03.txt:196(搜「其法向量为」)
Logistic 回归第3章 线性模型text/04-ch03.txt:222(搜「与前面的符号函数只能输出类别不同」) · text/04-ch03.txt:252(搜「称为几率」) · text/04-ch03.txt:234(搜「仍由线性方程」)
Logistic 的梯度第3章 线性模型text/04-ch03.txt:282(搜「采用交叉熵作为损失函数」) · text/04-ch03.txt:332(搜「利用 Logistic 函数的导数性质」) · text/04-ch03.txt:371(搜「连续可微的凸函数」)
Softmax 回归第3章 线性模型text/04-ch03.txt:386(搜「使最大值对应的概率最大」) · text/04-ch03.txt:398(搜「在多分类问题上的推广」)
参数冗余第3章 线性模型text/04-ch03.txt:584(搜「存在参数冗余」) · text/04-ch03.txt:586(搜「而不是各类别权重向量的绝对位置」)
感知器与错误驱动第3章 线性模型text/04-ch03.txt:591(搜「于 1957 年提出」) · text/04-ch03.txt:617(搜「错误驱动」)
感知器收敛定理第3章 线性模型text/04-ch03.txt:697(搜「可以在有限次迭代后收敛」) · text/04-ch03.txt:717(搜「权重更新次数不」)
三条不足与参数平均第3章 线性模型text/04-ch03.txt:775(搜「并不能保证其泛化能力」) · text/04-ch03.txt:800(搜「越值得信赖」)
广义感知器第3章 线性模型text/04-ch03.txt:865(搜「输入输出联合空间」) · text/04-ch03.txt:943(搜「广义」)
支持向量机与间隔第3章 线性模型text/04-ch03.txt:959(搜「最大化分类间隔」) · text/04-ch03.txt:968(搜「到分割超平面的距离」) · text/04-ch03.txt:996(搜「其分割超平面有很多个」)
KKT 与支持向量第3章 线性模型text/04-ch03.txt:1067(搜「其约束失效」) · text/04-ch03.txt:1069(搜「离决策边界最近的点」)
软间隔与 Hinge第3章 线性模型text/04-ch03.txt:1143(搜「引入松弛变量」) · text/04-ch03.txt:1154(搜「基于 Hinge 损失的无约束优化形式」)
核函数第3章 线性模型text/04-ch03.txt:1097(搜「映射到更高维的空间」) · text/04-ch03.txt:1109(搜「通过核技巧」) · text/04-ch03.txt:1118(搜「同心圆型数据」)
四种损失对比第3章 线性模型text/04-ch03.txt:1203(搜「Hinge 损失不仅要求分对」) · text/04-ch03.txt:1214(搜「除了平方损失」)
表 3.1 模型对照第3章 线性模型text/04-ch03.txt:1234(搜「几种常见的线性模型的比较」)

Footnotes

  1. 出处:「第3章 线性模型」第 62 段(text/04-ch03.txt:62,搜「再经过非线性激活函数」) 与第 64 段(text/04-ch03.txt:64,搜「再在这个表示空间中使用线性分类器」)。 原文:「一个人工神经元本质上先计算线性加权和 wᵀx + b,再经过非线性激活函数; 而多分类神经网络的最后一层通常正是 Softmax 回归…… 后续章节中的深层网络可以看作先学习一个新的表示 h(x),再在这个表示空间中使用线性分类器。」 2

  2. 出处:「第3章 线性模型」第 1268 段(text/04-ch03.txt:1268,搜「输出层的处理完全一致」)。 原文:「本章介绍的 Logistic 回归的交叉熵损失函数和梯度更新公式, 与后续多层神经网络(第4章)输出层的处理完全一致,为理解反向传播算法奠定了基础。」 2 3

  3. 出处:「第3章 线性模型」第 22 段(text/04-ch03.txt:22,搜「非线性的决策函数」)。

  4. 出处:「第3章 线性模型」第 40 段(text/04-ch03.txt:40,搜「表示位于决策边界上」)。

  5. 出处:「第3章 线性模型」第 84 段(text/04-ch03.txt:84,搜「决策边界是线性超平面」)。 原文:「该超平面与权重向量 w 正交。」

  6. 出处:「第3章 线性模型」第 99 段(text/04-ch03.txt:99,搜「在 𝒘 方向上的投影」)。 有向距离公式 γ = f(x; w)/‖w‖ 见公式(3.6),同页。

  7. 出处:「第3章 线性模型」第 135 段(text/04-ch03.txt:135,搜「两类线性可分」)。 定义 3.1:存在 w* 使所有样本满足 y·f(x; w*) > 0,则训练集线性可分。

  8. 出处:「第3章 线性模型」第 149 段(text/04-ch03.txt:149,搜「不连续且非凸」)。

  9. 出处:「第3章 线性模型」第 153 段(text/04-ch03.txt:153,搜「替代损失」) 与第 158 段(text/04-ch03.txt:158,搜「连续上界」)。 原文:「实际中常使用连续、凸的替代损失来近似 0-1 损失,如 Hinge 损失、交叉熵损失、 Logistic 损失等。替代损失函数通常是 0-1 损失的连续上界。」

  10. 出处:「第3章 线性模型」第 166 段(text/04-ch03.txt:166,搜「一对其余」)、 第 192 段(text/04-ch03.txt:192,搜「难以确定类别的区域」) 与第 196 段(text/04-ch03.txt:196,搜「其法向量为」)。 原文:「『一对其余』方式和『一对一』方式都存在一个缺陷: 特征空间中可能出现一些难以确定类别的区域,而『argmax』方式可以避免这一问题。」 2 3

  11. 出处:「第3章 线性模型」第 222 段(text/04-ch03.txt:222,搜「与前面的符号函数只能输出类别不同」) 与第 230 段(text/04-ch03.txt:230,搜「通常称为激活函数」)。 原文:「其中 g(⋅) 通常称为激活函数,其作用是把线性函数的值域 从实数区间『挤压』到了 (0, 1) 之间,可以用来表示概率。」 2

  12. 出处:「第3章 线性模型」第 252 段(text/04-ch03.txt:252,搜「称为几率」) 与第 255 段(text/04-ch03.txt:255,搜「标签的对数几率」)。 原文:「Logistic 回归可以看作预测值为『标签的对数几率』的线性回归模型。 因此,Logistic 回归也称为对数几率回归。」 2

  13. 出处:「第3章 线性模型」第 234 段(text/04-ch03.txt:234,搜「仍由线性方程」)。 原文:「虽然输出概率经过了非线性映射,但模型的决策边界仍由线性方程 wᵀx = 0 决定, 因此它依然属于线性分类模型。」

  14. 出处:「第3章 线性模型」第 282 段(text/04-ch03.txt:282,搜「采用交叉熵作为损失函数」)。

  15. 出处:「第3章 线性模型」第 332 段(text/04-ch03.txt:332,搜「利用 Logistic 函数的导数性质」)。 化简结果 ∂R/∂w = −(1/N)Σ x(y − ŷ) 见公式(3.28)~(3.29),同页。 2

  16. 出处:「第3章 线性模型」第 371 段(text/04-ch03.txt:371,搜「连续可微的凸函数」)。

  17. 出处:「第3章 线性模型」第 386 段(text/04-ch03.txt:386,搜「使最大值对应的概率最大」)。 原文:「Softmax 通过指数函数放大了输入向量中各分量的差异,使最大值对应的概率最大。 当 C = 2 时,Softmax 退化为 Logistic 函数。在实际计算中,为防止指数溢出, 通常先减去 z 的最大值。」 2 3

  18. 出处:「第3章 线性模型」第 398 段(text/04-ch03.txt:398,搜「在多分类问题上的推广」)。

  19. 出处:「第3章 线性模型」第 584 段(text/04-ch03.txt:584,搜「存在参数冗余」) 与第 586 段(text/04-ch03.txt:586,搜「而不是各类别权重向量的绝对位置」)。 原文:「如果对所有权重向量同时减去同一个向量 v,模型输出不会改变…… 因此,Softmax 回归通常需要借助正则化来约束参数;这一性质也常被用来 改写 Softmax 的计算形式,以避免数值上溢出。」

  20. 出处:「第3章 线性模型」第 591 段(text/04-ch03.txt:591,搜「于 1957 年提出」) 与第 593 段(text/04-ch03.txt:593,搜「只有一个神经元」)。 边注:「最早发明的感知器是一台机器而不是一种算法,后来才被实现为 IBM 704 机器上可运行的程序。」 2

  21. 出处:「第3章 线性模型」第 617 段(text/04-ch03.txt:617,搜「错误驱动」)。 原文:「感知器的学习算法是一种典型的错误驱动在线学习算法。」

  22. 出处:「第3章 线性模型」第 625 段(text/04-ch03.txt:625,搜「次)梯度下降」)。 感知器损失 L(w; x, y) = max(0, −y·wᵀx) 见公式(3.67),同页。

  23. 出处:「第3章 线性模型」第 697 段(text/04-ch03.txt:697,搜「可以在有限次迭代后收敛」) 与第 717 段(text/04-ch03.txt:717,搜「权重更新次数不」)。 定理 3.1:线性可分时,更新次数不超过 R²/γ²。 2

  24. 出处:「第3章 线性模型」第 775 段(text/04-ch03.txt:775,搜「并不能保证其泛化能力」) 与第 776 段(text/04-ch03.txt:776,搜「对样本顺序比较敏感」)。 2

  25. 出处:「第3章 线性模型」第 796 段(text/04-ch03.txt:796,搜「投票感知器」) 与第 800 段(text/04-ch03.txt:800,搜「越值得信赖」)。 平均感知器的化简形式见公式(3.83)~(3.86),同页。 2

  26. 出处:「第3章 线性模型」第 865 段(text/04-ch03.txt:865,搜「输入输出联合空间」)。 广义感知器模型 ŷ = argmax wᵀφ(x, y) 见公式(3.88),同页。 2

  27. 出处:「第3章 线性模型」第 916 段(text/04-ch03.txt:916,搜「𝒘𝑘+1 ← 𝒘𝑘 + (𝜙(𝒙(𝑛) , 𝒚(𝑛) ) − 𝜙(𝒙(𝑛) , 𝒚̂(𝑛) ))」)。 见算法 3.3 第 8 行。

  28. 出处:「第3章 线性模型」第 880 段(text/04-ch03.txt:880,搜「𝜙(𝒙, 𝒚) = vec(𝒙𝒚 ) ∈ ℝ」)。 原文:「在 C 分类问题中,一种常用的特征函数 φ(x, y) 是 x 和 y 的外积。」

  29. 出处:「第3章 线性模型」第 943 段(text/04-ch03.txt:943,搜「广义」)。 定理 3.2:广义线性可分时,更新次数同样不超过 R²/γ²。

  30. 出处:「第3章 线性模型」第 959 段(text/04-ch03.txt:959,搜「最大化分类间隔」)。 原文:「它通过最大化分类间隔来寻找更稳健的分割超平面。」

  31. 出处:「第3章 线性模型」第 968 段(text/04-ch03.txt:968,搜「到分割超平面的距离」)。

  32. 出处:「第3章 线性模型」第 979 段(text/04-ch03.txt:979,搜「划分越稳定,不容易受噪声」)。

  33. 出处:「第3章 线性模型」第 996 段(text/04-ch03.txt:996,搜「其分割超平面有很多个」)。 2

  34. 出处:「第3章 线性模型」第 988 段(text/04-ch03.txt:988,搜「不会改变样本 𝒙(𝑛) 到分割超平面的距离」)。 原文说明:同时缩放 w → kw、b → kb 不改变距离,故可限制 ‖w‖·γ = 1, 把「最大化间隔」化为「最小化 ½‖w‖²」,见公式(3.96)~(3.97)。

  35. 出处:「第3章 线性模型」第 1041 段(text/04-ch03.txt:1041,搜「𝒘 = ∑ 𝜆𝑛 𝑦(𝑛) 𝒙(𝑛)」)。 见公式(3.99)。

  36. 出处:「第3章 线性模型」第 1067 段(text/04-ch03.txt:1067,搜「其约束失效」) 与第 1069 段(text/04-ch03.txt:1069,搜「离决策边界最近的点」)。 原文:「根据 KKT 条件中的互补松弛条件……如果样本不在约束边界上,λ* = 0, 其约束失效;如果样本在约束边界上,λ* ≥ 0。这些位于约束边界上的样本点 称为支持向量,也就是离决策边界最近的点。」 2 3

  37. 出处:「第3章 线性模型」第 1090 段(text/04-ch03.txt:1090,搜「高维稀疏特征场景」)。 原文:「在中小规模数据或高维稀疏特征场景下,它通常具有较好的泛化性能…… 在预测时往往只需要使用一部分训练样本。」 2 3

  38. 出处:「第3章 线性模型」第 1143 段(text/04-ch03.txt:1143,搜「引入松弛变量」) 与第 1154 段(text/04-ch03.txt:1154,搜「基于 Hinge 损失的无约束优化形式」)。 原文:「参数 C > 0 用来控制间隔和松弛变量惩罚的平衡。」 2

  39. 出处:「第3章 线性模型」第 1097 段(text/04-ch03.txt:1097,搜「映射到更高维的空间」)。 核化后的决策函数 f(x) = sgn(Σ λ_n y_n k(x_n, x) + b) 见公式(3.106),同页—— 样本只以内积形式出现。 2

  40. 出处:「第3章 线性模型」第 1109 段(text/04-ch03.txt:1109,搜「通过核技巧」)。 k(x, z) = (1 + xᵀz)² 及其六维显式映射见公式(3.107)~(3.108),同页。 2

  41. 出处:「第3章 线性模型」第 1118 段(text/04-ch03.txt:1118,搜「同心圆型数据」) 与第 1123 段(text/04-ch03.txt:1123,搜「不需要显式写出」)。

  42. 出处:「第3章 线性模型」第 1186 段(text/04-ch03.txt:1186,搜「= − log 𝜎(𝑦𝑓(𝒙; 𝒘))」)、 第 1196 段(搜「ℒ𝑝 = max (0, −𝑦𝑓(𝒙; 𝒘))」)与第 1200 段(搜「ℒℎ𝑖𝑛𝑔𝑒 = max (0, 1 − 𝑦𝑓(𝒙; 𝒘))」)。

  43. 出处:「第3章 线性模型」第 1203 段(text/04-ch03.txt:1203,搜「Hinge 损失不仅要求分对」) 与第 1214 段(text/04-ch03.txt:1214,搜「除了平方损失」)。 原文:「一个好的损失函数应该随着 yf(x; w) 的增大而减少。从图 3.9 中看出, 除了平方损失,其他损失函数都比较适合于二分类问题。」 2

  44. 出处:「第3章 线性模型」第 60 段(text/04-ch03.txt:60,搜「核心差别主要体现在损失函数」) 与第 1172 段(text/04-ch03.txt:1172,搜「决策函数相同」)。 2

  45. 出处:「第3章 线性模型」第 1061 段(text/04-ch03.txt:1061,搜「SMO」)。 原文:「在实践中通常采用比较高效的优化方法,比如序列最小优化(SMO)算法。」