मैं आपको एक सामान्य n- आयामी उत्तर दूंगा जो दो-आयामी मामले के लिए भी काम करता है, निश्चित रूप से। तीन आयामों में एक डिस्क का एक एनालॉग एक ठोस गेंद (गोले) का एक वॉल्यूम है।
दो दृष्टिकोण हैं जिन पर मैं चर्चा करने जा रहा हूं। उनमें से एक मैं "सटीक" कहूंगा , और आप इसके साथ आर में एक संपूर्ण समाधान प्राप्त करेंगे। दूसरा मैं जिसे हेयुरिस्टिक कहता हूं , और यह केवल विचार है, कोई पूर्ण समाधान प्रदान नहीं किया गया है।
"सटीक" समाधान
मेरा समाधान मार्साग्लिया और मुलर के कार्यों पर आधारित है । मूल रूप से, ऐसा होता है कि गॉसियन वेक्टर अपने मानक के लिए सामान्यीकृत होता है, जो आपको एक डी-डाइमेंशनल हाइपरस्फेयर पर समान रूप से वितरित अंक प्रदान करेगा:
घ1 / डी
n <- 1e4
rho <- sqrt(runif(n))
# d - # of dimensions of hyperdisk
d = 2
r = matrix(rnorm(n*d),nrow=n,ncol=d)
x = r/rep(sqrt(rowSums(r^2))/rho,1)
plot(x[,1], x[,2], pch=19, cex=0.6, col="#00000020")
यहाँ 3 डी केस के लिए एक कोड स्निपेट है, यानी एक ठोस गेंद:
library(scatterplot3d)
n <- 1e3
# d - # of dimensions of hyperdisk
d=3
rho <- (runif(n))^(1/d)
r = matrix(rnorm(n*d),nrow=n,ncol=d)
x = r/rep(sqrt(rowSums(r^2))/rho,1)
scatterplot3d(x[,1], x[,2], x[,3])
हेयुरिस्टिक दृष्टिकोण
यह दृष्टिकोण एक स्पष्ट तथ्य पर आधारित नहीं है कि एक इकाई हाइपरक्यूब की मात्रा पर इकाई हाइपरस्फेयर की मात्रा का राशन जो इसे संलग्न करता है, जब यह शून्य से सिकुड़ जाता है जब आयामों की संख्या अनंत तक बढ़ जाती है। यह आसानी से एक हाइपरस्फेयर की मात्रा के लिए अभिव्यक्ति से देखा जा सकता है :
वीn( आर ) = πn2Γ ( एन2+ 1 )आरn
यहां, आप देख सकते हैं कि कैसे सामने गुणांक है आरnजल्दी से घटकर शून्य हो जाता है। यह घटना का एक और प्रकटीकरण है जो मशीन लर्निंग में एक आयामी अभिशाप के रूप में जाना जाता है ।
यह हमारी समस्या के लिए प्रासंगिक क्यों है? मान लीजिए, आप डी रैंडम यूनिफ़ॉर्म नंबर जेनरेट करना चाहते हैं, तो ये डी-डाइमेंशनल हाइपरक्यूब के अंदर रैंडम पॉइंट्स होंगे। इसके बाद, आप हाइपरस्फेयर (उर्फ एन-बॉल) के अंदर के बिंदुओं को लेने के लिए अस्वीकृति का नमूना लागू करते हैं:Σघमैं = १एक्स2मैं< आर2। समस्या यह है कि उच्च संख्या में d के लिए, लगभग सभी बिंदु क्षेत्र के बाहर होंगे! आप अपने नमूनों के विशाल बहुमत को फेंक देंगे।
समाधान का प्रस्ताव है कि मैं केंद्र के पास के बिंदुओं के निरीक्षण के साथ अस्वीकृति नमूने का उपयोग करूं। यह पता चला है कि यदि आप गेंद के अंदर से यादृच्छिक वर्दी नमूने के कार्टेशियन निर्देशांक में से एक देख रहे थे, तो इसका वितरण विचरण के साथ गौसियन में परिवर्तित हो जाएगा।1घ+ 2√। इसलिए, घन से समान रूप से अंक लेने के बजाय, हम गाऊसी का उपयोग करते हुए कार्टेशियन समन्वय का नमूना ले रहे हैं, फिर उन पर अस्वीकृति का नमूना लागू करें। इस तरह से हम कई उत्पन्न यादृच्छिक चर को बर्बाद नहीं करेंगे। यह महत्व नमूना तकनीक का एक रूप होगा।