阶乘的对数尺度
斯特林近似将乘积转换为和,这是使大n数学变得可处理的基本操作:
ln(n!) ≈ n·ln(n) − n + 0.5·ln(2πn)
此公式来自用ln(x)的积分近似求和Σ ln(k)(k=1..n),然后应用梯形法则来界定误差。
为什么这在几何上很重要
n维球体体积公式涉及Γ(n/2 + 1),对于整数n等于(n/2)!或半整数的乘积。斯特林让我们估计这些大n的值,而无需直接计算每个值。
斯特林近似以10为底的对数记为log(n!) ≈ n·log(n) − n·log(e),用于数量级估计。
对于n = 10:ln(10!) ≈ 10·2.303 − 10 + 0.5·ln(62.83) ≈ 23.03 − 10 + 2.08 = 15.10(真实值:15.104)。
对于n = 100:ln(100!) ≈ 100·4.605 − 100 + 0.5·ln(628.3) ≈ 460.5 − 100 + 3.24 = 363.7(真实值:363.74)。
n=20时的斯特林近似
直接计算:ln(20) ≈ 2.996。ln(2π·20) = ln(125.66) ≈ 4.833。
体积公式
n维半径为r的球体体积:
V_n(r) = C_n · r^n 其中 C_n = π^(n/2) / Γ(n/2 + 1)
小n的C_n值遵循使用Γ(1/2) = √π和递推公式的模式:
- n=1: C_1 = π^(1/2)/Γ(3/2) = √π/(√π/2) = 2
- n=2: C_2 = π^1/Γ(2) = π/1 = π
- n=3: C_3 = π^(3/2)/Γ(5/2) = π^(3/2)/(3√π/4) = 4π/3
- n=4: C_4 = π²/Γ(3) = π²/2
- n=5: C_5 = π^(5/2)/Γ(7/2) = π^(5/2)/(15√π/8) = 8π²/15
注意:C_n在n≈5处达到峰值(≈ 5.264),然后下降。对于大n,C_n → 0。
n=5处的最大值
C_5 = 8π²/15。其中π² ≈ 9.870:
C_5 = 8·9.870/15 = 78.96/15 ≈ 5.264
验证这是最大值:C_6 = π³/6 ≈ 31.006/6 ≈ 5.168。所以C_6 < C_5 — 峰值出现在n=5处。
角落中的体积分数
角落悖论量化:n维单位超立方体[−1,1]^n中有多少体积分数位于半径为1的内切球外?
角落分数 = 1 − C_n / 2^n
| n | C_n | 2^n | 球体分数 | 角落分数 | |---|---|---|---|---| | 2 | 3.14 | 4 | 78.5% | 21.5% | | 3 | 4.19 | 8 | 52.4% | 47.6% | | 4 | 4.93 | 16 | 30.8% | 69.2% | | 5 | 5.26 | 32 | 16.4% | 83.6% | | 6 | 5.17 | 64 | 8.1% | 91.9% | | 10 | 2.55 | 1024 | 0.25% | 99.75% |
优化的含义
角落悖论对高维空间中的优化有直接后果:
随机搜索失败。 n维参数空间中的随机点几乎肯定落在角落 — 远离原点,参数值极端。如果好的解决方案聚集在温和的参数值附近,随机搜索几乎永远不会找到它们。
梯度下降成功。 通过遵循局部梯度,你系统地导航几何,而不是盲目地对其进行采样。维度诅咒打击随机方法;结构化方法适应。
距离集中。 在高维中,随机点之间的所有成对距离集中在相同值周围:对于[0,1]^n中均匀分布的点,它们都大约是√(2n/3)。最近邻方法崩溃,因为"最近"和"最远"变得难以区分。
哈明的处方:在信任你的直觉之前理解几何。在高维空间中,几何是反直觉的,数学是唯一可靠的指南。