如何迭代具有指定长度(例如单位长度)的d
维度的所有可能向量,其中delta
是步长。
请注意,delta
可能非常小,例如1e-3
单位向量。 d
通常在[0,5]
范围内,但这不是一个严格的限制!
这种愚蠢的方法是使用delta*i
列表i in [0,N)
并生成所有可能的组合,例如在n中选择n并选择总计为1
的组合。但这似乎效率很低,我确信有更好的方法,我不知道。
镐应至少接近均匀分布在表面上。
答案 0 :(得分:1)
好的,我想我知道你需要什么。基本上,如果你选择
X=(X1, X2, ..., Xn)/norm(X)
其中X1, X2,..., Xn
通常分布为N(0,1)
(平均值为0且标准差为1),norm(X)
为X
的L2(欧几里德)范数,则保证向量X
均匀分布在n
- 维单位球的表面上。
现在,既然你想要离散化,只需从二项式分布中绘制每个Xi
(在极限我们知道它成为泊松分布,通过中心极限定理,收敛到高斯分布,见http://www.roe.ac.uk/japwww/teaching/astrostats/astrostats2012_part2.pdf),你就完成了。当然,您将在维度n
中获得指数缩放,但我认为没有任何其他方式,因为此类向量的数量随维度呈指数级增长。