सतत ऑनलाइन क्लस्टर पहचान के लिए समाधान?


11

मुझे एक काल्पनिक ऑनलाइन क्लस्टरिंग एप्लिकेशन का एक उदाहरण दिखाते हैं:

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

समय बिंदु पर 1,2,3,4 नीले क्लस्टर ए और अंक बी के लिए आवंटित किए जाते हैं, 5,6,7 लाल क्लस्टर बी को आवंटित किए जाते हैं।

समय n + 1 पर एक नया बिंदु पेश किया जाता है जो नीले क्लस्टर A को सौंपा जाता है, लेकिन साथ ही बिंदु b को नीले क्लस्टर A को भी असाइन किया जाता है।

अंत में अंक 1,2,3,4, ए, बी ए से संबंधित हैं और 5,6,7 से बी तक के अंक मेरे लिए यह उचित प्रतीत होता है।

पहली नज़र में जो सरल लगता है वह वास्तव में थोड़ा मुश्किल है - समय के कदमों के दौरान पहचानकर्ताओं को बनाए रखने के लिए। मुझे और सीमा रेखा उदाहरण के साथ इस बिंदु को स्पष्ट करने का प्रयास करें:

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

हरे बिंदु के कारण दो नीले और दो लाल बिंदु एक क्लस्टर में विलीन हो जाएंगे, जो मैंने मनमाने ढंग से नीले रंग में रंगने का फैसला किया है - यह पहले से ही काम पर मेरी मानवीय सोच है!

इस निर्णय को करने के लिए एक कंप्यूटर को नियमों का उपयोग करना होगा। उदाहरण के लिए जब बिंदुओं को एक क्लस्टर में मिलाया जाता है तो क्लस्टर की पहचान बहुमत द्वारा निर्धारित की जाती है। इस मामले में हमें एक ड्रा का सामना करना पड़ेगा - नीले और लाल दोनों नए (यहाँ नीले रंग) क्लस्टर के लिए वैध विकल्प हो सकते हैं।

हरे रंग के करीब एक पांचवें लाल बिंदु की कल्पना करें। तब बहुमत लाल (3 लाल बनाम 2 नीला) होगा, इसलिए लाल नए क्लस्टर के लिए एक अच्छा विकल्प होगा - लेकिन यह सही क्लस्टर के लिए लाल के समान स्पष्ट विकल्प का खंडन करेगा क्योंकि वे लाल हो चुके हैं और शायद उसी तरह रहना चाहिए ।

मुझे इस बारे में सोचना गलत लगता है। दिन के अंत में मुझे लगता है कि इसके लिए कोई पूर्ण नियम नहीं हैं - बल्कि कुछ स्थिरता मानदंड का अनुकूलन करने वाले आंकड़े।

यह अंत में मेरे सवालों की ओर जाता है:

  1. क्या इस "समस्या" का एक नाम है जिसे इसे संदर्भित किया जा सकता है?
  2. क्या इसके लिए "मानक" समाधान हैं और ...
  3. ... वहाँ भी शायद एक आर पैकेज है कि के लिए है?

प्रत्यावर्ती क्लस्टरिंग में क्लस्टर पहचान की उचित विरासत


आँकड़ों से पार पोस्ट stats.stackexchange.com/questions/111911/... और stackoverflow: stackoverflow.com/questions/24970702/...
Anony-मूस - QUIT है

क्या समस्या यह है कि आप प्रत्येक समय कदम पर जितना संभव हो उतना समूहों की पहचान बनाए रखने की कोशिश कर रहे हैं? ताकि N + 1 पर आप कह सकें कि एक क्लस्टर कैसे बदल गया है क्योंकि N और 1 + पर क्लस्टर के बीच कुछ संबंध है? और मुश्किल बिट क्या होता है अगर क्लस्टर विभाजित और विलीन हो जाते हैं?
स्पेन्डमैन

@Spacedman: BINGO :) joyofdata.de/blog/…
राफेल

मैं आपको इस और इस
Farhawa

जवाबों:


1

स्थिरता-प्लास्टिसिटी दुविधा, सीखना दरें और एल्गोरिदम को भूल जाना:

सबसे पहले, मुझे कहना है कि यह वास्तव में एक महान सवाल है और विचार उत्तेजक सामान का प्रकार है जो वास्तव में एमएल एल्गोरिदम की समझ में सुधार करता है।

  1. क्या इस "समस्या" का एक नाम है जिसे इसे संदर्भित किया जा सकता है?

इसे आमतौर पर "स्थिरता" के रूप में जाना जाता है। क्या मज़ेदार है कि स्थिरता वास्तव में नियमित क्लस्टरिंग में एक उपयोगी अवधारणा है अर्थात ऑनलाइन नहीं। एल्गोरिथ्म की "स्थिरता" को अक्सर चयन मानदंड के रूप में चुना जाता है कि क्या सही संख्या में समूहों का चयन किया गया है। अधिक विशेष रूप से, आपके द्वारा वर्णित ऑनलाइन क्लस्टरिंग स्थिरता समस्या को संदर्भित किया जाता है stability-plasticity dilemma

  1. क्या इसके लिए "मानक" समाधान हैं और ...

सबसे पहले, बड़ी तस्वीर का उत्तर यह है कि कई ऑनलाइन क्लस्टरिंग एल्गोरिथ्म आश्चर्यजनक रूप से स्थिर हैं, जब उन्हें प्रारंभिक डेटा के एक बड़े समूह के साथ अच्छी तरह से प्रशिक्षित किया गया है। हालाँकि, यह अभी भी एक समस्या है यदि आप एल्गोरिथ्म को नए डेटा पर प्रतिक्रिया करने की अनुमति देते समय वास्तव में बिंदुओं की क्लस्टर पहचान को कम करना चाहते हैं। आप बिंदु की चालाकी को संक्षेप में एटम एल्पायडीन द्वारा मशीन लर्निंग के परिचय में संबोधित किया गया है। पर पेज 319 वह स्टोकेस्टिक ढाल मूल के आवेदन के माध्यम से ऑनलाइन k-साधन एल्गोरिथ्म निकला है, लेकिन कहा गया है कि stability-plasticity dilemmaपैदा होती है जब सीखने की दर के लिए एक मूल्य चुनने। एक छोटी सी सीखने की दर में स्थिरता आती है, लेकिन सिस्टम अनुकूलनशीलता खो देता है जहां एक बड़ी सीखने की दर अनुकूलनशीलता प्राप्त करती है, लेकिन क्लस्टर स्थिरता खो देती है।

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

एक और तरीका जो मैंने नियोजित देखा है वह एल्गोरिथम को भूलने का कुछ प्रकार है जैसे पुराने बिंदुओं को डेटा स्ट्रीम परिपक्वता के रूप में भूलना। यह फास्ट टाइम तराजू पर एक काफी स्थिर प्रणाली के लिए अनुमति देता है और धीमी समय तराजू पर विकास के लिए अनुमति देता है। Adaptive Resonance Theoryको हल करने की कोशिश करने के लिए बनाया गया था stability-plasticity dilemma। आपको यह लेख रोचक लग सकता है ।

मैं एक एल्गोरिथ्म का सुझाव देने के लिए आर में पर्याप्त रूप से अच्छी तरह से वाकिफ नहीं हूं, लेकिन मेरा सुझाव है कि आप एक mini-batch k-meansएल्गोरिथ्म की तलाश करें जो आपको इसके स्टॉचस्टिक ढाल वंश एल्गोरिदम में सीखने की दर को नियंत्रित करने की अनुमति देता है।

आशा है कि ये आपकी मदद करेगा!

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