昨天群里大家讨论到了 n n n维向量的一些反直觉现象,其中一个话题是“ 一般 n n n维空间下两个随机向量几乎都是垂直的”,这就跟二维/三维空间的认知有明显出入了。要从理论上认识这个结论,我们可以考虑两个随机向量的夹角 θ \theta θ分布,并算算它的均值方差。
概率密度
首先,我们来推导 θ \theta θ的概率密度函数。呃,其实也不用怎么推导,它是n维超球坐标的一个直接结论。
要求两个随机向量之间的夹角分布,很显然,由于各向同性,所以我们只需要考虑单位向量,而同样是因为各向同性,我们只需要固定其中一个向量,考虑另一个向量随机变化。不是一般性,考虑随机向量为
x
=
(
x
1
,
x
2
,
…
,
x
n
)
(1)
x=(x_1,x_2,\dots,x_n)\tag{1}
x=(x1,x2,…,xn)(1)
而固定向量为
y
=
(
1
,
0
,
⋯
,
0
)
(2)
y=(1,0,\cdots,0)\tag{2}
y=(1,0,⋯,0)(2)
将
x
x
x变换为超球坐标(关于
n
n
n维球的知识可以参考维基百科):
{
x
1
=
cos
(
φ
1
)
x
2
=
sin
(
φ
1
)
cos
(
φ
2
)
x
3
=
sin
(
φ
1
)
sin
(
φ
2
)
cos
(
φ
2
)
⋮
x
n
−
1
=
sin
(
φ
1
)
…
sin
(
φ
n
−
2
)
cos
(
φ
n
−
1
)
x
n
=
sin
(
φ
1
)
…
sin
(
φ
n
−
2
)
sin
(
φ
n
−
1
)
(3)
\begin{cases} x_1=\cos(\varphi_1) \\[0.01ex] x_2=\sin(\varphi_1)\cos(\varphi_2) \\ x_3=\sin(\varphi_1)\sin(\varphi_2)\cos(\varphi_2) \\ \quad\:\:\,\vdots\\ x_{n-1}=\sin(\varphi_1)\dots\sin(\varphi_{n-2})\cos(\varphi_{n-1}) \\ x_{n}=\sin(\varphi_1)\dots\sin(\varphi_{n-2})\sin(\varphi_{n-1}) \\ \end{cases} \tag{3}
⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧x1=cos(φ1)x2=sin(φ1)cos(φ2)x3=sin(φ1)sin(φ2)cos(φ2)⋮xn−1=sin(φ1)…sin(φn−2)cos(φn−1)xn=sin(φ1)…sin(φn−2)sin(φn−1)(3)
其中
φ
n
−
1
∈
[
0
,
2
π
)
\varphi_{n−1}\in[0,2\pi)
φn−1∈[0,2π)而剩下的
φ
\varphi
φ范围是
[
0
,
π
]
[0,π]
[0,π]。此时,
x
x
x和
y
y
y的夹角是:
arccos
⟨
x
,
y
⟩
=
arccos
cos
φ
1
=
φ
1
(4)
\arccos{\langle x,y\rangle}=\arccos{\cos{\varphi_1}}=\varphi_1\tag{4}
arccos⟨x,y⟩=arccoscosφ1=φ1(4)
也就是说两者的夹角正好是
φ
1
\varphi_1
φ1。那么,
x
x
x和
y
y
y的夹角不超过
θ
\theta
θ的概率是:
P
n
(
φ
1
≤
θ
)
=
n
维
超
球
面
上
φ
1
不
超
过
θ
的
积
分
n
维
超
球
面
上
的
全
积
分
(5)
P_n(\varphi_1\leq\theta)=\cfrac{n维超球面上\varphi_1不超过\theta的积分}{n维超球面上的全积分}\tag{5}
Pn(φ1≤θ)=n维超球面上的全积分n维超球面上φ1不超过θ的积分(5)
而
n
n
n维超球面上的积分微元
sin
n
−
2
(
φ
1
)
sin
n
−
3
(
φ
2
)
⋯
sin
(
φ
n
−
2
)
d
φ
1
d
φ
2
⋯
d
φ
n
−
1
\sin^{n-2}{(\varphi_1)}\sin^{n-3}{(\varphi_2)}\cdots\sin{(\varphi_{n-2})}d{\varphi_1}d{\varphi_2}\cdots d{\varphi_{n-1}}
sinn−2(φ1)sinn−3(φ2)⋯sin(φn−2)dφ1dφ2⋯dφn−1(可在维基百科找到),所以
P
n
(
φ
1
≤
θ
)
=
∫
0
2
π
⋯
∫
0
π
∫
0
θ
sin
n
−
2
(
φ
1
)
sin
n
−
3
(
φ
2
)
⋯
sin
(
φ
n
−
2
)
d
φ
1
d
φ
2
⋯
d
φ
n
−
1
∫
0
2
π
⋯
∫
0
π
∫
0
π
sin
n
−
2
(
φ
1
)
sin
n
−
3
(
φ
2
)
⋯
sin
(
φ
n
−
2
)
d
φ
1
d
φ
2
⋯
d
φ
n
−
1
=
(
n
−
1
)
维
单
位
超
球
的
表
面
积
×
∫
0
θ
sin
n
−
2
φ
1
d
φ
1
n
维
单
位
超
球
的
表
面
积
=
Γ
(
n
2
)
Γ
(
n
−
1
2
)
π
∫
0
θ
sin
n
−
2
φ
1
d
φ
1
(
n
维
球
面
的
表
面
积
S
n
=
2
π
n
2
R
n
−
1
Γ
(
n
2
)
)
(6)
\begin{aligned} P_n(\varphi_1\leq\theta) & = \frac{\int_0^{2\pi}\cdots \int_0^{\pi}\int_0^{\theta}\sin^{n-2}(\varphi_1)\sin^{n-3}(\varphi_2)\cdots\sin(\varphi_{n-2})d\varphi_1d\varphi_2\cdots d\varphi_{n-1}}{\int_0^{2\pi}\cdots \int_0^{\pi}\int_0^{\pi}\sin^{n-2}(\varphi_1)\sin^{n-3}(\varphi_2)\cdots\sin(\varphi_{n-2})d\varphi_1d\varphi_2\cdots d\varphi_{n-1}} \\ & = \frac{(n−1)维单位超球的表面积\times\int_0^{\theta}\sin^{n-2}\varphi_1d\varphi_1}{n维单位超球的表面积} \\ & = \frac{\Gamma{(\frac{n}{2}})}{\Gamma{(\frac{n-1}{2})}\sqrt{\pi}}\int_{0}^{ \theta}\sin^{n-2}\varphi_1d\varphi_1 \quad(n维球面的表面积S_n=\frac{2\pi^{\frac{n}{2}}R^{n-1}}{\Gamma(\frac{n}{2})}) \end{aligned} \tag{6}
Pn(φ1≤θ)=∫02π⋯∫0π∫0πsinn−2(φ1)sinn−3(φ2)⋯sin(φn−2)dφ1dφ2⋯dφn−1∫02π⋯∫0π∫0θsinn−2(φ1)sinn−3(φ2)⋯sin(φn−2)dφ1dφ2⋯dφn−1=n维单位超球的表面积(n−1)维单位超球的表面积×∫0θsinn−2φ1dφ1=Γ(2n−1)πΓ(2n)∫0θsinn−2φ1dφ1(n维球面的表面积Sn=Γ(2n)2π2nRn−1)(6)
这表明
θ
\theta
θ的概率密度函数就是
p
n
(
θ
)
=
Γ
(
n
2
)
Γ
(
n
−
1
2
)
π
sin
n
−
2
θ
(7)
p_n(\theta)=\frac{\Gamma{(\frac{n}{2}})}{\Gamma{(\frac{n-1}{2})}\sqrt{\pi}}\sin^{n-2}\theta\tag{7}
pn(θ)=Γ(2n−1)πΓ(2n)sinn−2θ(7)
有时候我们想关心
η
=
cos
θ
\eta=\cos{\theta}
η=cosθ的分布,这时候需要应用第二积分换元法做一下概率密度的换元
p
n
(
θ
)
=
Γ
(
n
2
)
Γ
(
n
−
1
2
)
π
sin
n
−
2
(
arccos
η
)
∣
d
θ
d
η
∣
=
Γ
(
n
2
)
Γ
(
n
−
1
2
)
π
(
1
−
η
2
)
n
−
2
2
(
1
−
η
2
)
1
2
=
Γ
(
n
2
)
Γ
(
n
−
1
2
)
π
(
1
−
η
2
)
n
−
3
2
(8)
\begin{aligned} p_n(\theta) &=\frac{\Gamma{(\frac{n}{2}})}{\Gamma{(\frac{n-1}{2})}\sqrt{\pi}}\sin^{n-2}(\arccos{ \eta})\bigg\lvert \frac{d\theta}{d\eta}\bigg\rvert \\ &=\frac{\Gamma{(\frac{n}{2}})}{\Gamma{(\frac{n-1}{2})}\sqrt{\pi}}(1-\eta^2)^{\frac{n-2}2}(1-\eta^2)^{\frac12}\\ &=\frac{\Gamma{(\frac{n}{2}})}{\Gamma{(\frac{n-1}{2})}\sqrt{\pi}}(1-\eta^2)^{\frac{n-3}2} \end{aligned} \tag{8}
pn(θ)=Γ(2n−1)πΓ(2n)sinn−2(arccosη)∣∣∣∣dηdθ∣∣∣∣=Γ(2n−1)πΓ(2n)(1−η2)2n−2(1−η2)21=Γ(2n−1)πΓ(2n)(1−η2)2n−3(8)
分布情况
由(7)和(8)我们可以看到,当 n = 2 n=2 n=2时,夹角 θ \theta θ的分布是一个均匀分布,而当 n = 3 n=3 n=3时,夹角余弦 cos θ \cos\theta cosθ的分布是均匀分布。这两个结果说明在我们所能感知到的二维和三维空间中,角度的分布是比较均匀的。但是 n n n比较大的时候呢?比如 n = 20 , 50 n=20,50 n=20,50?
从
p
n
(
θ
)
∼
sin
−
2
n
θ
p_n(\theta)\sim \sin^{-2n}\theta
pn(θ)∼sin−2nθ的形式可以发现,当
n
≥
3
n\geq3
n≥3时,最大概率是
θ
=
π
2
\theta=\cfrac\pi2
θ=2π(即90度),另外
sin
n
−
2
θ
\sin^{n−2}\theta
sinn−2θ也是关于
θ
=
π
2
θ=\cfrac{\pi}{2}
θ=2π对称的,所以它的均值也是
π
2
\cfrac\pi2
2π。但这还不能充分描述分布情况,我们还需要考虑方差
V
a
r
n
(
θ
)
=
Γ
(
n
2
)
Γ
(
n
−
1
2
)
π
∫
0
π
(
θ
−
π
2
)
2
sin
n
−
2
θ
d
θ
(9)
Var_n(\theta)=\frac{\Gamma{(\frac{n}{2}})}{\Gamma{(\frac{n-1}{2})}\sqrt{\pi}}\int_0^{\pi}(\theta-\frac\pi2)^2\sin^{n-2}\theta d\theta\tag{9}
Varn(θ)=Γ(2n−1)πΓ(2n)∫0π(θ−2π)2sinn−2θdθ(9)
这个积分有解析解,但是形式很麻烦(喜欢看的话可以自己用Mathematica去算),我们来看部分数值解就好:
n | 方差 |
---|---|
3 | 0.467401 |
10 | 0.110661 |
20 | 0.0525832 |
50 | 0.0204053 |
100 | 0.0101007 |
200 | 0.00502508 |
1000 | 0.001001 |
可以看到,随着 n n n的增大,方差越来越小,这意味着高维空间中任意两个向量的夹角几乎都集中在 π 2 \cfrac\pi2 2π附近,换言之,高维空间中任意两个向量几乎都是垂直的。
当然,从图像也可以看出:
如果想要近似解析解的读者,可以考虑用拉普拉斯方法,用一个高斯分布去近似
p
n
(
θ
)
p_n(\theta)
pn(θ):在
θ
=
π
2
\theta=\cfrac\pi2
θ=2π处对
ln
sin
n
−
2
θ
\ln\sin^{n−2}\theta
lnsinn−2θ进行展开
ln
sin
n
−
2
θ
=
2
−
n
2
(
θ
−
π
2
)
2
+
O
(
(
θ
−
π
2
)
4
)
(10)
\ln\sin^{n-2}\theta=\cfrac{2-n}{2}(\theta-\frac\pi2)^2+\mathscr{O}\big((\theta-\frac\pi2)^4\big) \tag{10}
lnsinn−2θ=22−n(θ−2π)2+O((θ−2π)4)(10)
即
sin
n
−
2
θ
≈
exp
[
−
n
−
2
2
(
θ
−
π
2
)
2
]
(11)
\sin^{n-2}\theta\approx \exp[-\cfrac{n-2}{2}(\theta-\frac\pi2)^2] \tag{11}
sinn−2θ≈exp[−2n−2(θ−2π)2](11)
从这个近似形式看,我们可以近似地认为
θ
\theta
θ服从均值为
π
2
\cfrac\pi2
2π、方差为
1
n
−
2
\cfrac1{n−2}
n−21的正态分布,即当
n
n
n较大时,方差近似为
1
n
−
2
\cfrac1{n−2}
n−21,这也能看出
n
n
n越大,方差越小。
转载
本文转载自苏神的 n维空间下两个随机向量的夹角分布