机器学习数学基础 120 章

关系、映射与函数

层级:A|必学

1. 模型本质上是函数

监督学习模型可以抽象为

f:XY,f:\mathcal X\to\mathcal Y,

即把输入空间中的对象映射到输出空间。训练算法又是一个更高层的映射:输入数据集,输出一个模型。损失函数输入预测与真实标签,输出一个实数。函数是理解机器学习结构最统一的语言。

2. 有序对、笛卡尔积与关系

有序对 (a,b)(a,b) 强调顺序,通常 (a,b)(b,a)(a,b)\ne(b,a)。集合 AABB 的笛卡尔积是

A×B={(a,b):aA,bB}.A\times B=\{(a,b):a\in A,b\in B\}.

关系可以看作笛卡尔积的子集。例如实数上的“小于”关系是

R={(x,y)R2:x<y}.R=\{(x,y)\in\mathbb R^2:x<y\}.

(x,y)R(x,y)\in R,可写作 xRyxRy。相等关系会把对象划分为等价类;大小关系给出排序。机器学习中的“两个样本相似”“节点之间有边”“标签相同”都可以视为关系。

3. 函数的严格定义

函数 f:ABf:A\to B 是一种特殊关系:对定义域 AA 中每个输入 xx,都恰好指定 BB 中一个输出 f(x)f(x)

  • AA:定义域;
  • BB:陪域;
  • f(A)={f(x):xA}f(A)=\{f(x):x\in A\}:值域,是陪域的子集;
  • xx:自变量或输入;
  • f(x)f(x):函数值或输出。

“恰好一个输出”不代表不同输入必须有不同输出。平方函数把 222-2 都映射到 44,仍然是函数。

定义域是函数的一部分。f(x)=1/xf(x)=1/x 若作为实函数,定义域必须排除 00g(x)=logxg(x)=\log x 的定义域是正实数。

4. 单射、满射与双射

  • 单射:不同输入不会得到相同输出。形式上,f(x1)=f(x2)x1=x2f(x_1)=f(x_2)\Rightarrow x_1=x_2
  • 满射:陪域中的每个元素都至少被某个输入命中。
  • 双射:既单射又满射,因此每个输出有唯一原像,存在反函数 f1f^{-1}

f(x)=exf(x)=e^x 作为 R(0,)\mathbb R\to(0,\infty) 的函数是双射,反函数是 logx\log x。若把陪域写成 R\mathbb R,它不再满射,因为非正数永远取不到。

反函数 f1f^{-1}1/f1/f 完全不同。前者交换输入输出,后者是函数值的倒数。

5. 函数表示方式

同一个函数可以用公式、表格、图像、程序或文字规则表达。机器学习模型往往没有简单闭式公式,但仍是函数:决策树按条件分支,随机森林汇总多棵树,神经网络连续复合许多变换。

函数图像是点集

{(x,f(x)):xA}.\{(x,f(x)):x\in A\}.

图像帮助观察单调性、极值、连续性和曲率,但不能代替定义域与精确公式。

6. 复合函数

f:ABf:A\to Bg:BCg:B\to C,复合函数

(gf)(x)=g(f(x)).(g\circ f)(x)=g(f(x)).

运算顺序从右向左:先 ff,再 gg。例如逻辑回归为

p(y=1x)=σ(wTx+b),p(y=1\mid\boldsymbol x) =\sigma(\boldsymbol w^{\mathsf T}\boldsymbol x+b),

先做仿射变换 z=wTx+bz=\boldsymbol w^{\mathsf T}\boldsymbol x+b,再做 Sigmoid p=σ(z)p=\sigma(z)。神经网络就是很多复合函数;反向传播是链式法则在复合结构上的高效应用。

复合通常不满足交换律:gfg\circ ffgf\circ g 甚至可能定义域都不同。

7. 多元函数与向量值函数

多元标量函数

L:RdRL:\mathbb R^d\to\mathbb R

输入 dd 个参数,输出一个损失。它的导数推广为梯度。

向量值函数

f:RdRkf:\mathbb R^d\to\mathbb R^k

输入一个 dd 维向量,输出一个 kk 维向量。例如多分类模型输出 kk 个类别概率。它的一阶导数组织成 Jacobian 矩阵。

二元函数

损失常写成 (y,y^)\ell(y,\hat y),距离常写成 d(x,z)d(\boldsymbol x,\boldsymbol z)。它们接收两个对象,不应误认为两个独立的一元函数。

8. 参数、变量与超参数

公式 f(x;θ)f(x;\theta) 用分号提示:xx 是每次预测变化的输入,θ\theta 是模型参数。训练阶段通过数据选择 θ\theta;预测阶段固定 θ\theta,改变 xx

超参数如正则化强度 λ\lambda、树深、学习率,通常不直接通过同一个训练目标优化,而由验证过程或外层算法选择。数学上它们仍是变量,但角色不同。

9. 常见函数性质

  • 单调递增:x1<x2f(x1)f(x2)x_1<x_2\Rightarrow f(x_1)\le f(x_2);严格递增把 \le 换成 <<
  • 有界:存在常数限制函数值,例如 Sigmoid 被限制在 (0,1)(0,1)
  • 偶函数:f(x)=f(x)f(-x)=f(x),如 x2x^2
  • 奇函数:f(x)=f(x)f(-x)=-f(x),如 x3x^3tanhx\tanh x
  • 周期函数:存在 T>0T>0 使 f(x+T)=f(x)f(x+T)=f(x)。经典机器学习中不常作为主线,但时间特征编码会用到。

10. argmin 返回的是输入,不是最小值

f(x)=(x3)2f(x)=(x-3)^2

minxf(x)=0,argminxf(x)=3.\min_x f(x)=0, \qquad \arg\min_x f(x)=3.

min\min 返回最小函数值,argmin\arg\min 返回使函数达到最小值的自变量。若有多个最优点,严格说 argmin\arg\min 返回一个集合。训练常写为

θ^=argminθL(θ).\hat\theta=\arg\min_\theta L(\theta).

11. 在机器学习中的位置

  • 模型:fθ:XYf_\theta:\mathcal X\to\mathcal Y
  • 损失::Y×YR0\ell:\mathcal Y\times\mathcal Y\to\mathbb R_{\ge0}
  • 特征变换:ϕ:XRd\phi:\mathcal X\to\mathbb R^d
  • 优化器:把参数和梯度映射到新参数;
  • 概率密度:把样本映射到非负密度值,但密度函数值本身不等于事件概率;
  • 核函数:k:X×XRk:\mathcal X\times\mathcal X\to\mathbb R

易错点

  1. 函数与公式不是同义词;定义域不同,函数就可能不同。
  2. 值域不一定等于陪域。
  3. f1(x)f^{-1}(x) 不是 1/f(x)1/f(x)
  4. f(g(x))f(g(x)) 的运算顺序是先 ggff
  5. argmin\arg\min 返回参数,min\min 返回目标值。
  6. “模型是函数”不意味着训练过程必然确定;随机初始化与抽样会让训练算法具有随机性。

常见问答

Q1:多分类模型输出概率向量,还是一个类别?

通常包含两个函数:网络 f:XΔK1f:\mathcal X\to\Delta^{K-1} 输出概率向量,再由 argmax\arg\max 规则把概率向量映射为类别。区分两层有助于理解损失与评估指标。

Q2:随机模型还是函数吗?

给定随机种子或随机变量后,它可视为确定函数;更一般地,它定义的是输入到输出分布的映射,即概率核。

Q3:数据预处理是否属于模型?

部署时,预处理与预测函数必须组成同一个复合映射。若训练和预测使用不同预处理,就相当于使用了不同函数。

练习

  1. 指出 f(x)=xf(x)=\sqrt x 作为实函数的定义域和值域。
  2. f(x)=x2f(x)=x^2 作为 RR\mathbb R\to\mathbb R 是否单射、是否满射?
  3. f(x)=2x+1f(x)=2x+1g(x)=x2g(x)=x^2,分别求 (gf)(x)(g\circ f)(x)(fg)(x)(f\circ g)(x)
  4. L(w)=(w5)2+2L(w)=(w-5)^2+2,求 minwL(w)\min_w L(w)argminwL(w)\arg\min_w L(w)
  5. 为二分类的预测概率函数、阈值函数、0-1 损失分别写出输入与输出集合。
  6. 解释为什么标准化变换必须把训练集得到的均值和方差保存到预测阶段。

答案与提示

  1. 定义域和值域均为 [0,)[0,\infty)
  2. 都不是:f(1)=f(1)f(1)=f(-1),且负数不在值域。
  3. (2x+1)2(2x+1)^22x2+12x^2+1
  4. 最小值为 22,最优参数为 55
  5. 可取 p:X[0,1]p:\mathcal X\to[0,1]h:[0,1]{0,1}h:[0,1]\to\{0,1\}:{0,1}2{0,1}\ell:\{0,1\}^2\to\{0,1\}
  6. 否则训练与预测的预处理不是同一个函数,还会造成数据泄漏或分布偏移。