想到这个问题源自于Domingos在A few useful things to know about machine learning提到,在高维的空间中,任意两个向量都几乎是正交的。我们可以从"n维单位球上任意两个向量交角"的统计性质来验证。
我们的目标是要在n维单位球面上独立同分布的均匀采样两个向量x与y,计算两者交角的统计性质。
其实这个问题挺简单的,只要稍微推一下。
首先显然我们并不需要采样两个向量,由对称性,只需假设其中一个向量固定在(1,0,...),求另一个向量与它的交角就可以了。
当n=2时,2维单位球面就是2维平面上的单位圆,向量的均匀采样可以方便的用在[0,2pi]上均匀采样向量的方位角来实现。这时可以方便的求取夹角的期望与方差:
当n为任意数时,求这一夹角的余弦比直接求夹角更方便。
由对称性很容易得到夹角余弦的数学期望为0:
对于方差,问题的关键在于如何均匀的在n维球面上均匀采样,Wikipedia提供了常用的标准做法:独立同分布的采样n个标准正态分布作为n个分量并将其归一化到单位球面上:
证明很容易,直接想一想就出来了,根本原因是归一化前的随机向量的概率分布只与其到原点的距离有关。
所以可以得到夹角余弦的方差:
由对称性很容易得到:
总之结论是夹角余弦的期望为0(对应两向量正交),方差随n增大而成反比的减小,也就是说,当维度n非常大时,任意两向量几乎以概率1正交。高维情况下不少事情和我们想象的很不一样。
p.s.1: 本文的公式由
生成,其中前两个小\theta是在线的图片,而其他是生成后离线下载下来的,用于之后测试在线的公式生成是否靠谱。
p.s.2: 这个问题做面试题不错。。。
No comments:
Post a Comment