字体大小
第二编 非线性学习与表示问题的提出 · 02_第二编_非线性学习与表示问题的提出/第7章_从线性模型到非线性建模/chapter.md

第7章 从线性模型到非线性建模

本章核心问题

当真实世界规律远比线性关系复杂时,机器学习如何在保持数学可分析性的同时扩展表达能力?

更具体地说,第一编已经说明:学习可以被写成经验风险最小化问题,线性回归与线性分类模型也给出了最早的一批标准解法;但这些方法之所以重要,并不是因为线性关系足以描述世界,而是因为它们提供了一个清楚的起点。本章要回答的是:当线性模型开始失效时,研究者究竟怎样把“更复杂的规律”继续写成可训练、可分析、可计算的数学对象。

1. 问题背景

第一编的结尾把机器学习刻画成两个相互牵连的问题:一方面,我们希望模型能够在训练集之外保持良好泛化;另一方面,我们又必须让模型拥有足够的表达能力,否则即使泛化控制得再好,也只能学到一个过于贫弱的规律。于是,从第一编进入第二编时,机器学习面临的核心张力不再只是“能否泛化”,而变成了“在可泛化的前提下,能否表达更复杂的结构”。

在线性回归中,模型写成参数与输入的线性组合;在 Logistic 回归和感知机中,分类边界也由线性函数给出。这类模型的共同形式可以写成

$$ f(x)=w^\top x+b. $$

这里 $x\in\mathbb R^d$ 表示输入向量,$d$ 表示输入维数;$w\in\mathbb R^d$ 表示参数向量;$b\in\mathbb R$ 表示偏置项;$w^\top x$ 表示向量内积。这个表达式说明:模型对输入的响应,本质上由若干坐标方向上的加权叠加构成。

这种形式有两类显著优点。第一,优化问题常常较容易分析,许多情形下甚至可以得到凸目标或解析结构。第二,线性模型的几何意义非常清楚,例如分类边界对应超平面,回归预测对应投影与加权平均。正因为如此,线性模型成为机器学习史上的自然起点。

但是,现实任务很快暴露出它的局限。若真实规律表现出弯曲边界、局部模式、组合结构或层次结构,那么单一超平面往往无法准确描述。例如,平面上的同心圆分类问题并不能被一条直线分开;房价与面积、楼龄、地段之间的关系往往并非简单线性;文本中的语义强度常常依赖词语共现与上下文组合,而不是某个单一词频的线性作用。

从数学上看,线性模型的不足不在于它“太简单”,而在于它把输入空间中的规律限制在一个过于狭窄的函数类中。若函数类本身无法容纳真实规律,那么经验风险最小化再成功,也只是在一个错误的表达框架里寻找最优解。于是,机器学习必须面对下一步:如何在不放弃前面已建立的损失函数、优化方法与泛化语言的前提下,把函数类从线性扩展到非线性。

2. 数学原理

2.1 从输入空间中的线性,到特征空间中的线性

非线性建模最基本的思想,并不是一开始就完全抛弃线性,而是改变“线性所作用的对象”。设原始输入空间为

$$ \mathcal X\subseteq \mathbb R^d. $$

这里 $\mathcal X$ 表示所有可能输入组成的集合,$\mathbb R^d$ 表示 $d$ 维实向量空间。若我们构造一个映射

$$ \phi:\mathcal X\to \mathbb R^m, $$

这里 $\phi$ 表示特征映射,$m$ 表示映射后特征空间的维数,那么模型就可以写成

$$ f(x)=w^\top \phi(x)+b. $$

这个公式中的新符号只有两个:$\phi(x)$ 表示由原始输入 $x$ 经过变换后得到的特征向量,$w\in\mathbb R^m$ 则是在新特征空间中的参数。虽然表达式对 $\phi(x)$ 仍然是线性的,但因为 $\phi$ 本身可以是非线性的,所以 $f(x)$ 对原始输入 $x$ 已经可以表现出复杂非线性关系。

因此,非线性学习的第一步可以概括为一句话:在原始输入空间中看似非线性的规律,往往可以在某个更合适的特征空间中重新写成线性问题。这个想法极其重要,因为它保留了线性模型的许多数学优点,同时又显著扩大了可表达函数类。

2.2 基函数展开

最常见的特征映射形式,是把模型写成一组基函数的线性组合:

$$ f(x)=\sum_{j=1}^m w_j\phi_j(x). $$

这里 $m$ 表示基函数个数;$\phi_j(x)$ 表示第 $j$ 个基函数在输入 $x$ 上的取值;$w_j\in\mathbb R$ 表示对应权重。这个式子说明:模型的非线性,并不一定来自参数之间的复杂嵌套,也可以来自我们预先指定的一组非线性函数 $\phi_1,\dots,\phi_m$。

若把这些基函数收集成向量

$$ \phi(x)=\big(\phi_1(x),\phi_2(x),\dots,\phi_m(x)\big)^\top, $$

则上式又回到更紧凑的形式 $f(x)=w^\top\phi(x)$。这里的意义是:非线性建模仍然可以在“线性代数 + 风险最小化”的框架中进行,只是原始特征 $x$ 被替换成了人工设计的基函数坐标。

基函数展开之所以自然,是因为很多经典函数逼近理论都采取类似结构。若真实函数 $g(x)$ 足够平滑,就可以希望用有限个简单函数的叠加去近似它;而机器学习的任务,则变成根据样本自动确定这些简单函数前面的系数。

2.3 多项式特征是最早的非线性扩展

为了最直观地说明上述思想,先考虑一维输入 $x\in\mathbb R$ 的情形。若线性回归只使用特征 $x$,则模型为

$$ f(x)=w_0+w_1x. $$

这里 $w_0$ 是常数项,$w_1$ 是一次项系数。这个模型只能拟合直线。若我们把特征扩展为 $1,x,x^2,\dots,x^p$,则模型变成

$$ f(x)=w_0+w_1x+w_2x^2+\cdots+w_px^p. $$

这里 $p$ 表示多项式阶数,$x^k$ 表示输入的第 $k$ 次幂。对参数 $w_0,\dots,w_p$ 来说,这个模型仍然是线性的;但对输入 $x$ 来说,它已经是非线性的。

这一点揭示了一个常被忽视的事实:在线性模型与非线性模型之间,并不存在绝对断裂。若把特征做合适扩展,那么很多看起来非线性的模型,本质上仍然是“在线性参数空间中学习”。第二编的历史起点,正是这种从原始线性到特征空间线性的过渡。

2.4 经验风险最小化在特征空间中的延续

设训练样本为

$$ \mathcal D_n=\{(x_i,y_i)\}_{i=1}^n. $$

这里 $n$ 表示样本个数,$x_i$ 表示第 $i$ 个输入,$y_i$ 表示对应输出。若模型写成 $f(x)=w^\top\phi(x)+b$,损失函数记作 $L(y,f(x))$,则经验风险仍然定义为

$$ \hat R_n(w,b)=\frac{1}{n}\sum_{i=1}^n L\big(y_i,w^\top\phi(x_i)+b\big). $$

这里 $\hat R_n(w,b)$ 表示关于参数 $(w,b)$ 的平均训练损失。这个公式非常重要,因为它说明:从线性走向非线性,并没有改变监督学习的基本数学骨架。变化的只是模型类本身,即输入先经过 $\phi$ 映射,再进入原本熟悉的线性判别或线性回归结构。

因此,第1编建立的风险最小化框架在这里并未失效;相反,它被更大函数类所继承。真正的新问题是:该如何构造 $\phi$,以及这种构造会带来什么代价。

2.5 最小二乘在基函数模型中的推导

若当前任务是回归,且采用平方损失,则经验风险写成

$$ \hat R_n(w)=\frac{1}{n}\sum_{i=1}^n \big(y_i-w^\top\phi(x_i)\big)^2. $$

这里为了书写简洁,先省略偏置项,或把偏置吸收到特征向量的常数分量中。记设计矩阵为

$$ \Phi= \begin{bmatrix} \phi(x_1)^\top\\ \phi(x_2)^\top\\ \vdots\\ \phi(x_n)^\top \end{bmatrix}\in\mathbb R^{n\times m}, \qquad y= \begin{bmatrix} y_1\\ y_2\\ \vdots\\ y_n \end{bmatrix}\in\mathbb R^n. $$

这里 $\Phi$ 的第 $i$ 行是样本 $x_i$ 的特征向量 $\phi(x_i)^\top$,$y$ 是响应向量。于是目标函数可以写成

$$ J(w)=\|\Phi w-y\|_2^2. $$

这里 $\|\cdot\|_2$ 表示欧几里得范数,$J(w)$ 表示残差平方和。将其展开,有

$$ J(w)=w^\top\Phi^\top\Phi w-2y^\top\Phi w+y^\top y. $$

其中 $\Phi^\top\Phi$ 是特征矩阵的 Gram 型矩阵,$y^\top\Phi w$ 是预测与真实输出的耦合项,$y^\top y$ 与参数 $w$ 无关。对 $w$ 求梯度,得到

$$ \nabla_w J(w)=2\Phi^\top\Phi w-2\Phi^\top y. $$

这里 $\nabla_w J(w)$ 表示目标函数对参数向量 $w$ 的梯度。令梯度为零,可得正规方程

$$ \Phi^\top\Phi w=\Phi^\top y. $$

若矩阵 $\Phi^\top\Phi$ 可逆,则解为

$$ \hat w=(\Phi^\top\Phi)^{-1}\Phi^\top y. $$

这个推导说明:即使我们使用了复杂的非线性特征,很多学习问题在参数层面依然保留线性模型的求解结构。也正因此,基函数方法成为机器学习从线性走向非线性的第一条经典道路。

2.6 分类中的非线性判别边界

对于分类问题,非线性特征同样会改变决策边界。若二分类模型写成

$$ f(x)=\mathrm{sign}\big(w^\top\phi(x)+b\big), $$

这里 $\mathrm{sign}(\cdot)$ 表示符号函数:输入大于零时输出 $+1$,小于零时输出 $-1$。则在特征空间中,决策边界仍是超平面

$$ w^\top\phi(x)+b=0, $$

但映回原始输入空间时,这条边界可以是曲线、曲面,甚至更复杂的几何对象。

例如,对二维输入 $x=(x_1,x_2)^\top$,若构造特征映射

$$ \phi(x)=\big(x_1^2,x_2^2\big)^\top, $$

则线性判别式

$$ w_1x_1^2+w_2x_2^2+b=0 $$

在原始平面中对应的是二次曲线,而不再是直线。这里 $w_1,w_2$ 分别控制两个平方项的权重。这个简单例子已经足以说明:非线性分类边界并不一定需要全新优化框架,只需改变输入表示。

2.7 显式特征构造与手工表示

到这里,一个核心问题浮现出来:特征映射 $\phi$ 从何而来?在早期机器学习中,最主要的答案是显式人工构造。研究者根据领域知识,把他们认为重要的非线性结构直接编码进特征。

数学上,这意味着我们先指定一个映射

$$ x\mapsto \phi(x), $$

再在 $\phi(x)$ 上训练一个线性模型。若原始输入是数值向量,$\phi(x)$ 可以包含多项式项、交叉项、分段函数、径向基函数等;若原始输入是文本或图像,$\phi(x)$ 则可能对应词频统计、n-gram 共现、边缘方向直方图、局部纹理描述子等人为设计的表示。

这种方法的本质,是把“学习问题”拆成两步:先靠人设计表示,再让算法在线性参数层面完成拟合。它在历史上极为关键,因为它第一次让机器学习不再局限于原始坐标上的简单线性关系,而是进入“表示”这一更深层的问题。

2.8 维度膨胀与计算代价

显式特征映射虽然提高了表达能力,却会立刻带来维度膨胀。以 $d$ 维输入上的二次多项式特征为例,若把所有一次项、平方项和交叉项都加入,则特征数约为

$$ 1+d+\frac{d(d+1)}{2}. $$

这里常数项对应偏置,一次项数为 $d$,二次项与交叉项总数为 $d(d+1)/2$。若进一步扩展到 $p$ 次多项式,则特征数会随 $d$ 和 $p$ 快速增长,组合复杂度大致与

$$ \binom{d+p}{p} $$

同阶。这里 $\binom{d+p}{p}$ 是组合数,表示从 $d+p$ 个对象中选出 $p$ 个的方式数。它意味着:非线性表达能力越强,显式特征空间往往越庞大。

这会产生至少三类后果。第一,存储成本与计算成本上升;第二,参数数量增多使过拟合风险加大;第三,特征设计越来越依赖人的经验与任务背景。于是,非线性建模虽然扩展了模型能力,却也把机器学习带入新的困难之中。

2.9 从拟合走向表示

线性模型时代,研究者更关心的是“在给定输入坐标后如何拟合”。而非线性建模阶段逐渐提出了一个更深的问题:什么样的表示才是有利于学习的表示?

若两个类别在原始空间中混杂,可能只需合适变换就能在新空间中线性分离;若一个回归规律在原始变量上十分弯曲,也可能在合适基函数坐标下变得近似线性。因此,表示本身开始成为学习问题的一部分,而不再只是数据预处理的附属环节。

从历史角度看,这一转变十分关键。它一方面通向下一章的核方法:既然显式构造高维特征过于昂贵,那么能否只通过内积计算间接进入高维空间?另一方面,它也为更晚的深度学习埋下伏笔:既然手工设计表示如此重要且困难,那么能否让模型自己学出表示?

3. 代表模型或算法

3.1 多项式回归

多项式回归是最早、也最容易理解的非线性模型之一。若输入是一维变量 $x$,则模型可写成

$$ f(x)=w_0+w_1x+w_2x^2+\cdots+w_px^p. $$

这里 $w_0,\dots,w_p$ 是待估参数,$p$ 是最高阶数。模型结构上,它把原始输入扩展成特征向量 $(1,x,x^2,\dots,x^p)^\top$;训练方式上,通常仍然采用平方损失最小化,因此可以沿用最小二乘或正则化最小二乘方法;推理方式上,对新输入 $x$ 只需计算各阶幂并代入系数即可得到预测值。

它在本章中的典型性在于:这是“输入非线性、参数线性”最清楚的原型。研究者并没有发明全新的优化机制,而只是通过特征扩展,把曲线拟合继续纳入线性估计框架之中。

3.2 一般基函数模型

比多项式更一般的形式,是选择一组基函数 $\phi_1,\dots,\phi_m$,并学习它们的线性组合。基函数可以是局部的,也可以是全局的;可以是平滑函数,也可以是分段函数。其共同结构都是

$$ f(x)=\sum_{j=1}^m w_j\phi_j(x). $$

若把各基函数收集成向量 $\phi(x)$,则模型又可写成 $f(x)=w^\top\phi(x)$。训练时,可以根据任务选择平方损失、Logistic 损失等不同目标函数,再通过最小二乘、梯度下降或其他优化方法估计参数 $w$;推理时,则先计算新样本的基函数值,再进行线性组合。

这一形式后来广泛出现在径向基网络、样条方法和核展开中,因此可以视为非线性学习的一种统一母型。它的代表性恰恰在于:许多表面上不同的非线性模型,都能收束到“基函数展开 + 线性参数估计”这一共同结构。

3.3 手工特征工程

在许多早期任务中,真正起决定作用的并不是优化器,而是研究者如何定义 $\phi(x)$。文本分类中的词袋表示、图像识别中的边缘与纹理特征、语音识别中的频谱与倒谱特征,都属于这一范畴。算法在这些特征上也许仍然是线性的,但学习结果已经不再局限于原始输入的简单线性关系。

若从模型结构看,手工特征工程本质上是先构造映射 $x\mapsto \phi(x)$,再把 $\phi(x)$ 交给线性回归、Logistic 回归或支持向量机等标准学习器;从训练方式看,真正被训练的往往只是第二阶段的参数,而第一阶段的表示由人预先指定;从推理方式看,新样本也必须先经过相同的特征提取流程,再进入下游模型。

它之所以在本章中具有代表性,是因为它把“表示”明确提升成了学习流程中的独立环节。也正是这种两阶段结构,后来促使研究者进一步追问:表示能否不再依赖人工设计,而由模型自动学习?

4. 典型应用

4.1 非线性决策边界分类

设原始二维输入为 $x=(x_1,x_2)^\top$,某个分类任务的正负样本近似呈“内外圈”分布。此时,原始空间中的任何线性分类器

$$ w_1x_1+w_2x_2+b=0 $$

都无法把内圈与外圈分开,因为这条边界只能是一条直线。若我们改用特征

$$ \phi(x)=x_1^2+x_2^2, $$

并建立判别式

$$ f(x)=\mathrm{sign}\big(w\phi(x)+b\big), $$

那么决策边界就变为

$$ w(x_1^2+x_2^2)+b=0. $$

这个式子在平面中对应圆形边界。这里本章的数学内容在应用中的对应关系非常明确:特征映射 $\phi(x)$ 把原问题从“无法线性分离”转化成了“在新坐标中可由超平面分离”;线性判别函数仍然负责分类,但真正改变任务可解性的,是对表示的重新定义。

4.2 曲线拟合

在实验科学、经济时间序列或工程测量中,输入与输出的关系往往并不是直线,而可能呈现弯曲趋势。若只使用线性模型 $f(x)=w_0+w_1x$,则残差会系统性偏大。此时可引入多项式基函数,把模型写成

$$ f(x)=w_0+w_1x+w_2x^2+\cdots+w_px^p. $$

在这个应用里,本章的基函数展开直接对应“把曲线拟合问题转化成扩展特征上的线性最小二乘问题”。设计矩阵 $\Phi$ 的每一列,分别对应常数项、一次项、二次项直到 $p$ 次项;正规方程 $\Phi^\top\Phi w=\Phi^\top y$ 则给出系数估计。换言之,应用中的“拟合一条曲线”,在数学上就是“在基函数空间中进行线性参数估计”。

4.3 文本特征表示

文本数据的原始对象是词序列,而不是天然的实向量。为了把分类或回归模型用于文本,需要先定义表示函数 $\phi(x)$。例如,若文档 $x$ 被映射成词频向量,则 $\phi(x)$ 的每个分量可以表示某个词在文档中的出现次数;若进一步加入二元词组特征,则 $\phi(x)$ 中又会增加共现结构。

此时,分类模型仍可写成

$$ f(x)=w^\top\phi(x)+b. $$

这里的关键不在于最后的线性分类器,而在于 $\phi(x)$ 如何把原本离散、可变长的文本对象变成固定维度向量。本章关于“输入空间与特征空间”的区分,在这里直接对应“文本本身不是向量,但文本表示可以是向量”;而手工特征工程的意义,则体现在研究者用词频、n-gram 或 TF-IDF 等结构人为编码语义线索。

4.4 图像中的手工特征提取

早期视觉任务中,研究者很少把原始像素直接送入简单模型,而是先提取边缘、角点、方向梯度或局部纹理特征。若把图像记为 $x$,则这些描述子共同构成特征映射 $\phi(x)$。之后,再用线性分类器或线性回归器对 $\phi(x)$ 进行学习。

在这个应用中,本章的数学思想体现得尤为明显:算法层面看似仍是线性模型,但能力提升并非主要来自更复杂的优化,而是来自更有效的表示。也就是说,图像手工特征提取正是“从拟合走向表示”的经典历史实例。

5. 局限性与历史转折

非线性建模的出现,标志着机器学习已经不满足于在原始输入上做简单统计拟合,而开始主动改造表示空间。这是一个极大的进步。但它并没有彻底解决问题,反而把新的困难暴露得更加清楚。

首先,显式特征构造高度依赖领域知识。研究者必须预先知道哪些变换、哪些组合、哪些局部模式更重要。于是,模型性能往往不只取决于优化算法,也取决于特征工程者是否足够了解任务本身。

其次,特征维度会迅速膨胀。为了获得更强非线性表达能力,往往需要引入大量高阶项、局部基函数或组合特征,这又导致计算成本上升、存储压力增大,并且可能恶化泛化。

再次,显式构造高维特征并不优雅。很多时候,我们知道“进入更高维空间可能有用”,却难以直接承受构造与计算这些特征的代价。于是,一个极其自然的新问题随之出现:是否可以不显式写出 $\phi(x)$,却依然利用高维特征空间的好处?

这正是下一章核方法将要回答的问题。核方法试图用一种更优雅的数学方式,把“高维非线性表示”与“线性学习理论”结合起来。换言之,本章把机器学习从线性模型推进到特征空间思想,而下一章则会进一步说明:高维特征空间甚至可以被隐式使用。

本章小结

本章讨论了机器学习从线性模型走向非线性建模的第一步。核心思想不是彻底否定线性,而是通过特征映射 $\phi(x)$ 改变线性模型所作用的空间,使得原始输入中的复杂规律能够在新的表示中得到更充分表达。

我们看到,基函数展开、多项式回归和手工特征工程都可以写成统一形式 $f(x)=\sum_{j=1}^m w_j\phi_j(x)$。这使得经验风险最小化、最小二乘和线性分类等第一编建立的数学语言得以保留,同时又显著提升了模型表达能力。

但本章也说明了这种路线的局限:特征依赖人工设计,维度膨胀严重,表达能力与计算代价之间存在紧张关系。正因为如此,机器学习很快继续向前推进,转而寻求更一般、更优雅的非线性学习框架,这就自然引出了下一章的核方法与支持向量机。

关键公式

$$ f(x)=w^\top\phi(x)+b. $$
$$ f(x)=\sum_{j=1}^m w_j\phi_j(x). $$
$$ \hat R_n(w,b)=\frac{1}{n}\sum_{i=1}^n L\big(y_i,w^\top\phi(x_i)+b\big). $$
$$ J(w)=\|\Phi w-y\|_2^2. $$
$$ \Phi^\top\Phi w=\Phi^\top y. $$
$$ f(x)=\mathrm{sign}\big(w^\top\phi(x)+b\big). $$

关键概念

  • 非线性
  • 基函数
  • 特征映射
  • 表示
  • 特征工程