为什么阶乘很重要
哈明在第9章开始指出,所有工程设计问题都存在于n维空间中,其中n计数独立参数的个数。理解该空间需要理解阶乘——它们出现在每个n维球的体积公式中。
斯特林逼近
对于大的n,直接计算n!变得不可能。斯特林公式给出一个精确的逼近:
n! ≈ √(2πn) · (n/e)^n
取对数(哈明这样做是为了把乘积转换为和):
ln(n!) ≈ n·ln(n) − n + 0.5·ln(2πn)
随着n增大,逼近改进:当n → ∞时,比值Stirling(n)/n! → 1。然而绝对差会无限增大。两个事实同时成立。
哈明的推导路线:通过梯形法则用积分∫ ln(x) dx(从1到n)逼近和Σ ln(k)(k=1..n),然后取指数。常数√(2π)来自梯形误差的极限行为。
| n | 斯特林逼近 | 真实n! | 比值 | |---|---|---|---| | 5 | 118.02 | 120 | 0.9835 | | 10 | 3,598,696 | 3,628,800 | 0.9917 | | 20 | ~2.423×10^18 | ~2.432×10^18 | 0.9958 |
使用斯特林公式
斯特林的对数形式在绝对尺度相消的比率计算中最有用:
ln(n!) ≈ n·ln(n) − n + 0.5·ln(2πn)
伽玛函数
阶乘n!只对非负整数有意义。哈明需要对所有正实数n的球体积公式,所以他引入了伽玛函数:
Γ(n) = ∫₀^∞ x^(n−1) · e^(−x) dx (对n > 0收敛)
分部积分得到递推公式:Γ(n) = (n−1) · Γ(n−1)。
在正整数处:Γ(n) = (n−1)! 所以Γ(5) = 4! = 24。
在半整数处:Γ(1/2) = √π ≈ 1.772。这来自于高斯积分∫₋∞^∞ e^(−x²) dx = √π。
我们对球体积需要的值:在半整数参数处Γ(n/2 + 1)。
| n | n/2 + 1 | Γ(n/2 + 1) | |---|---|---| | 1 | 3/2 | √π/2 ≈ 0.886 | | 2 | 2 | 1! = 1 | | 3 | 5/2 | 3√π/4 ≈ 1.329 | | 4 | 3 | 2! = 2 | | 5 | 7/2 | 15√π/8 ≈ 3.323 |
公式与悖论
有了斯特林和伽玛在手,哈明推导出半径r的n维球的体积:
V_n(r) = C_n · r^n 其中 C_n = π^(n/2) / Γ(n/2 + 1)
常数C_n仅取决于n,不取决于r。前几个值:
| n | C_n | |---|---| | 1 | 2 | | 2 | π ≈ 3.142 | | 3 | 4π/3 ≈ 4.189 | | 4 | π²/2 ≈ 4.935 | | 5 | 8π²/15 ≈ 5.264 | | 6 | π³/6 ≈ 5.168 | | 8 | π⁴/24 ≈ 4.059 | | 10 | π⁵/120 ≈ 2.550 |
悖论: C_n在n≈5附近上升到最大值(C_5 ≈ 5.264),然后下降回零。极高维的单位球本质上没有体积——尽管直观上添加更多维应该增加更多空间。
为什么体积会坍缩?
关键:体积 = C_n · r^n。当r < 1时,r^n → 0 指数衰减。半径约束比维数增长更快地杀死体积。几乎所有n维单位超立方体的体积都在其角落,在内接球外。
角落悖论
在2D中:单位正方形[−1,1]^2的面积为4。内接圆的面积为π ≈ 3.14。圆填充正方形的78%。
在3D中:单位立方体[−1,1]^3的体积为8。内接球的体积为4π/3 ≈ 4.19。球填充52%。
在n维中:单位超立方体[−1,1]^n的体积为2^n。内接球的体积为C_n。球内的分数:
f(n) = C_n / 2^n
随着n增大:C_n → 0而2^n → ∞。所以f(n)快速→ 0。在10D中,球填充立方体的不到0.3%。
工程含义:在高维设计空间中,你不能通过选择随机点来取样。几乎所有随机点都会着陆在角落,远离中心。你在3D中建立的直觉在这里完全失效。
为什么3D直觉失效
哈明在第9章的核心信息:每个具有n个独立参数的工程系统都存在于n维空间中。空气动力学、控制系统、芯片设计、药物分子——所有这些涉及n >> 3的参数空间。
3D直觉在高维中的三个特定失效:
1. 对角线距离。 在3D中,单位立方体的对角线长度为√3 ≈ 1.73。在n维单位超立方体中,对角线长度为√n。对于n=100,对角线长度为10——然而每个坐标仍然在0到1之间运行。在任何单个维中看起来'接近'的点在n维空间中相距很远。
2. 体积集中。 如上所示:体积集中在角落,不在中心球。你的中心是典型的直觉坍缩了。
3. 邻域计数。 在2D中,一个点在半径r内大约有πr²个邻域。在nD中,邻域计数按C_n·r^n缩放,对于大的n实际上对于小的r是零。邻域坍缩。
哈明的结论:'你根本无法想象n空间中发生的事情。'你必须依靠数学——体积、距离和概率公式——而不是想象力。
应用几何
球体积坍缩对现代实践有具体的后果:
优化: 高维参数空间中的梯度下降之所以比随机搜索更有效,正是因为它利用局部梯度信息来导航角落和空洞结构。
机器学习: 神经网络权重空间有数百万维。几何预测,随机初始化很少着陆在好的解决方案附近——然而训练过程通过结构化梯度步骤导航到一个。
实验设计: 覆盖高维参数空间需要指数级数的样本。这促进了结构化实验设计(拉丁超立方体、空间填充设计)而不是随机取样。