हार्टिगन-वोंग k- साधन विधि और अन्य एल्गोरिदम में अभिसरण


10

मैं मुख्य रूप statsसे Rभाषा के पैकेज में लागू किए गए अलग-अलग के-मतलब क्लस्टर एल्गोरिदम को समझने की कोशिश कर रहा हूं ।

मैं लॉयड के एल्गोरिथ्म और मैकक्वीन के ऑनलाइन एल्गोरिथ्म को समझता हूं। जिस तरह से मैं उन्हें समझता हूं वह इस प्रकार है:

लॉयड्स का एल्गोरिथम:

प्रारंभ में 'k' यादृच्छिक प्रेक्षण चुने जाते हैं जो 'k' समूहों के केन्द्रक के रूप में काम करेंगे। फिर निम्न चरण पुनरावृति में तब तक होते हैं, जब तक कि केंद्रक परिवर्तित नहीं हो जाते।

  1. प्रत्येक अवलोकन और चुने हुए केन्द्रक के बीच यूक्लिडियन दूरी की गणना की जाती है।
  2. अवलोकन जो प्रत्येक सेंट्रोइड के सबसे करीब होते हैं, उन्हें 'के' बकेट के भीतर टैग किया जाता है।
  3. प्रत्येक बाल्टी में सभी अवलोकनों का मतलब नए केन्द्रक के रूप में कार्य करता है।
  4. नए सेंट्रोइड पुराने सेंट्रोइड्स को बदल देते हैं और यदि पुराने और नए सेंट्रोइड्स में रूपांतरण नहीं हुआ है तो पुनरावृत्ति चरण 1 पर वापस चली जाती है।

अभिसरण करने की स्थितियाँ निम्नलिखित हैं: पुरानी और नई केन्द्रक बिल्कुल समान हैं, केन्द्रक के बीच का अंतर छोटा है (10 ^ -3 के क्रम का) या पुनरावृत्तियों की अधिकतम संख्या (10 या 100) तक पहुँच जाते हैं।

MacQueen का एल्गोरिथम:

यह एक ऑनलाइन संस्करण है जहां पहले 'के' उदाहरणों को सेंट्रोइड के रूप में चुना जाता है।

फिर प्रत्येक उदाहरण को बाल्टी में रखा जाता है, जिसके आधार पर सेंट्रोइड उस उदाहरण के सबसे करीब होता है। संबंधित केन्द्रक पुनर्गणना है।

इस चरण को तब तक दोहराएं जब तक कि प्रत्येक बाल्टी को उपयुक्त बाल्टी में न रख दिया जाए।

इस एल्गोरिथ्म में केवल एक पुनरावृत्ति है और लूप 'x' उदाहरणों के लिए आगे बढ़ता है

हार्टिगन-वोंग एल्गोरिदम:

  1. सभी बिंदुओं / उदाहरणों को रैंडम बकेट में असाइन करें और संबंधित सेंट्रोइड की गणना करें।
  2. पहले उदाहरण से शुरू करके निकटतम सेंट्रोइड खोजें और उस बाल्टी का आश्वासन दें। यदि बाल्टी बदली गई तो नए सेंट्रोइड्स को पुन: गणना करें यानी नए असाइन किए गए बाल्टी के केंद्रक और पुराने बाल्टी असाइनमेंट के केंद्रक के रूप में वे दो सेंट्रोइड हैं जो परिवर्तन से प्रभावित होते हैं
  3. सभी बिंदुओं के माध्यम से लूप करें और नए सेंट्रोइड प्राप्त करें।
  4. अंक 2 और 3 का दूसरा पुनरावृत्ति करें जो एक प्रकार का सफाई कार्य करता है और बाल्टियों को सही करने के लिए आवारा बिंदुओं को पुन: असाइन करता है।

इस एल्गोरिथ्म में अभिसरण परिणाम देखने से पहले यह 2 पुनरावृत्तियों करता है।

अब, मैं अनिश्चित हूं कि अगर मैं हार्टिगन-वोंग एल्गोरिथ्म में बिंदु 4 में क्या सोचता हूं, तो एल्गोरिथ्म की सही विधि है। मेरा प्रश्न है, अगर हार्ट-वोंग के लिए निम्नलिखित विधि k- साधनों को लागू करने की सही विधि है? क्या इस विधि के लिए केवल दो पुनरावृत्तियाँ हैं? यदि नहीं, तो अभिसरण के लिए क्या स्थिति है (कब रोकना है)?

एक और संभावित कार्यान्वयन स्पष्टीकरण जो मुझे समझ में आता है।

  1. सभी बिंदुओं / उदाहरणों को रैंडम बकेट में असाइन करें और संबंधित सेंट्रोइड की गणना करें।
  2. पहले उदाहरण से शुरू करके निकटतम सेंट्रोइड ढूंढें और उस बाल्टी को असाइन करें। अगर बाल्टी बदली गई तो नए सेंट्रोइड्स यानी नए असाइन किए गए बाल्टी के केंद्रक और पुराने बाल्टी असाइनमेंट के केंद्रक के रूप में पुनर्गणना करें क्योंकि वे दो सेंट्रोइड हैं जो परिवर्तन से प्रभावित होते हैं।
  3. एक बार किसी भी बिंदु के लिए बाल्टी में बदलाव होने के बाद, पहले उदाहरण पर वापस जाएं और फिर से चरणों को दोहराएं।
  4. सभी उदाहरणों के पुनरावृत्त होने पर पुनरावृत्ति समाप्त हो जाती है और कोई भी अंक बाल्टियाँ नहीं बदलता है।

इस तरह से कई पुनरावृत्तियां होती हैं जो कि हर बार फिर से डेटासेट की शुरुआत से शुरू होती हैं जब एक उदाहरण बाल्टी में बदलाव करता है।

कोई भी स्पष्टीकरण उपयोगी होगा और कृपया मुझे बताएं कि क्या इन विधियों में से किसी के लिए मेरी समझ गलत है।


एक "बाल्टी" क्या है ?
QUIT - Anony-Mousse

@ Anony-Mousse "बाल्टी" एक "क्लस्टर" है। पूर्व के लिए: k- साधनों का उपयोग डेटा को 'k' बकेट / क्लस्टर में विभाजित करने के लिए किया जाता है
Sid

लेकिन तब यह MacQueens एल्गोरिथम की तरह लगता है।
QUIT - Anony-Mousse

@ Anony-मूस। हां, पहले चरण के अलावा हार्टिगन-वोंग मैकक्यून्स एल्गोरिथ्म की तरह ही लगता है। लेकिन मुझे यकीन नहीं है कि यह सही समझ है। कुछ अवधारणा हो सकती है जो मैं पुनरावृत्तियों और अभिसरण के लिए याद कर रहा हूं।
सिड

जवाबों:


1

1979 के पेपर से एचडब्ल्यू की एल्गोरिथ्म, इनपुट प्रारंभिक समूहों के रूप में लेता है। हालांकि, लेखक उन्हें अपने अंतिम खंड में प्राप्त करने के लिए एक विधि सुझाते हैं। वे लिखते हैं कि यह गारंटी है कि सबरूटीन में प्रारंभिक असाइनमेंट के बाद कोई भी क्लस्टर खाली नहीं होगा । यह इस प्रकार है:

  1. x¯
  2. x¯||xix¯||2 (आरोही क्रम में मुझे लगता है?)।
  3. {1+(L1)[M/K]}L=1,,K[  ]1

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

xXK

  1. CXKCCvC

  2. XxX

    2.1 स्टॉपिंग इंडिकेटर को सेट करेंs=1

    xCC=C{x}

    C+={argminC(CC)C 1nd(x,vC)+1nyC[d(y,vCx)d(y,vC)]}{x}

    C+CCCCC+vCvCs0

  3. s=0

CargminxCdvCvC{x}

मुझे लगता है कि आपके सभी प्रश्नों के उत्तर उपरोक्त एल्गोरिथ्म में निहित हैं ... हालांकि, मुझे अभी भी यह सुनिश्चित करना है कि एल्गोरिथ्म का यह कार्यान्वयन मानक है । विशेष रूप से अगर यह आर में लागू किया गया कोई भी टिप्पणी / संपादन का स्वागत किया जाता है।

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