मेरा मानना है कि इस सवाल का शीर्षक यह सब कहता है।
मेरा मानना है कि इस सवाल का शीर्षक यह सब कहता है।
जवाबों:
यह सोचने में मदद करता है कि द कर्स ऑफ डायमेंशनलिटी क्या है। सीवी पर कई बहुत अच्छे सूत्र हैं जो पढ़ने लायक हैं। यहां शुरू करने के लिए एक जगह है: एक बच्चे को "आयामीता का अभिशाप" समझाएं ।
मैं ध्यान देता हूं कि आप इसमें रुचि रखते हैं कि यह कैसे लागू होता है -मंस क्लस्टरिंग। यह ज्ञात होने लायक है-means स्क्वेयर्ड यूक्लिडियन दूरी को कम (केवल) करने के लिए एक खोज रणनीति है। इसके प्रकाश में, यह सोचने योग्य है कि यूक्लिडियन दूरी आयामीता के अभिशाप से कैसे संबंधित है (देखें: यूक्लिडियन दूरी उच्च आयामों में एक अच्छा मीट्रिक क्यों नहीं है? )।
इन थ्रेड्स से संक्षिप्त उत्तर यह है कि अंतरिक्ष की मात्रा (आकार) आयामों की संख्या के सापेक्ष एक अविश्वसनीय दर से बढ़ जाती है। यहाँ तक कीआयाम (जो ऐसा नहीं लगता है कि यह मेरे लिए बहुत ही उच्च आयामी है) अभिशाप पर ला सकता है। यदि आपके डेटा को उस स्थान पर समान रूप से वितरित किया गया था, तो सभी ऑब्जेक्ट एक दूसरे से लगभग समान हो जाते हैं। हालाँकि, @ Anony-Mousse ने उस प्रश्न के उत्तर में नोट किया , यह घटना इस बात पर निर्भर करती है कि डेटा को अंतरिक्ष में कैसे रखा जाता है; यदि वे एक समान नहीं हैं, तो आपको यह समस्या नहीं है। यह इस सवाल की ओर जाता है कि क्या समान रूप से वितरित उच्च-आयामी डेटा बिल्कुल सामान्य हैं (देखें: क्या "आयामीता का अभिशाप" वास्तव में वास्तविक डेटा में मौजूद है? )।
मैं यह तर्क दूंगा कि जरूरी नहीं कि चर (आपके डेटा की शाब्दिक गतिशीलता) की संख्या कितनी हो, लेकिन आपके डेटा की प्रभावी गतिशीलता। उस धारणा के तहत आयाम 'बहुत अधिक' है -मैंस, सबसे सरल रणनीति आपके पास मौजूद सुविधाओं की संख्या की गणना करना होगा। लेकिन अगर आप प्रभावी आयामीता के संदर्भ में सोचना चाहते हैं, तो आप एक सिद्धांत घटकों का विश्लेषण (पीसीए) कर सकते हैं और यह देख सकते हैं कि आइजेनवेल्स कैसे बंद हो जाते हैं। यह काफी सामान्य है कि अधिकांश भिन्नता कुछ आयामों में मौजूद होती है (जो आमतौर पर आपके डेटासेट के मूल आयामों में कट जाती है)। इसका मतलब यह है कि आप के साथ एक समस्या होने की संभावना कम है-इस अर्थ में कि आपकी प्रभावी आयामीता वास्तव में बहुत छोटी है।
एक अधिक सम्मिलित तरीका यह होगा कि आप अपने जवाब में सुझाए गए लाइनों @ hxd1011 के साथ अपने डेटासेट में जोड़ीदार दूरियों के वितरण की जांच करें । सरल सीमांत वितरण को देखकर आपको संभावित एकरूपता के कुछ संकेत मिलेंगे। यदि आप अंतराल के भीतर झूठ बोलने के लिए सभी चर को सामान्य करते हैंजोड़ीदार दूरी अंतराल के भीतर झूठ बोलना चाहिए । अत्यधिक ध्यान केंद्रित करने वाली समस्याएं समस्याएं पैदा करेंगी; दूसरी ओर, एक बहु-मोडल वितरण आशावादी हो सकता है (आप यहां मेरे जवाब में एक उदाहरण देख सकते हैं: बाइनरी और निरंतर चर दोनों को एक साथ क्लस्टरिंग में कैसे उपयोग करें? )।
हालाँकि, क्या -माइन्स 'काम करेंगे' अभी भी एक जटिल सवाल है। इस धारणा के तहत कि आपके डेटा में सार्थक अव्यक्त समूह हैं, वे आपके सभी आयामों या भिन्न आयामों में मौजूद नहीं हैं जो भिन्नता को बढ़ाते हैं (यानी, सिद्धांत घटक)। क्लस्टर निम्न-भिन्न आयामों में हो सकते हैं (देखें: पीसीए के उदाहरण जहां कम विचरण वाले पीसी "उपयोगी" होते हैं )। यही है, आप उन बिंदुओं के साथ क्लस्टर कर सकते हैं जो आपके थोड़े से आयामों पर या कम-भिन्नता वाले पीसी पर, भीतर से अच्छी तरह से अलग-अलग हैं, लेकिन उच्च-भिन्नता वाले पीसी पर समान रूप से दूर नहीं हैं, जिसके कारण-उनके बाद के समूहों को अनदेखा करने के लिए और इसके बजाय अशुद्ध समूहों को चुनने के लिए (कुछ उदाहरण यहां देखे जा सकते हैं: K- साधनों की कमियां कैसे समझें )।
मेरा उत्तर K साधनों तक सीमित नहीं है, लेकिन जाँच करें कि क्या हमारे पास किसी भी दूरी आधारित विधियों के लिए आयामीता का अभिशाप है। K- साधन एक दूरी माप पर आधारित है (उदाहरण के लिए, यूक्लिडियन दूरी)
एल्गोरिथ्म चलाने से पहले, हम डेटा के सभी जोड़ों के लिए दूरी मीट्रिक वितरण, यानी सभी दूरी मैट्रिक्स की जांच कर सकते हैं। यदि आपके पास है डेटा बिंदु, आपके पास होना चाहिए दूरी मैट्रिक्स। यदि डेटा बहुत बड़ा है, तो हम उसका एक नमूना देख सकते हैं।
यदि हमें आयामी समस्या का अभिशाप है, तो आप क्या देखेंगे, यह है कि ये मूल्य एक-दूसरे के बहुत करीब हैं। यह बहुत ही सहज ज्ञान युक्त लगता है, क्योंकि इसका मतलब है कि हर एक करीब है या हर एक से दूर है और दूरी माप मूल रूप से बेकार है।
इस तरह के प्रति-सहज परिणाम दिखाने के लिए यहां कुछ सिमुलेशन दिया गया है। यदि सभी सुविधाओं को समान रूप से वितरित किया जाता है, और यदि बहुत अधिक आयाम हैं, तो हर दूरी के मैट्रिक्स के करीब होना चाहिए, जो आता है । अन्य वितरण में समान वितरण को बदलने के लिए स्वतंत्र महसूस करें। उदाहरण के लिए, यदि हम सामान्य वितरण (परिवर्तन ) में बदल runif
जाते हैं rnorm
, तो यह बड़ी संख्या के आयामों के साथ दूसरी संख्या में परिवर्तित हो जाएगा।
यहां 1 से 500 तक आयाम के लिए सिमुलेशन है, सुविधाएँ 0 से 1 तक समान वितरण हैं।
plot(0, type="n",xlim=c(0,0.5),ylim=c(0,50))
abline(v=1/6,lty=2,col=2)
grid()
n_data=1e3
for (p in c(1:5,10,15,20,25,50,100,250,500)){
x=matrix(runif(n_data*p),ncol=p)
all_dist=as.vector(dist(x))^2/p
lines(density(all_dist))
}