मुझे कैसे पता चलेगा कि मेरे k- साधन क्लस्टरिंग एल्गोरिथ्म आयामीता के अभिशाप से पीड़ित है?


12

मेरा मानना ​​है कि इस सवाल का शीर्षक यह सब कहता है।


3
मुझे लगता है कि आपको हमारे लिए स्पष्ट करना होगा कि आप एक लक्षण से क्या मतलब रखते हैं।
mdewey

यदि "लक्षण" "परीक्षण" का एक हाथ से वार करने वाला संस्करण है, तो शायद आप अपने डेटासेट के उपसमूह ले सकते हैं - शायद नमूना आकार का 66%, अपना विश्लेषण करें (kmeans, अपने मामले में), और फिर देखें कि कितना उछल रहा है परिणाम हैं उदाहरण के लिए, आप देख सकते हैं कि एक ही क्लस्टर में कितनी बार विशेष अवलोकन दिए गए हैं। तो फिर, यह प्रयास के लायक नहीं हो सकता है। यदि आप एक आयामी समस्या की संभावना के बारे में चिंतित हैं, तो संभावना है कि आपके पास एक है। आप अन्य क्लस्टरिंग दृष्टिकोणों पर विचार कर सकते हैं जो कुछ हद तक गतिशीलता को कम करते हैं।
जेनेरिक_युसर

@generic_user अगर उस टिप्पणी का जवाब था, तो मैं इसे एक स्वीकृत उत्तर के रूप में गिनाऊंगा :)
मैथ्यू

1
यह सवाल खुले रहने के लिए पर्याप्त है, आईएमओ।
गंग -

1
अक्सर पर्याप्त होता है, आप "आयाम के अभिशाप" से पहले के-साधनों की बहुत अधिक गंभीर समस्याओं में भाग लेते हैं। k- साधन 128 आयामी डेटा (जैसे SIFT रंग वैक्टर) पर काम कर सकते हैं यदि गुण अच्छे स्वभाव वाले हैं। कुछ हद तक, यह कभी-कभी 10000-आयामी पाठ डेटा पर भी काम कर सकता है। अभिशाप का सैद्धांतिक मॉडल वास्तविक डेटा के लिए कभी नहीं होता है। बड़ी समस्याएं अतुलनीय विशेषताएं, विरलता, और कल्पना करने और परिणाम की दोहरी जांच करने में असमर्थता हैं।
है क्विट -

जवाबों:


18

यह सोचने में मदद करता है कि द कर्स ऑफ डायमेंशनलिटी क्या है। सीवी पर कई बहुत अच्छे सूत्र हैं जो पढ़ने लायक हैं। यहां शुरू करने के लिए एक जगह है: एक बच्चे को "आयामीता का अभिशाप" समझाएं

मैं ध्यान देता हूं कि आप इसमें रुचि रखते हैं कि यह कैसे लागू होता है -मंस क्लस्टरिंग। यह ज्ञात होने लायक है-means स्क्वेयर्ड यूक्लिडियन दूरी को कम (केवल) करने के लिए एक खोज रणनीति है। इसके प्रकाश में, यह सोचने योग्य है कि यूक्लिडियन दूरी आयामीता के अभिशाप से कैसे संबंधित है (देखें: यूक्लिडियन दूरी उच्च आयामों में एक अच्छा मीट्रिक क्यों नहीं है? )।

इन थ्रेड्स से संक्षिप्त उत्तर यह है कि अंतरिक्ष की मात्रा (आकार) आयामों की संख्या के सापेक्ष एक अविश्वसनीय दर से बढ़ जाती है। यहाँ तक की10आयाम (जो ऐसा नहीं लगता है कि यह मेरे लिए बहुत ही उच्च आयामी है) अभिशाप पर ला सकता है। यदि आपके डेटा को उस स्थान पर समान रूप से वितरित किया गया था, तो सभी ऑब्जेक्ट एक दूसरे से लगभग समान हो जाते हैं। हालाँकि, @ Anony-Mousse ने उस प्रश्न के उत्तर में नोट किया , यह घटना इस बात पर निर्भर करती है कि डेटा को अंतरिक्ष में कैसे रखा जाता है; यदि वे एक समान नहीं हैं, तो आपको यह समस्या नहीं है। यह इस सवाल की ओर जाता है कि क्या समान रूप से वितरित उच्च-आयामी डेटा बिल्कुल सामान्य हैं (देखें: क्या "आयामीता का अभिशाप" वास्तव में वास्तविक डेटा में मौजूद है? )।

मैं यह तर्क दूंगा कि जरूरी नहीं कि चर (आपके डेटा की शाब्दिक गतिशीलता) की संख्या कितनी हो, लेकिन आपके डेटा की प्रभावी गतिशीलता। उस धारणा के तहत10 आयाम 'बहुत अधिक' है -मैंस, सबसे सरल रणनीति आपके पास मौजूद सुविधाओं की संख्या की गणना करना होगा। लेकिन अगर आप प्रभावी आयामीता के संदर्भ में सोचना चाहते हैं, तो आप एक सिद्धांत घटकों का विश्लेषण (पीसीए) कर सकते हैं और यह देख सकते हैं कि आइजेनवेल्स कैसे बंद हो जाते हैं। यह काफी सामान्य है कि अधिकांश भिन्नता कुछ आयामों में मौजूद होती है (जो आमतौर पर आपके डेटासेट के मूल आयामों में कट जाती है)। इसका मतलब यह है कि आप के साथ एक समस्या होने की संभावना कम है-इस अर्थ में कि आपकी प्रभावी आयामीता वास्तव में बहुत छोटी है।

एक अधिक सम्‍मिलित तरीका यह होगा कि आप अपने जवाब में सुझाए गए लाइनों @ hxd1011 के साथ अपने डेटासेट में जोड़ीदार दूरियों के वितरण की जांच करें । सरल सीमांत वितरण को देखकर आपको संभावित एकरूपता के कुछ संकेत मिलेंगे। यदि आप अंतराल के भीतर झूठ बोलने के लिए सभी चर को सामान्य करते हैं[0, 1]जोड़ीदार दूरी अंतराल के भीतर झूठ बोलना चाहिए [0, Σडी]। अत्यधिक ध्यान केंद्रित करने वाली समस्याएं समस्याएं पैदा करेंगी; दूसरी ओर, एक बहु-मोडल वितरण आशावादी हो सकता है (आप यहां मेरे जवाब में एक उदाहरण देख सकते हैं: बाइनरी और निरंतर चर दोनों को एक साथ क्लस्टरिंग में कैसे उपयोग करें? )।

हालाँकि, क्या -माइन्स 'काम करेंगे' अभी भी एक जटिल सवाल है। इस धारणा के तहत कि आपके डेटा में सार्थक अव्यक्त समूह हैं, वे आपके सभी आयामों या भिन्न आयामों में मौजूद नहीं हैं जो भिन्नता को बढ़ाते हैं (यानी, सिद्धांत घटक)। क्लस्टर निम्न-भिन्न आयामों में हो सकते हैं (देखें: पीसीए के उदाहरण जहां कम विचरण वाले पीसी "उपयोगी" होते हैं )। यही है, आप उन बिंदुओं के साथ क्लस्टर कर सकते हैं जो आपके थोड़े से आयामों पर या कम-भिन्नता वाले पीसी पर, भीतर से अच्छी तरह से अलग-अलग हैं, लेकिन उच्च-भिन्नता वाले पीसी पर समान रूप से दूर नहीं हैं, जिसके कारण-उनके बाद के समूहों को अनदेखा करने के लिए और इसके बजाय अशुद्ध समूहों को चुनने के लिए (कुछ उदाहरण यहां देखे जा सकते हैं: K- साधनों की कमियां कैसे समझें )।


यह पता चला है कि पहले से ही कई गुना सीखने के लिए एक टैग है (पहले देखना चाहिए था!)। जो लोग नहीं जानते हैं उनके लिए संक्षेप में, विचार यह है कि जबकि उच्च-आयामी डेटा पूरे अंतरिक्ष के संदर्भ में विरल हो जाता है, यह उस स्थान के भीतर कुछ हाइपरसुरफेस पर घना हो सकता है।
जियोमैट 22

उत्कृष्ट उत्तर के लिए +1। क्या आप कृपया eigenvalues ​​भाग पर थोड़ा और विस्तार कर सकते हैं? यदि प्रभावी आयाम छोटा है, तो क्या आप पीसीए करने की सलाह देते हैं और उच्च ईजेन्यूअल के साथ केवल पहले कुछ स्कोर बनाए रखते हैं?
DataD'oh

@ DataD'oh, यह निश्चित रूप से एक संभावना है, लेकिन मैं जो कह रहा हूं वह यह है कि आपको ऐसा करने की आवश्यकता नहीं है। वास्तव में, डेटा उच्च-आयामी नहीं होते हैं (जब केवल पहले कुछ eigenvectors में उच्च eigenvalues ​​होते हैं), इसलिए आपको जरूरी कुछ भी करने की आवश्यकता नहीं है - आयामीता का अभिशाप अभी लागू नहीं होगा।
गंग - मोनिका

@ गुंग मैंने एक नया सवाल पोस्ट किया है । मुझे उम्मीद है कि यह बहुत तुच्छ नहीं है।
DataD'oh

7

मेरा उत्तर K साधनों तक सीमित नहीं है, लेकिन जाँच करें कि क्या हमारे पास किसी भी दूरी आधारित विधियों के लिए आयामीता का अभिशाप है। K- साधन एक दूरी माप पर आधारित है (उदाहरण के लिए, यूक्लिडियन दूरी)

एल्गोरिथ्म चलाने से पहले, हम डेटा के सभी जोड़ों के लिए दूरी मीट्रिक वितरण, यानी सभी दूरी मैट्रिक्स की जांच कर सकते हैं। यदि आपके पास हैएन डेटा बिंदु, आपके पास होना चाहिए 0.5एन(एन-1)दूरी मैट्रिक्स। यदि डेटा बहुत बड़ा है, तो हम उसका एक नमूना देख सकते हैं।

यदि हमें आयामी समस्या का अभिशाप है, तो आप क्या देखेंगे, यह है कि ये मूल्य एक-दूसरे के बहुत करीब हैं। यह बहुत ही सहज ज्ञान युक्त लगता है, क्योंकि इसका मतलब है कि हर एक करीब है या हर एक से दूर है और दूरी माप मूल रूप से बेकार है।


इस तरह के प्रति-सहज परिणाम दिखाने के लिए यहां कुछ सिमुलेशन दिया गया है। यदि सभी सुविधाओं को समान रूप से वितरित किया जाता है, और यदि बहुत अधिक आयाम हैं, तो हर दूरी के मैट्रिक्स के करीब होना चाहिए16, जो आता है एक्समैं=01एक्सजे=01(एक्समैं-एक्सजे)2एक्समैंएक्सजे। अन्य वितरण में समान वितरण को बदलने के लिए स्वतंत्र महसूस करें। उदाहरण के लिए, यदि हम सामान्य वितरण (परिवर्तन ) में बदल 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))
}

यहाँ छवि विवरण दर्ज करें


1
क्या है पी?
अमीबा

1
उच्च आयामों के तहत यूक्लिडियन संकोचन घटना के प्रदर्शन के कारण मैंने उत्थान किया था। लेकिन उत्तर शाप से k- साधन क्लस्टरिंग की पीड़ा को प्रदर्शित नहीं करता है । दुख यह होगा कि उच्च आयामों में यथोचित रूप से अलग किए गए क्लस्टर (और आपके जैसे समान यादृच्छिक डेटा नहीं) कम आयामों के रूप में संक्षिप्त रूप में उजागर होने में विफल हो सकते हैं। आपने इस विषय को नहीं छुआ।
ttnphns

@amoeba पीआयामों की संख्या है। मैं प्लॉट की समीक्षा करूंगा और कोड जोड़ूंगा। धन्यवाद।
हाइताओ डू

@ttnphns आपकी टिप्पणी और upvote के लिए धन्यवाद। मैं देखूंगा कि क्या मैं k के साधनों पर प्रभाव पर चर्चा करने के लिए एक पैराग्राफ जोड़ सकता हूं।
हाइताओ डू
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.