📚 本章内容
本章介绍二元函数的可视化方法,包括线性平面函数、正圆抛物面、椭圆抛物面、双曲抛物面(马鞍面)、山谷面和山脊面、锥面以及绝对值函数。 通过3D曲面和等高线图两种视角,理解二元函数如何将平面上的点映射到三维空间, 以及这些函数的几何特征和它们在机器学习、优化问题中的应用。
13.1 二元一次函数:平面
二元一次函数定义
二元一次函数是二元一次函数的扩展。一般式如下:
当 w₁ 和 w₂ 均为 0 时,f(x₁, x₂) = b 为二元常数函数,平行于 x₁x₂ 水平面。
用矩阵乘法,(1) 可以写成:
其中,
平面方程
当 y 取一定值时,比如 y = c,平面退化为一条等高线。
从另外一个角度,c 相当于 f(x₁, x₂) 平面的某一条等高线,即 f(x₁, x₂) 等高线为直线。
举个例子
图1所示图像对应如下解析式:
图1 (a) 3D视角
图1 (a) 所示为 (5) 对应平面
图1 (b) 等高线
图1 (b) 黑色直线对应 x₁ + x₂ = 0,即 x₂ = -x₁
图1 (b) 中黄色箭头为函数 f(x₁, x₂) 增大方向,箭头和 x₁ 轴正方向夹角为 45°, 有心的读者可能发现其色彩对应的方向方法,即梯度下降方向。
梯度向量
图1 (b) 中,w 是垂直于等高线方向向量 f(x₁, x₂) 增大方向,这并非巧合。实际上 w 向量垂直 梯度向量 (gradient vector), 本书在前文章节中不会详尽介绍这个概念。大概梯度的反方向就是梯度下降方向,梯度下降方向。
本系列丛书的含义不赘入,大致会在第二章节讲解 w 的几何含义以及发散度是一垂要概念。 这笔先理解下,大家留下一个印象。
此外,相信大家已经说识到向量是个多面手,向量不仅仅代表一列或一行数。 还是有方向的线段。大家会在本系列丛书《线性力学》经常到这句话题—有位量的地力, 或有方位!希望大家在看到向量出现时,多从几何直观角度看待的几何的内涵。
二元线性函数
探索平面在不同方向的倾斜
当前函数
视图模式
选择函数
📐 平面几何特征
• f = -x₁:平面垂直于x₁轴,沿x₁负方向倾斜
• f = x₂:平面垂直于x₂轴,沿x₂正方向倾斜
• f = x₁ + x₂:平面沿对角线方向倾斜,等高线为平行直线
• f = -x₁ + x₂:平面沿反对角线方向倾斜
• 等高线:在平面函数中,等高线都是平行直线
13.2 正圆抛物面:等高线为正圆
二元二次函数定义
二元二次函数的一般形式如下:
其中,w₁ 和 w₂ 为系数,b 为常数项。
当 w₁ = w₂ 时,(7) 为正圆抛物面 (circular paraboloid)。 正圆抛物面,顾名思义,等高线为正圆。
矩阵形式
利用矩阵乘法,(8) 可以写成矩阵形式:
其中,x = [x₁, x₂]T。
开口朝上、朝下
正圆抛物面的开口方向由系数 w 的正负决定:
开口朝上 (w > 0)
当 w > 0 时,抛物面开口朝上,在原点处取得最小值。
开口朝下 (w < 0)
当 w < 0 时,抛物面开口朝下,在原点处取得最大值。
平移
正圆抛物面可以通过平移改变顶点位置。一般形式为:
其中,(a, c) 为抛物面顶点在 x₁x₂ 平面的投影坐标,b 为顶点的函数值。
可视化示例
开口朝上 (w = 1)
f(x₁, x₂) = x₁² + x₂²
等高线图
等高线为同心圆
圆锥面
径向对称的三维曲面 f(x₁, x₂) = √(x₁² + x₂²)
函数定义
视图模式
视角调节
几何特征
• 径向对称:函数值只依赖于到原点的距离
• 圆锥形:三维曲面呈圆锥状
• 等高线:在平面上是同心圆
• 线性增长:函数值随半径线性增长
🎯 圆锥面的应用
距离函数:表示点到原点的距离
物理场:描述径向对称的场分布
优化问题:L2范数正则化项
信号处理:径向基函数
13.3 椭圆抛物面:等高线为椭圆
椭圆抛物面定义
当 w₁ ≠ w₂ 时,二元二次函数形成椭圆抛物面 (elliptic paraboloid)。 椭圆抛物面的等高线为椭圆。
其中,w₁ ≠ w₂。椭圆的长短轴由 w₁ 和 w₂ 的比值决定。
举个例子
考虑如下椭圆抛物面:
此时 w₁ = 2 > w₂ = 1,所以椭圆长轴沿 x₂ 方向。
3D视角
f(x₁, x₂) = 2x₁² + x₂²
等高线图
等高线为椭圆,长轴沿 x₂ 方向
旋转椭圆抛物面
更一般的椭圆抛物面可以包含旋转项 x₁x₂:
当 w₁₂ ≠ 0 时,椭圆等高线相对于坐标轴有旋转。这种形式在机器学习中非常常见。
提示:交叉项 x₁x₂ 使椭圆主轴不再平行于坐标轴,这在优化问题中会增加计算复杂度。
矩阵形式与 L2 正则化
椭圆抛物面可以用矩阵形式表示:
其中,W 是一个对称矩阵:
[w₁₂/2 w₂]
在机器学习中的应用:
椭圆抛物面是 L2 正则化损失函数的典型形式。在岭回归 (Ridge Regression) 中, 损失函数为:
第二项 λ||w||² 正是一个正圆抛物面,使得损失函数的等高线从椭圆变为更接近圆形, 这有助于优化算法更快收敛。
正圆 vs 椭圆抛物面对比
| 特征 | 正圆抛物面 | 椭圆抛物面 |
|---|---|---|
| 系数关系 | w₁ = w₂ | w₁ ≠ w₂ |
| 等高线形状 | 同心圆 | 同心椭圆 |
| 对称性 | 各向同性 | 各向异性 |
| 典型应用 | L2 正则化 | 二次优化问题 |
| 优化难度 | 较简单 | 较复杂 |
13.4 双曲抛物面:马鞍面
双曲抛物面(hyperbolic paraboloid),也叫马鞍面(saddle surface), 因其形状似马鞍而得名。双曲抛物面的一般形式为:
双曲抛物面的一般形式
y = f(x₁, x₂) = x₁²/a² - x₂²/b² = [x₁ x₂]ᵀ [1/a² 0; 0 -1/b²] [x₁; x₂](26)
举个例子
图 16 所示双曲抛物面解析式为:
y = f(x₁, x₂) = x₁² - x₂² = [x₁ x₂]ᵀ [1 0; 0 -1] [x₁; x₂](27)
观察图 16 (b),可以发现三维等高线为一系列双曲线。而曲面中心点,也称作鞍点(saddle point), 鞍点既不是曲面的最大值点也不是最小值点。有关鞍点的性质,本系列丛书会逐步介绍。
本章前文看到正圆抛物面和椭圆抛物面的等高线为闭合线,而面 16 (b) 中等高线不闭合。此外请大家自行在图 16 (b) 中四象限色块不同点处, 画出前文介绍的染色箭头(即梯度向量)。要求是,箭头垂直该点处等高线,并指向函数值大方向(朝向暖色系)。
📊(a) 双曲抛物面 3D 视图
🗺️(b) 等高线图(双曲线)
旋转
图 17 所示为旋转双曲线抛物面,解析式如下:
y = f(x₁, x₂) = x₁x₂ = [x₁ x₂]ᵀ [0 1/2; 1/2 0] [x₁; x₂](28)
(28) 图 17 (b) 所示等高线坐标上是一系列反比例函数曲线。
比较图 16 (b),可以发现图 17 (b) 中双曲线旋转了 45 度。
📊(a) 旋转双曲抛物面 3D 视图
🗺️(b) 等高线图(旋转 45°)
13.5 山谷和山脊:无数极值点
本节介绍山谷面和山脊面,和它们几何特征。
山谷面
图 18 所示为山谷面(valley surface),对应解析式如下:
y = f(x₁, x₂) = x₁² = [x₁ x₂]ᵀ [1 0; 0 0] [x₁; x₂](29)
观察图 18 (b) 可以发现,山谷面存在无数极小值点,并且这些极小值点均在一条直线上。
📊(a) 山谷面 3D 视图
🗺️(b) 等高线图和等高线图
叠加
如图 19 所示,如下正圆抛物面可以看做由两个山谷面叠加得到:
y = f(x₁, x₂) = x₁² + x₂²(30)
很多曲面都可以看做是若干不同类型曲面叠加而成。这个几何视角对于理解一些机器学习和数据科学算法非常重要。
➕图 19. 两个山谷面合成得到正圆面
山脊面
图 20 所示为旋转山脊面(ridge surface),解析式如下:
y = f(x₁, x₂) = -x₁²/2 + x₁x₂ - x₂²/2 = [x₁ x₂]ᵀ [-1/2 1/2; 1/2 -1/2] [x₁; x₂](31)
图 20 (b) 告诉我们,山脊面有一系列极大值点,它们在同一条斜线上。
也请大家在图 20 (b) 中黑色等高线不同点处绘制梯度方向箭头。
📊(a) 旋转山脊面 3D 视图
🗺️(b) 网格图和等高线图
大家可能已经发现本章前文介绍的平面或二次曲面都可以写成如下一般式:
f(x₁, x₂) = ax₁² + bx₁x₂ + cx₂² + dx₁ + ex₂ + f(32)
在 Bk3_Ch13_01.py 基础上,我们做了一个 App 用来交互呈现不同参数对上述函数对应的曲面影响。 并采用 Plotly 呈现交互 3D 曲面。请参考 Streamlit_Bk3_Ch13_01.py。
13.6 锥面:正圆锥物面开方
开口朝上
开口朝上正圆锥物面解析式开方平方取正,使得对称轴上,圆 21 所示锥面(cone surface)开口朝上,对应解析式如下:
观察:图 21 (b) 可以发现,锥面的等高线为一系列同心圆。
提示:图 21 所示曲面在 (0, 0) 处取得最小值,但是 (0, 0) 并不光滑,这点尤为关键。
注意:在这个关键点,它在到达极点的边缘或切面。
开口朝下
(33) 解析式加个负号便得到如图 22 所示开口向下锥面,解析式如下:
图 22 (b) 锥面等高线同样为一系列均匀渐变同心圆,锥面在 (0, 0) 取得最大值。最大值点尖也是尖点。
对顶圆锥
中轴保持在一条直线上,将图 21 和图 22 两个圆锥面在顶点处拼接在一起便获得如图 23 所示对顶圆锥(double cone 或 vertically opposite circular cone)。大家在前文已经看到对顶圆锥和圆锥曲线之间的关系。
Bk3_Ch13_02.py 绘制图 23 中开口朝上的圆锥面。注意:图 23 中网格面在极坐标系中生成。
13.7 绝对值函数:和超椭圆有关
本节将绝对值函数扩展到二元。本节将构造三个不同绝对值函数。
平面对折
第一个例子,x₁ + x₂ 取绝对值,具体解析式如下:
如图 24 所示,(35) 相当于 f(x₁, x₂) = x₁ + x₂ 平面对折。
此外,(35) 相当于旋转山谷面解析式开方平方取正:
旋转正方形
第二个绝对值函数,x₁ 和 x₂ 分别取绝对值再求和,解析式如下:
图 25 所示 f(x₁, x₂) = |x₁| + |x₂| 等高线图像为一系列旋转正方形。
正方形
第三个绝对值函数为,x₁ 和 x₂ 分别取绝对值对值。比大小后,取两者中最大值,如下:
如图 26 所示,max(|x₁|, |x₂|) 对应三维等高线为正方形。
本节介绍的三个绝对值函数和本节第 9 章介绍的超椭圆有着密切联系。此外,本章列举后续还是介绍它和 L2 范数、距离度量之间的联系。
实际上,上一节介绍锥面也可看做一种绝对值函数:
请大家注意对它是对值和向量这个概念。
本章前文介绍过,引入正则项可以优化多条线链回归。
除了 L2 正则项,L1 正则项也常使用。如图 27 所示,引入 L1 正则项,相当于在线性物面上叠加一个解析式为 f(b₁, b₂) = a(|b₁| + |b₂|) 绝对值函数曲面,观察图 27 右图,发现曲面也呈现"折痕",这些"折痕"来自于 L1 正则项曲面,它们就在了曲面的尖端。
引入 L1 正则项,参数 b₁ 和 b₂ 位置更易趋向原点。尤其地,当 L1 正则项不会有大到一定程度,b₁ 或 b₂ 优化有可以 0。也就是说,正义义又又位置更进一步或等于上述,这种特性使其 L2 正则项不具备的。
13.8 逻辑函数:从一元到二元
本节将一元逻辑函数推广到二元。二元逻辑函数对应的一般解析式如下:
二元逻辑函数定义
写成矩阵形式:
注意,(41) 可以看成一个复合函数。
举个例子
当 w₁ = 1, w₂ = 1, b = 0 时,(40) 可以写成:
观察图 28 可以发现,当 x₁ → +∞ 趋近正无穷时,(42) 趋近 1,而当法达到 1。当 x₁ → -∞ 趋向于负无穷时,(42) 趋近 0,却也法达到 0。
图 28 (a) 3D视角
图 28 (a) f(x₁, x₂) = 1/(1 + exp(-(x₁ + x₂))) 空间曲面
图 28 (b) 等高线
图 28 (b) f(x₁, x₂) = 1/(1 + exp(-(x₁ + x₂))) 等高线图
二元 tanh 函数
上一章提到,逻辑函数 S 型函数的一种,而机器学习中,sigmoid 函数很多时候指 tanh() 函数。二元 tanh() 函数形式如下:
写成矩阵运算形式:
举个例子
γ = 1, w₁ = 1, w₂ = 1, r = 0 时,
图 30 所示为 (46) 对应的曲面以及平面等高线。当 γ 增大时,曲面也变得陡峭。比如,图 31 对应 γ = 4, w₁ = 1, w₂ = 1, r = 0 函数曲面。
图 30 (a) γ = 1
图 30 (a) 二元 Sigmoid 核函数, γ = 1, w₁ = 1, w₂ = 1, r = 0
图 30 (b) 等高线
图 30 (b) 等高线图
图 31 (a) γ = 4
图 31 (a) 二元 Sigmoid 核函数, γ = 4, w₁ = 1, w₂ = 1, r = 0
图 31 (b) 等高线
图 31 (b) 等高线图
13.9 高斯函数:机器学习的多面手
从一元到二元高斯函数
高斯函数(Gaussian function)是机器学习中应用最广泛的函数之一。一元高斯函数在第12章已经介绍,其形式为:
二元高斯函数将其扩展到二维空间,形成一个钟形曲面。最简单的标准形式为:
这个函数在原点处达到最大值1,随着距离增加呈指数衰减,形成对称的钟形曲面。
各向同性高斯函数
当在两个方向上的标准差相同时,我们得到各向同性(isotropic)高斯函数:
其中,(μ₁, μ₂) 是均值点(钟形曲面的中心),σ 是标准差(控制曲面的宽度),A 是振幅(控制峰值高度)。
💡 几何直观:各向同性高斯函数的等高线是正圆,曲面在所有方向上衰减速度相同。 这类似于在平静水面投入石子产生的同心圆波纹。
各向异性高斯函数
当在两个方向上的标准差不同时,我们得到各向异性(anisotropic)高斯函数:
σ₁ 和 σ₂ 分别控制在 x₁ 和 x₂ 方向上的扩散程度。等高线为同轴椭圆,主轴与坐标轴平行。
一般形式:带旋转的高斯函数
更一般的二元高斯函数可以表示为矩阵形式,允许椭圆等高线旋转任意角度:
其中,x = [x₁, x₂]ᵀ 是位置向量,μ = [μ₁, μ₂]ᵀ 是均值向量,Σ 是协方差矩阵:
[ρσ₁σ₂ σ₂² ] (47)
参数 ρ 称为相关系数(correlation coefficient),取值范围为 [-1, 1]:
- •ρ = 0:两个变量独立,等高线主轴与坐标轴平行
- •ρ > 0:正相关,等高线椭圆从左下到右上倾斜
- •ρ < 0:负相关,等高线椭圆从左上到右下倾斜
高斯函数的性质
归一化性质
二元高斯函数在整个平面上的积分等于 2πσ₁σ₂√(1-ρ²)。 在概率论中,通过适当的归一化常数可以使其成为概率密度函数。
可分离性
当 ρ = 0 时,二元高斯函数可分离为两个一元高斯函数的乘积: f(x₁, x₂) = f₁(x₁) · f₂(x₂)
平滑性
高斯函数在整个定义域上无限次可微,这使其成为数学分析中理想的平滑函数。
局部性
高斯函数随着距离中心点的增加快速衰减,大部分"能量"集中在中心附近, 具有良好的局部支撑特性。
机器学习中的应用
1. 高斯分布(正态分布)
二元高斯函数是二维正态分布的概率密度函数。许多自然现象和测量误差都服从正态分布, 这使得高斯分布成为统计推断和机器学习的基础。
2. 径向基函数(RBF)网络
RBF网络使用高斯函数作为激活函数。每个隐藏单元对应一个高斯核, 网络输出是多个高斯函数的加权和,可以逼近任意连续函数。
3. 高斯核(RBF核)
支持向量机(SVM)和高斯过程中常用的核函数。高斯核定义为 k(x, x') = exp(-||x - x'||² / (2σ²)), 可以将数据映射到无限维特征空间。
4. 高斯混合模型(GMM)
用多个高斯分布的加权和来拟合复杂的数据分布。每个高斯分量对应数据的一个簇, 广泛应用于聚类分析和密度估计。
5. 图像处理中的高斯滤波
高斯函数用于图像平滑和去噪。二维高斯核作为卷积核,可以在保留边缘的同时减少噪声。 高斯金字塔和拉普拉斯金字塔是多尺度图像分析的重要工具。
6. 贝叶斯推断
高斯分布是共轭先验的典型例子。在贝叶斯线性回归中,假设先验和似然都是高斯分布, 后验分布也保持高斯形式,便于计算。
可视化示例
各向同性高斯函数 (σ₁ = σ₂ = 1, ρ = 0)
图 32 (a) 各向同性
各向异性高斯函数 (σ₁ = 2, σ₂ = 1, ρ = 0)
图 32 (b) 各向异性
带旋转的高斯函数
ρ = 0.5(正相关)
图 33 (a) 正相关
ρ = 0(独立)
图 33 (b) 独立
ρ = -0.5(负相关)
图 33 (c) 负相关
小结
高斯函数是机器学习中最重要的函数之一,具有优美的数学性质和广泛的应用。 从概率分布到核方法,从图像处理到贝叶斯推断,高斯函数无处不在。
🎯 关键要点:理解高斯函数的几何形状(钟形曲面)、等高线(椭圆)、参数含义(均值、标准差、相关系数) 以及它在机器学习中的多样化应用,是深入学习概率论、统计学和机器学习算法的基础。
章节总结
关键要点
核心概念
- ▸二元一次函数在三维空间中表示为平面,等高线为平行直线
- ▸平面的倾斜方向由系数 w₁ 和 w₂ 决定,梯度向量垂直于等高线
- ▸正圆抛物面的等高线为同心圆,当 w₁ = w₂ 时形成,各向同性
- ▸椭圆抛物面的等高线为同心椭圆,当 w₁ ≠ w₂ 时形成,各向异性
- ▸抛物面的开口方向由系数正负决定,正值开口朝上,负值开口朝下
- ▸双曲抛物面(马鞍面)的等高线为双曲线,鞍点既不是最大值也不是最小值
- ▸山谷面和山脊面有无数极值点,分别位于一条直线或斜线上
- ▸锥面是正圆抛物面开方得到的曲面,等高线为同心圆,可以向上、向下或双向
- ▸绝对值函数与超椭圆相关,参数 p 控制等高线形状,L1和L2正则化都是绝对值函数的应用
- ▸逻辑函数将线性函数映射到(0,1)区间,广泛应用于分类问题和概率建模
- ▸高斯函数是机器学习中最重要的函数之一,从概率分布到核方法都有广泛应用
- ▸复杂曲面可由多个简单曲面叠加而成,这是理解机器学习算法的重要几何视角
- ▸3D曲面和等高线图是理解二元函数的两种互补视角
- ▸所有平面和二次曲面都可表示为一般形式:f(x₁, x₂) = ax₁² + bx₁x₂ + cx₂² + dx₁ + ex₂ + f
🎯 实际应用
多元线性回归模型用平面拟合数据点,预测因变量。二元一次函数是最简单的预测模型。
等高线图是地图的基础,表示海拔高度相等的点。二元函数等高线直观展示地形起伏。
温度场、电场等物理量的空间分布用二元函数表示,抛物面描述能量分布。
误差平方和形成抛物面,最优解在顶点处。正圆抛物面使优化更加简单高效。
岭回归通过添加正圆抛物面项,使损失函数等高线更圆,改善优化性能。
二次规划问题的目标函数为椭圆抛物面,广泛应用于机器学习和运筹学。
深度学习优化中常遇到鞍点,双曲抛物面帮助理解鞍点附近的梯度行为和逃逸策略。
山谷面和山脊面体现数据的主要方向和次要方向,是理解PCA降维的几何基础。
双曲抛物面具有优美的几何性质,广泛应用于建筑设计,如马鞍形屋顶结构。