2D में बहुआयामी डेटा (LSI) की कल्पना करना


11

मैं दस्तावेजों के बीच समानताएं खोजने के लिए अव्यक्त अर्थ इंडेक्सिंग का उपयोग कर रहा हूं ( धन्यवाद, जेएमएस! )

आयाम में कमी के बाद, मैंने दस्तावेजों को समूह में क्लस्टर करने के लिए k-mean clustering की कोशिश की है, जो बहुत अच्छी तरह से काम करता है। लेकिन मैं थोड़ा और आगे जाना चाहता हूं, और दस्तावेजों को नोड्स के एक सेट के रूप में कल्पना करना चाहता हूं, जहां किसी भी दो नोड्स के बीच की दूरी उनकी समानता के विपरीत आनुपातिक है (नोड्स जो समान हैं एक साथ करीब हैं)।

यह मुझे बताता है कि मैं अपने डेटा> 2 आयामों के बाद से 2-आयामी ग्राफ़ में समानता मैट्रिक्स को ठीक से कम नहीं कर सकता। तो मेरा पहला सवाल: क्या ऐसा करने का कोई मानक तरीका है?

क्या मैं अपने डेटा को केवल दो आयामों तक कम कर सकता हूं और फिर उन्हें एक्स और वाई अक्ष के रूप में प्लॉट कर सकता हूं, और क्या यह ~ 200-200 दस्तावेजों के समूह के लिए पर्याप्त होगा? यदि यह समाधान है, तो क्या मेरे डेटा को शुरू से 2 आयामों तक कम करना बेहतर है, या क्या मेरे बहुआयामी डेटा से दो "सर्वश्रेष्ठ" आयाम चुनने का कोई तरीका है?

मैं अजगर और gensim पुस्तकालय का उपयोग कर रहा हूँ अगर यह एक फर्क पड़ता है।


आपको आयामीता कम करने की आवश्यकता क्यों है? आपके इच्छित ग्राफ़ का निर्माण करने के लिए, आपको केवल किनारों की आवश्यकता होती है जहां एक किनारे की लंबाई दस्तावेजों के बीच की दूरी के लिए आनुपातिक होती है। आपके पास पहले से ही अपने k- साधन क्लस्टरिंग के लिए उपयोग की जाने वाली मीट्रिक है।
अमन

@ एक 2 डी प्लेन (ग्राफ) पर 2 दस्तावेज़ों के बीच समानता प्रदर्शित करने के लिए काम नहीं करता है। निश्चित रूप से, मैं k- साधन की दूरी के आधार पर ए और बी को अलग कर सकता हूं। लेकिन तब जब मुझे A और B की दूरियों के आधार पर बिंदु C को प्लॉट करने की आवश्यकता होती है, आमतौर पर 2D स्पेस में ऐसा कोई बिंदु नहीं होता है जो सभी युगल संबंधों को संतुष्ट करता हो।
जेफ

जवाबों:


7

यह वही है जो एमडीएस (बहुआयामी स्केलिंग) के लिए डिज़ाइन किया गया है। संक्षेप में, यदि आपको एक समानता मैट्रिक्स M दिया जाता है, तो आप निकटतम सन्निकटन खोजना चाहते हैं जहाँ की रैंक 2 है। यह के SVD की गणना करके किया जा सकता है। जहां । एस एम = वी Λ वी = एक्स एक्स एक्स = वी Λ 1 / 2एस=एक्सएक्सएस=वीΛवी=एक्सएक्सएक्स=वीΛ1/2

अब, यह मानते हुए कि है, इसलिए आइजनवेल्यूज घटते क्रम में हैं, के पहले दो कॉलम प्लेन में आपके वांछित एम्बेडिंग हैं।एक्सΛएक्स

MDS के लिए बहुत सारे कोड उपलब्ध हैं (और अगर किसी के पास इसका कोई संस्करण नहीं है तो मुझे आश्चर्य होगा)। किसी भी मामले में जब तक आपके द्वारा सेट किए गए अजगर में कुछ एसवीडी दिनचर्या तक पहुंच हो।


1
मुझे लगता है कि एलडीए इसके लिए बेहतर होगा। PCA -as जो आप SVD के माध्यम से प्राप्त करते हैं- किसी भी क्लस्टर (वर्ग) की जानकारी को संरक्षित नहीं करेगा, जो कि ओपी के बाद है।
झूबर्ब

0

Ggobi नाम का एक सॉफ्टवेयर है जो आपकी मदद कर सकता है। यह आपको बहुआयामी छद्म स्थानों का पता लगाने देता है। यह ज्यादातर डेटा एक्सप्लोरेशन के लिए है लेकिन इसका इंटरफेस बेहद दोस्ताना और 'इट-जस्ट-वर्क्स' है!

आपको बस एक CSV प्रारूप की आवश्यकता है (RI में आमतौर पर बस डिफ़ॉल्ट पैरामीटर के साथ write.csv का उपयोग करें) या एक XML फ़ाइल (यह प्रारूप आपको और अधिक नियंत्रण की अनुमति देता है; मैं आमतौर पर CSV में अपनी तालिका सहेजता हूं, फिर इसे ggobi के साथ XML में निर्यात करता हूं और इसे मैन्युअल रूप से संपादित करता हूं। उदाहरण के लिए कुछ कारकों के क्रम को बदलने के लिए)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.