समानता स्कोर के आधार पर क्लस्टरिंग


18

मान लें कि हमारे पास दो तत्वों ई, ईजेई के बीच तत्वों और एक समानता ( दूरी नहीं ) फ़ंक्शन सिम (ईआई, ईजे) का एक सेट है ।

कैसे हम (कुशलता से) के तत्वों को सिम का उपयोग कर सकते हैं ?

k -means, उदाहरण के लिए, किसी दिए गए k की आवश्यकता होती है , कैनोपी क्लस्टरिंग को दो सीमा मानों की आवश्यकता होती है। अगर हम ऐसे पूर्वनिर्धारित मापदंडों को नहीं चाहते हैं तो क्या होगा?

ध्यान दें, कि सिम नेक्स्टली मेट्रिक नहीं है (अर्थात त्रिकोण असमानता पकड़ सकती है या नहीं हो सकती है)। इसके अलावा, इससे कोई फर्क नहीं पड़ता कि क्लस्टर असंतुष्ट हैं ( ई के विभाजन )।


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

4
आपको k साधन करने के लिए k जानने की आवश्यकता नहीं है। आप अलग-अलग कश्मीर के साथ क्लस्टर कर सकते हैं और इष्टतम को खोजने के लिए क्लस्टर विचरण की जांच कर सकते हैं। वैकल्पिक रूप से आप सोच सकते हैं कि गाऊसी मिश्रण मॉडल या अन्य पुनरावर्ती प्रक्रिया जैसे कि आप क्लस्टर में मदद करने के लिए जा सकते हैं।
cwharland

2
मैंने एक विशिष्ट कारण के लिए प्रश्न पूछा: यदि आप के-मीन्स लागू कर सकते हैं, लेकिन एकमात्र समस्या शुरुआती "के" को ढूंढ रही थी, तो आप एक विकल्प के रूप में en.wikipedia.org/wiki/Self-organizing_map पर विचार कर सकते थे । इसके कुछ अच्छे गुण हैं, और मूल रूप से k- मीन्स के लिए "समान" व्यवहार करता है, लेकिन इसे सेट करने के लिए प्रारंभिक "के" की आवश्यकता नहीं है। यह शायद एक आउट-ऑफ-द-बॉक्स समाधान नहीं है, क्योंकि इसमें अतिरिक्त ट्यूनिंग पैरामीटर हैं (और प्रशिक्षण कम्प्यूटेशनल रूप से महंगा हो सकता है), लेकिन फिर भी देखने लायक है।
मार्को

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

4
बस एक विचार: यदि आपकी समानता स्कोर 1 से सामान्यीकृत है , की तुलना में 1-sim(ei, ej) = Distance। दूरी मीट्रिक के साथ आप उदाहरण के लिए पदानुक्रमिक क्लस्टरिंग लागू कर सकते हैं। जड़ से नीचे जाने पर आप देखेंगे कि किस स्तर पर दानेदार गुच्छे आपकी विशेष समस्या के लिए समझ में आएंगे।
ऑलेक्ज़ेंडर इसायेव

जवाबों:


9
  1. मुझे लगता है कि कई क्लस्टर एल्गोरिदम जो आमतौर पर एक मीट्रिक का उपयोग करते हैं, वास्तव में मीट्रिक गुणों (कम्यूटेटिटी के अलावा अन्य) पर भरोसा नहीं करते हैं, लेकिन मुझे लगता है कि आपके पास यहां होगा)। उदाहरण के लिए, DBSCAN एक बिंदु के आसपास एप्सिलॉन-पड़ोस का उपयोग करता है; वहाँ कुछ भी नहीं है कि विशेष रूप से त्रिभुज असमानता मामलों में कहते हैं। तो आप शायद DBSCAN का उपयोग कर सकते हैं, हालांकि आपको अपने मामले में कुशल लुकअप करने के लिए कुछ प्रकार के गैर-मानक स्थानिक सूचकांक करने पड़ सकते हैं। आपके एप्सिलॉन-पड़ोस का संस्करण संभवतः सिम> 1 / एप्सिलॉन होगा, बजाय अन्य तरीके के। K- साधन और संबंधित एल्गोरिदम के साथ एक ही कहानी।

  2. क्या आप अपनी समानता से एक मीट्रिक का निर्माण कर सकते हैं? एक संभावना: सभी के लिए dist (ei, ej) = min (sim (ei, ek) + sim (ek, ej)) ... वैकल्पिक रूप से, आप एक ऊपरी सीमा प्रदान कर सकते हैं जैसे कि sim (ei, ej) / सिम (ei, ek) + sim (ek, ej) + d, सभी k और कुछ धनात्मक स्थिरांक d के लिए? सहज रूप से, बड़े सिम मूल्यों का मतलब एक साथ करीब है: 1 / सिम मीट्रिक जैसा है? 1 / (सिम + स्थिर) के बारे में क्या? सभी के लिए मिनट (1 / sim (ei, ek) + 1 / sim (ek, ej)) क्या है? (यह आखिरी मैट्रिक, btw होने की गारंटी है)

  3. एक मीट्रिक का एक वैकल्पिक निर्माण एक एम्बेडिंग करना है। पहले कदम के रूप में, आप कुछ उपयुक्त फ़ंक्शन f और मीट्रिक के लिए अपने अंक ei -> xi, जैसे कि xi मिनिमम सम (abs (सिम, ej) - f (dist (xi, xj))) को मैप करने का प्रयास कर सकते हैं। dist। फ़ंक्शन f एक समानता-जैसे मान के लिए एम्बेडिंग में दूरी को परिवर्तित करता है; आपको थोड़ा प्रयोग करना होगा, लेकिन 1 / dist या exp ^ -dist अच्छे शुरुआती बिंदु हैं। आपको सर्वश्रेष्ठ पर भी प्रयोग करना होगा। xi के लिए आयाम। वहां से, आप xi पर पारंपरिक क्लस्टरिंग का उपयोग कर सकते हैं। यहां विचार यह है कि आप लगभग (सबसे अच्छी तरह से समझ में) समानता के मूल्यों में एम्बेडिंग में अपनी दूरी को परिवर्तित कर सकते हैं, इसलिए वे सही तरीके से क्लस्टर करेंगे।

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


8

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

निजी तौर पर, मेरे गो-टू क्लस्टरिंग एल्गोरिदम विजेता-टेक-ऑल क्लस्टरिंग के लिए ओपनऑर्ड हैं और फजी क्लस्टरिंग के लिए फ्लेम। दोनों विधियाँ इस बात के प्रति उदासीन हैं कि क्या प्रयुक्त मैट्रिक्स समान हैं या दूरी (विशेष रूप से FLAME दोनों निर्माणों में लगभग समान है)। Gephi में OpenOrd का कार्यान्वयन O(nlogn)Gephi पैकेज में मौजूद अन्य क्लस्टरिंग एल्गोरिदम की तुलना में अधिक मापनीय है।

यदि आप एक फजी क्लस्टरिंग विधि की तलाश कर रहे हैं तो दूसरी ओर ज्वाला बहुत बढ़िया है। जबकि FLAME की जटिलता थोड़ी कठिन है क्योंकि यह एक पुनरावृत्ति प्रक्रिया है, इसलिए इसे उप-द्विघात के रूप में दिखाया गया है, और रन-स्पीड से लेकर घुटने तक समान है।


5

DBSCAN (यह भी देखें: सामान्यीकृत DBSCAN) को दूरी की आवश्यकता नहीं है। यह सब की जरूरत है एक द्विआधारी निर्णय है । आमतौर पर, एक "दूरी <एप्सिलॉन" का उपयोग करेगा, लेकिन कुछ भी नहीं कहता है कि आप इसके बजाय "समानता> एप्सिलॉन" का उपयोग नहीं कर सकते हैं। त्रिभुज असमानता आदि की आवश्यकता नहीं है।

आत्मीयता का प्रसार, जैसा कि नाम कहता है, समानता का उपयोग करता है।

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

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

PAM (K-medoids) को काम करना चाहिए। प्रत्येक वस्तु को सबसे उपचारात्मक मीडॉयड पर असाइन करें, फिर ऑब्जेक्ट को नए औसत के रूप में उच्चतम औसत समानता के साथ चुनें ... कोई त्रिकोण असमानता की आवश्यकता नहीं है।

... और शायद कई और अधिक। शाब्दिक रूप से सैकड़ों क्लस्टरिंग एल्गोरिदम हैं। ज्यादातर को IMHO काम करना चाहिए । बहुत कम लोगों को वास्तव में मीट्रिक गुणों की आवश्यकता होती है। K- साधन की शायद सबसे मजबूत आवश्यकताएं हैं: यह भिन्नता को कम करता है (दूरी, या समानता नहीं), और आपको साधनों का अनुपालन करने में सक्षम होना चाहिए।


4

टोपोलॉजिकल डेटा विश्लेषण एक विधि है जिसे स्पष्ट रूप से आपके द्वारा वर्णित सेटिंग के लिए डिज़ाइन किया गया है। वैश्विक दूरी मीट्रिक के बजाय, यह केवल निकटता या पड़ोस के स्थानीय मीट्रिक पर निर्भर करता है। देखें: टोपोलॉजी और डेटा और टॉपोलॉजी का उपयोग करके जटिल डेटा के आकार से अंतर्दृष्टि निकालना । आप आयुसी के लिए वेबसाइट पर अतिरिक्त संसाधन पा सकते हैं।

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