[英]Iterate over all vectors of length `L`
如何迭代具有指定長度(例如單位長度)的d
維的所有可能向量,其中delta
是步長。
注意, delta
可以非常小,例如單位向量的1e-3
。 d
通常在[0,5]
的范圍內,但這不是一個嚴格的限制!
愚蠢的方法是i in [0,N)
使用delta*i
for i in [0,N)
的列表並生成所有可能的組合,例如在n中選擇n並選擇總和為1
。 但這似乎效率很低,我相信有更好的方法,我不知道。
鎬應至少接近均勻分布在表面上。
好吧,我想我找到了你需要的東西。 基本上,如果你選擇
X=(X1, X2, ..., Xn)/norm(X)
其中X1, X2,..., Xn
是正態分布N(0,1)
平均為0,標准偏差為1)和norm(X)
是的L2(歐幾里德)范數X
,則保證了向量X
均勻分布在n
維單位球的表面上。
現在,既然你想要離散化,只需從二項式分布中繪制每個Xi
(在極限我們知道它成為泊松分布,通過中心極限定理,收斂到高斯分布,見http:// www。 roe.ac.uk/japwww/teaching/astrostats/astrostats2012_part2.pdf ),你就完成了。 當然,您將在維度n
獲得指數縮放,但我認為沒有任何其他方式,因為此類向量的數量隨維度呈指數級增長。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.