n维空间下两个随机向量的夹角分布
By 苏剑林 | 2019-11-13 | 138146位读者 |昨天群里大家讨论到了$n$维向量的一些反直觉现象,其中一个话题是“一般$n$维空间下两个随机向量几乎都是垂直的”,这就跟二维/三维空间的认知有明显出入了。要从理论上认识这个结论,我们可以考虑两个随机向量的夹角$\theta$分布,并算算它的均值方差。
概率密度 #
首先,我们来推导$\theta$的概率密度函数。呃,其实也不用怎么推导,它是$n$维超球坐标的一个直接结论。
要求两个随机向量之间的夹角分布,很显然,由于各向同性,所以我们只需要考虑单位向量,而同样是因为各向同性,我们只需要固定其中一个向量,考虑另一个向量随机变化。不是一般性,考虑随机向量为
\begin{equation}\boldsymbol{x}=(x_1,x_2,\dots,x_n)\end{equation}
而固定向量为
\begin{equation}\boldsymbol{y}=(1,0,\dots,0)\end{equation}
将$\boldsymbol{x}$变换为超球坐标(关于$n$维球的知识可以参考维基百科):
\begin{equation}
\left\{\begin{aligned}
x_{1}&=\cos(\varphi_{1})\\
x_{2}&=\sin(\varphi_{1})\cos(\varphi_{2})\\
x_{3}&=\sin(\varphi_{1})\sin(\varphi_{2})\cos(\varphi_{3})\\
&\,\,\vdots \\
x_{n-1}&=\sin(\varphi_{1})\cdots \sin(\varphi_{n-2})\cos(\varphi_{n-1})\\
x_{n}&=\sin(\varphi_{1})\cdots \sin(\varphi_{n-2})\sin(\varphi_{n-1})
\end{aligned}\right.
\end{equation}
其中$\varphi_{n−1}\in [0, 2\pi)$而剩下的$\varphi$范围是$[0, \pi]$。此时,$\boldsymbol{x}$和$\boldsymbol{y}$的夹角是:
\begin{equation}\arccos \langle \boldsymbol{x},\boldsymbol{y}\rangle = \arccos \cos(\varphi_{1}) = \varphi_{1}
\end{equation}
也就是说两者的夹角正好是$\varphi_1$。那么,$\boldsymbol{x}$和$\boldsymbol{y}$的夹角不超过$\theta$的概率是:
\begin{equation}P_n(\varphi_1\leq\theta) = \frac{n\text{维超球面上}\varphi_1\text{不超过}\theta\text{的积分}}{n\text{维超球面上的全积分}}
\end{equation}
而$n$维超球面上的积分微元是$\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}$(可在维基百科找到),所以
\begin{equation}\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_{1}\,d\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_{1}\,d\varphi_{2}\cdots d\varphi_{n-1}}\\
=&\frac{(n-1)\text{维单位超球的表面积}\times\int_0^{\theta}\sin^{n-2}\varphi_{1} d\varphi_1}{n\text{维单位超球的表面积}}\\
=&\frac{\Gamma\left(\frac{n}{2}\right)}{\Gamma\left(\frac{n-1}{2}\right)\sqrt{\pi}} \int_0^{\theta}\sin^{n-2}\varphi_1 d\varphi_1
\end{aligned}
\end{equation}
这表明$\theta$的概率密度函数就是
\begin{equation}
p_n(\theta) = \frac{\Gamma\left(\frac{n}{2}\right)}{\Gamma\left(\frac{n-1}{2}\right)\sqrt{\pi}}\sin^{n-2} \theta
\label{eq:theta}\end{equation}
有时候我们想关心$\eta=\cos\theta$的分布,这时候需要做一下概率密度的换元
\begin{equation}\begin{aligned}
p_n(\eta)=&\frac{\Gamma\left(\frac{n}{2}\right)}{\Gamma\left(\frac{n-1}{2}\right)\sqrt{\pi}}\sin^{n-2} (\arccos\eta)\left|\frac{d\theta}{d\eta}\right|\\
=&\frac{\Gamma\left(\frac{n}{2}\right)}{\Gamma\left(\frac{n-1}{2}\right)\sqrt{\pi}}(1-\eta^2)^{(n-3)/2}\\
\end{aligned}\label{eq:cos}\end{equation}
分布情况 #
由$\eqref{eq:theta}$和$\eqref{eq:cos}$我们可以看到,当$n=2$时,夹角$\theta$的分布是一个均匀分布,而当$n=3$时,夹角余弦$\cos\theta$的分布是均匀分布。这两个结果说明在我们所能感知到的二维和三维空间中,角度的分布是比较均匀的。但是$n$比较大的时候呢?比如$n=20,50$?
从$p_n(\theta)\sim\sin^{n-2}\theta$的形式可以发现,当$n\geq 3$时,最大概率是$\theta=\frac{\pi}{2}$(即90度),另外$\sin^{n-2}\theta$也是关于$\theta=\frac{\pi}{2}$对称的,所以它的均值也是$\frac{\pi}{2}$。但这还不能充分描述分布情况,我们还需要考虑方差
\begin{equation}
Var_n(\theta) = \frac{\Gamma\left(\frac{n}{2}\right)}{\Gamma\left(\frac{n-1}{2}\right)\sqrt{\pi}}\int_0^{\pi}\left(\theta-\frac{\pi}{2}\right)^2\sin^{n-2} \theta d\theta\end{equation}
这个积分有解析解,但是形式很麻烦(喜欢看的话可以自己用Mathematica去算),我们来看部分数值解就好:
$$\begin{array}{c|c}
\hline
n & \text{方差}\\
\hline
3 & 0.467401\\
10 & 0.110661\\
20 & 0.0525832\\
50 & 0.0204053\\
100 & 0.0101007\\
200 & 0.00502508\\
1000 & 0.001001\\
\hline
\end{array}$$
可以看到,随着$n$的增大,方差越来越小,这意味着高维空间中任意两个向量的夹角几乎都集中在$\frac{\pi}{2}$附近,换言之,高维空间中任意两个向量几乎都是垂直的。
当然,从图像也可以看出:
如果想要近似解析解的读者,可以考虑用拉普拉斯方法,用一个高斯分布去近似$p_n(\theta)$:在$\theta=\frac{\pi}{2}$处对$\ln \sin^{n-2}\theta$进行展开
\begin{equation}\ln \sin^{n-2}\theta=\frac{2-n}{2}\left(\theta - \frac{\pi}{2}\right)^2 + \mathcal{O}\left(\left(\theta - \frac{\pi}{2}\right)^4\right)\end{equation}
即
\begin{equation}\sin^{n-2}\theta\approx \exp\left[-\frac{n-2}{2}\left(\theta - \frac{\pi}{2}\right)^2\right]\end{equation}
从这个近似形式看,我们可以近似地认为$\theta$服从均值为$\frac{\pi}{2}$、方差为$\frac{1}{n-2}$的正态分布,即当$n$较大时,方差近似为$\frac{1}{n-2}$,这也能看出$n$越大,方差越小。
文章小结 #
本文对高维空间的夹角分布进行了推导,记录在此以备忘,同时也供有需要的读者参考。
转载到请包括本文地址:https://spaces.ac.cn/archives/7076
更详细的转载事宜请参考:《科学空间FAQ》
如果您还有什么疑惑或建议,欢迎在下方评论区继续讨论。
如果您觉得本文还不错,欢迎分享/打赏本文。打赏并非要从中获得收益,而是希望知道科学空间获得了多少读者的真心关注。当然,如果你无视它,也不会影响你的阅读。再次表示欢迎和感谢!
如果您需要引用本文,请参考:
苏剑林. (Nov. 13, 2019). 《n维空间下两个随机向量的夹角分布 》[Blog post]. Retrieved from https://spaces.ac.cn/archives/7076
@online{kexuefm-7076,
title={n维空间下两个随机向量的夹角分布},
author={苏剑林},
year={2019},
month={Nov},
url={\url{https://spaces.ac.cn/archives/7076}},
}
November 17th, 2019
好久没有看到这些名词了。
November 21st, 2019
如果能直接给出分布函数的图像就好了
感谢建议,已经补充
December 6th, 2019
你好,我想问下公式5是怎么得来的啊?
公式5就是推导过程了。如果看不懂,你可能需要补习多元积分、n维球坐标变换相关内容,这些在维基百科上都很容易找到。
呃,我是说5式的第一行的式子,为什么phi小于等于theta的概率值是这样计算?
因为$\boldsymbol{x},\boldsymbol{y}$的夹角就是$\varphi_1$,跟其他$\varphi_i\,(i > 1)$无关。所以
$$\text{夹角不超过}\theta\text{的点的集合}=\big\{\varphi_1\in[0,\theta],\text{其余}\varphi_i\text{无约束}\big\}$$
所以要先对$\varphi_1$从0到$\theta$积分,然后其他$\varphi_i\,(i > 1)$全空间积分,最后再除以所有$\varphi_i$的全空间积分。
不理解为什么两个超球表面积之比就是概率,换成其他的积分形式不可以吗,如体积或更加任意的积分形式?能否给个直观的解释。
我这里没说“两个超球表面积之比就是概率”呀,可能是我原来写的细节不够多,我现在补充了一下,你再看看?
苏老师你好。结合上面网友的问题,我怀疑公式5下面一行使用的积分微元可能存在问题。这个积分微元是用来求超球表面积的,它的假设是超球的表面是均匀分布的。就好比说,球壳的表面密度一样。我觉得问题就在于最最开始的假设,向量x,y是随机向量。那么x,y的随机是指什么?如果x,y是在欧式空间上均匀分布,根据公式3,x其实是通过向量的归一化投影到了单位超球面上了,那么这个时候球壳上的密度就不均匀了,使用公式5下面的那个均匀微元就存在问题。或者用更本质的说法,如果x,y是在欧式空间上随机分布(均匀分布)的向量,使用超球面讨论问题时,各向同性是不成立的。而如果x,y是在球面上均匀分布的话,各向同性在这里才成立。
不知道我这个想法是不是哪里有问题。恳请苏老师分析下,这个困扰我好一会儿了。
@kfxw|comment-12948
苏老师,我大概想明白了。因为网络里面我们一般假设随机向量都是正态分布的。那这样的话x,y在球面上的投影是均匀的没有问题。不存在我提到的这个疑问了。
在此之外我想问下,如果x,y已知服从了特定的分布,求夹角分布的话,您觉得可以从这里的推导出发进行修改吗?或者说,当x,y是均值非0的高斯分布的情况下,您觉得这里推导的思路方向会更容易一些吗?
@kfxw|comment-12948
你能想到这点,说明你对概率论有很深的理解了,这确实是个问题,就是“整个空间上的一个随机向量”应该怎么定义。事实上,全空间上的均匀分布是无法定义的,正如我们说均匀分布$U[a,b]$也只是定义在区间$[a,b]$上,不能直接定义在所有实数$\mathbb{R}$上。
所以,正如你在@kfxw|comment-12949所说,只能定义一个全空间上的常见的合理的分布,然后才去讨论这个夹角分布问题,而标准正态分布正是这样的一个分布,它满足各向同性,因此等价于单位球面上的均匀分布。反过来想,单位球面均匀分布的结果直接推广到全空间,似乎也算是一个朴素的、说得过去的推广,所以就这样子使用了。
December 19th, 2019
你好,请问$p(\theta)$是概率,那为什么它的的值会大于$1$?
$p(\theta)$不是概率,而是概率密度。
谢谢你的回复。如果$n$很大的时候,在$\frac{\pi}{2}$附近很小的一个邻域做积分,概率值也会大于1吧?
请好好去补习概率论相关知识好吗?$p(\theta)$是概率密度函数的一个必要条件是$\int_{-\infty}^{+\infty} p(\theta)d\theta=1$,你跟我说一个小区间内积分能大于1?
March 23rd, 2020
好像在无限维空间里任意基底都是正交的吧,记得不是很清楚了
没有吧。比如$1,x,x^2,x^3,\dots$就不是正交的吧?
March 24th, 2020
那原文应该是任意向量正交,概率接近1,
您这个例子举的是以幂函数为基底的吗
如果任意向量是正交,对应的基底不是正交会不会太奇怪了点?
1、是幂函数为基底;
2、注意前提,是“超球面上的均匀分布”(或者其他类似的各向同性分布)导致几乎正交(参考@苏剑林|comment-12955),而对于任意一组基底,基的某种随机组合构成的分布不一定是各向同性的,所以感觉上不能由基的正交性来推向量的正交性;
3、有个本质上的问题没说清楚:“任意基底”究竟怎么定义,“任意基底正交”又是怎么定义,严格上来讲,定义好了这两个概念,才能讨论第2步~
回2,我说的就是前提得是均匀分布才能导致任意向量才能几乎正交,然后我其实是想说由向量的正交性来推基底的正交性的...因为我觉得弄清了基底的结构就可以基本弄清比方说超球面的结构,因为空间维数和基底有关啊
回1 但是我不太明白为什么要以幂函数为基底,他们在同一维,如果和i做对比,更有可比性一点吧
谢谢指教
如果要考虑“无限可导的函数”组成无限维的向量空间,那么$1,x,x^2,x^3,\dots$是一个自然的基底,但它不满足正交性。
给定基底的情况下,向量的均匀性跟各分量系数的随机性相关,所以也就是说“基底+系数”才等于“向量”,因此向量的正交性不能单一确定“基底”或“系数”的状态。
明白了,谢谢您
但是如果基底是不变的,系数的分布状态能代替角度分布模拟整个分布状态吗,也存在正态分布吗?
要定义总能定义的,只是没必要折腾了吧~
嗯嗯,谢谢您了
March 26th, 2020
不过我想应该不太方便吧,毕竟好不容易换成了球坐标系
May 25th, 2020
你好,请问如果我现在的分布是高斯分布,但是不是服从N(0,1)的高斯分布,可以用上面的结论吗,还是需要重新推导一下?
参考这里:
https://kexue.fm/archives/7180#%E4%BF%A1%E6%89%8B%E6%8B%88%E6%9D%A5%E7%9A%84%E6%AD%A3%E4%BA%A4
您好,上一个账号密码没修改,还是我。我看完的理解,是即使不是高斯分布、均匀分布的情况下,该结论也是成立的。
还是有条件的,比如要求“均值为0,独立重复采样”得到的两个高维向量几乎垂直。
老师,如果两个高斯向量不是独立的,是不是就不能用这个方法了?
前面说的是充分条件,并非必要,其余情况自行按照前面链接中的方法分析判断
好的,有点感觉了,谢谢老师
July 3rd, 2020
苏老师您好:
我怀着万分感谢的心情写下这段话。我是一名计算机专业的博士生,最近正在写一篇论文。文中需要估计两个单位向量夹角的分布,我感觉它会服从高斯分布,然后就用程序去验证,数据倒是很符合我的预期,但是我无法从理论上解释这个事。最近正在为这个事发愁,您正好替我解决了!谢谢!已打赏!
过奖了
July 3rd, 2020
这个结论有趣!(数学功底好扎实!不禁赞叹)