K- का मतलब है कॉसाइन समानताएँ बनाम यूक्लिडियन दूरी (LSA)


10

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

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

अब मैं दस्तावेजों के बहुत बड़े कोष पर यह करने की कोशिश कर रहा हूं। K- साधन अभिसरण नहीं है, और मुझे आश्चर्य हो रहा है कि क्या यह मेरे कोड में बग है। मैंने हाल ही में पढ़ा कि आपको कॉशन समानता का उपयोग करके क्लस्टर नहीं करना चाहिए , क्योंकि k- का मतलब केवल यूक्लिडियन दूरी पर काम करता है। हालांकि, जैसा कि मैंने उल्लेख किया है, यह मेरे छोटे परीक्षण के मामले में ठीक काम करता दिखाई दिया।

अब मैं इसे लेसा विकिपीडिया पृष्ठ पर आता हूँ :

दस्तावेज़ और शब्द वेक्टर अभ्यावेदन को क्लस्टिन जैसे समानता उपायों का उपयोग करते हुए पारंपरिक क्लस्टरिंग एल्गोरिदम जैसे कि-मीन्स का उपयोग करके क्लस्टर किया जा सकता है।

तो कौन सा है? क्या मैं कॉशन समानता का उपयोग कर सकता हूं या नहीं?


वह विषय वास्तव में इस साइट पर लंबे समय तक टिका रहता है। अभी हाल के प्रश्न: आंकड़े.stackexchange.com/q/120085/3277 (आगे लिंक देखें)। क्या दिलचस्प है दिलचस्प है कि आप कैसे k- साधनों को लागू करते हैं जो कोसाइन करता है। यदि आप अपने प्रश्न में अपने एल्गोरिथ्म का वर्णन करते हैं तो यह लोगों को इसका जवाब देने में मदद करेगा।
ttnphns

@ttnphns मैंने वास्तव में यूक्लिडियन दूरी (प्रत्येक आयाम का मतलब) का उपयोग करते हुए क्लस्टर सेंट्रोइड उत्पन्न किया। हालाँकि मैंने यूक्लिडियन दूरी के बजाय प्रत्येक दस्तावेज़ को कोज़ेन समानता के आधार पर एक क्लस्टर को सौंपा।
जेफ

I then assigned each document to a cluster based on cosine similarity- एक डॉक्टर और एक केन्द्रक के बीच कोसाइन? और सभी डॉक्स असाइन किए जाने के बाद आप एक सामान्य (यूक्लिडियन) तरीके से सेंट्रोइड्स को अपडेट करते हैं, क्योंकि अंतरिक्ष में डॉक्स के निर्देशांक ज्ञात हैं। ऐसा क्या?
ttnphns

1
h

1
मुझे लगता है कि आप अंतरिक्ष में नहीं, एक क्षेत्र पर प्रदर्शन किए गए k- साधनों की तलाश में हो सकते हैं। कोणीय का मतलब है, इसलिए बोलना। मुझे लगता है कि यह संभव है, लेकिन मैंने कभी ऐसा नहीं पढ़ा या इस्तेमाल नहीं किया।
ttnphns

जवाबों:


4

हां, आप इसका उपयोग कर सकते हैं। समस्या यह है, कि ब्रह्मांडीय समानता दूरी नहीं है, इसीलिए इसे समानता कहा जाता है। फिर भी, इसे यहां बताए अनुसार दूरी में परिवर्तित किया जा सकता है

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

मैं इस अध्ययन के साथ आया था जहां वे दावा करते हैं कि उच्च आयामी स्थानों में, दोनों दूरियां समान व्यवहार करती हैं।


1
यदि यह वर्णन करता है कि यह उत्तर एक अच्छा हो सकता है Yes, you can use it। (मेरे उत्तर के समान कोसाइन को यूक्लिडियन दूरी में परिवर्तित करने का विचार है ?)
ttnphns

K- साधनों की मेरी समझ अलग है। यह आवश्यक रूप से यूक्लिडियन दूरी ( stat.uni-muenchen.de/~leisch/papers/Leisch-2006.pdf ) तक सीमित नहीं है । मेरा दूसरा संदर्भ या यह R पैकेज ( cran.r-project.org/web/packages/cclust/cclust.pdf ) भी देखें । मेरा मतलब है कि यह वास्तव में विकिपीडिया साइट की तरह है। एक बस एक दूरी समारोह की जरूरत है। वे इसे "कोणीय समानता" के रूप में संदर्भित करते हैं।
jpmuc

1
शायद (कागज साझा करने के लिए धन्यवाद!)। लेकिन तब के-साधनों के ऐसे सभी "संशोधन" जो कि के-साधनों से भिन्न होते हैं, जिसमें वे सेंट्रोइड को परिभाषित करते हैं कि यूक्लिडियन अंतरिक्ष में अंकगणित का मतलब नहीं है, को के-साधन नहीं कहा जाना चाहिए ।
tnnphns 7

1

यूक्लिडियन दूरी दस्तावेजों या दस्तावेजों के समूहों की तुलना करने के लिए उपयुक्त नहीं है। दस्तावेजों की तुलना करते समय, एक महत्वपूर्ण मुद्दा दस्तावेज़ की लंबाई से सामान्यीकरण होता है। कॉज़िन समानता इस तरह के सामान्यीकरण को प्राप्त करती है, लेकिन यूक्लिडियन दूरी नहीं है। अधिक से अधिक, दस्तावेजों को अक्सर बहुराष्ट्रीय संभावना वितरण (शब्दों का बैग कहा जाता है) के रूप में तैयार किया जाता है। Cosine समानता JS-divergence के लिए एक सन्निकटन है जो समानता के लिए एक सांख्यिकीय औचित्य है। दस्तावेजों और कोसाइन के साथ एक प्रमुख मुद्दा यह है कि किसी को गिनती के लिए उचित tf-idf सामान्यीकरण लागू करना चाहिए। यदि आप LSA प्रतिनिधित्व को प्राप्त करने के लिए gensim का उपयोग कर रहे हैं, तो gensim पहले से ही ऐसा करता है।

2 समूहों के आपके उपयोग के मामले के लिए एक और उपयोगी अवलोकन यह है कि आप एक अच्छा गैर-यादृच्छिक प्रारंभ प्राप्त कर सकते हैं क्योंकि एलएसए सिर्फ एसवीडी है। आप इसे निम्नलिखित तरीके से करते हैं:

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

1

हां, वेक्टर औसत कार्यों द्वारा समान सेंट्रोइड अपडेट।

इस पेपर की धारा 2.2 में एम = 1 मामला देखें । w का वज़न है और वज़न आधार k-mean एल्गोरिदम के लिए सभी 1 हैं।

काच के लिए लागत समारोह को कम करने वाली स्थिति को स्थापित करने के लिए कागज कॉची-श्वार्ट्ज असमानता के गुणों का उपयोग करता है।

यह भी याद रखें कि कोसाइन एमिटीविटी एक वेक्टर दूरी नहीं है। कोसाइन असमानता है। (यह एक अच्छा खोज शब्द होना चाहिए।) इसलिए जब आप विभाजन को अपडेट करते हैं, तो आप इसके arg maxविपरीत देख रहे हैं arg min

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