समूहों की सही संख्या का निर्णय कैसे करें?


54

हम क्लस्टर केंद्रों को ढूंढते हैं और k- साधनों के क्लस्टरिंग में अलग - अलग क्लस्टर बिन्स को अंक प्रदान करते हैं जो कि एक बहुत अच्छी तरह से ज्ञात एल्गोरिथ्म है और नेट पर लगभग हर मशीन लर्निंग पैकेज में पाया जाता है। लेकिन मेरी राय में लापता और सबसे महत्वपूर्ण हिस्सा एक सही कश्मीर का विकल्प है। इसके लिए सबसे अच्छा मूल्य क्या है? और, सबसे अच्छे से क्या मतलब है ?

मैं वैज्ञानिक कंप्यूटिंग के लिए MATLAB का उपयोग करता हूं, जहां सिल्हूट भूखंडों को देखते हुए यहां चर्चा करने के लिए कश्मीर पर निर्णय लेने का एक तरीका दिया गया है । हालाँकि, मैं बायेसियन दृष्टिकोणों में अधिक रुचि रखूंगा। किसी भी सुझाव की सराहना की है।


2
अच्छा सवाल ...


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

मैंने इस सवाल का जवाब यहाँ आधा दर्जन तरीकों Rसे दिया है
बेन

1
क्लस्टर के "सर्वश्रेष्ठ" नंबर k पर निर्णय लेने का अर्थ है कि अलग-अलग k के साथ क्लस्टर समाधान की तुलना करना - कौन सा समाधान "बेहतर" है। यह सम्मान करता है, यह कार्य क्लस्टरिंग विधियों की तुलना करने के समान है - जो आपके डेटा के लिए "बेहतर" है। सामान्य दिशानिर्देश यहां दिए गए हैं ।
tnnphns

जवाबों:


28

इस स्टैकओवरफ्लो पर कई बार पूछा गया है: यहां , यहां और यहां । आप देख सकते हैं कि इस सवाल के बारे में वहां की भीड़ क्या सोचती है (या एक छोटा संस्करण)।

मुझे इस सवाल के अपने जवाब की भी प्रतिलिपि दें, stackoverflow.com पर:

दुर्भाग्य से "सही" K को स्वचालित रूप से सेट करने का कोई तरीका नहीं है और न ही "सही" की परिभाषा है। वहाँ एक राजसी सांख्यिकीय पद्धति नहीं है, सरल या जटिल है जो "सही K" सेट कर सकती है। वहाँ कभी-कभी, कभी-कभी काम करने वाले अंगूठे के नियम होते हैं।

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


+1 इसे पढ़ने के बाद - यह मुझे बहुत सहज लगता है .... लेकिन मुझे कहना होगा कि मैंने इस बारे में पहले कभी नहीं सोचा था। कि वास्तव में पीसीए में पीसी की संख्या चुनने की समस्या के-मीन में गुच्छों की संख्या चुनने की समस्या के बराबर है ...
डो 0

2
@ ये दोनों चीजें काफी समकक्ष नहीं हैं। ऐसे विशिष्ट उपाय हैं जिनका उपयोग पीसीए समाधान की गुणवत्ता की जांच करने के लिए किया जा सकता है (सबसे विशेष रूप से पुनर्निर्माण की त्रुटि, लेकिन पकड़े गए विचरण का% भी), और ये (अधिकतर) सुसंगत हैं। हालांकि क्लस्टरिंग में अक्सर कोई भी "सही उत्तर" नहीं होता है - एक क्लस्टरिंग एक मीट्रिक से दूसरे की तुलना में बेहतर हो सकती है, और दूसरी मीट्रिक का उपयोग करके रिवर्स सच हो सकता है। और कुछ स्थितियों में एक ही मीट्रिक के तहत दो अलग-अलग क्लस्टरिंग समान रूप से संभावित हो सकते हैं।
tdc

@ नहीं, लेकिन यह en.wikipedia.org/wiki/… नहीं है या कम-से-कम इस सुधारे हुए परिणामों की तरह है। http://www.ocs/WebSiteDocs/PCA/… ?
डोव

2
@ हाँ, वे एक दूसरे की तरह "कम या ज्यादा" हैं, लेकिन मैं बस कह रहा था कि क्लस्टर की संख्या चुनने की समस्या पीसी की संख्या चुनने की तुलना में बहुत अधिक भयावह है - अर्थात वे "समकक्ष" नहीं हैं।
tdc

1
+1 तुम सही हो। हम सबसे अच्छा कश्मीर पर फैसला करने के लिए कुछ अन्य मॉडल या धारणा पेश करते हैं, लेकिन फिर यह सवाल निकलता है कि वह मॉडल सबसे अच्छा क्यों है या धारणा ...
पेट्रीकोर

19

सबसे पहले एक चेतावनी। क्लस्टरिंग में अक्सर कोई "सही उत्तर" नहीं होता है - एक क्लस्टरिंग एक मीट्रिक से दूसरे की तुलना में बेहतर हो सकती है, और रिवर्स किसी अन्य मीट्रिक का उपयोग करके सच हो सकता है। और कुछ स्थितियों में एक ही मीट्रिक के तहत दो अलग-अलग क्लस्टरिंग समान रूप से संभावित हो सकते हैं।

कहा जा रहा है कि, आप Dirichlet प्रक्रियाओं पर एक नज़र रखना चाहते हो सकता है । इस ट्यूटोरियल को भी देखें ।

यदि आप एक गाऊसी मिश्रण मॉडल के साथ शुरू करते हैं, तो आपको के-साधनों के साथ भी यही समस्या है - कि आपको क्लस्टर की संख्या चुननी है। आप मॉडल प्रमाण का उपयोग कर सकते हैं, लेकिन यह इस मामले में मजबूत नहीं होगा। तो चाल मिश्रण घटकों से पहले एक Dirichlet प्रक्रिया का उपयोग करने के लिए है, जो तब आपको मिश्रण घटकों की एक संभावित अनंत संख्या की अनुमति देता है, लेकिन मॉडल (आमतौर पर) घटकों की "सही" संख्या (मान्यताओं के तहत) को स्वचालित रूप से ढूंढेगा आदर्श)।

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


1
क्या एक एकाग्रता प्रक्रिया के तहत एक Dirichlet प्रक्रिया? यह उसी मूल प्रश्न के समतुल्य है, k- का क्या k के तहत मतलब है? हालांकि मैं मानता हूं कि हम डिरेक्लेट वितरण को बेहतर समझते हैं कि कुछ वास्तविक दुनिया डेटा पर कुछ जटिल एल्गोरिदम का व्यवहार।
carlosdc

@carlosdc अच्छी बात है, मैंने एकाग्रता पैरामीटर के बारे में थोड़ी चर्चा शामिल करने के लिए उत्तर अपडेट किया है
tdc

1
मेरे अनुभव में अल्फा की तरह निरंतर मूल्यवान एकाग्रता पैरामीटर सीखना बहुत आसान है क्योंकि यह एक परिमित मिश्रण मॉडल में समूहों की संख्या निर्धारित करने के लिए है। यदि आप परिमित मिश्रण मॉडल के साथ रहना चाहते हैं, और एक बायेसियन कील लेते हैं, तो प्रतिवर्ती कूद MCMC ( onlinelibrary.wiley.com/doi/10.1111/1467-9868.00095/abstract )

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

9

मैं कोहनी विधि का उपयोग करता हूं :

  • K = 2 से शुरू करें, और इसे प्रत्येक चरण में 1 तक बढ़ाते रहें, अपने समूहों और प्रशिक्षण के साथ आने वाली लागत की गणना करें। K के लिए कुछ मूल्य पर नाटकीय रूप से गिरता है, और उसके बाद यह एक पठार तक पहुँचता है जब आप इसे और बढ़ाते हैं। यह K मूल्य है जो आप चाहते हैं।

तर्क यह है कि इसके बाद, आप क्लस्टर की संख्या बढ़ाते हैं लेकिन नया क्लस्टर मौजूदा में से कुछ के पास है।


ऐसा लगता है कि यह एल विधि का सिद्धांत है (मेरा उत्तर देखें) मूल्यांकन करता है।
जीत

6

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

यदि आपको इसे स्वचालित करने की आवश्यकता है, तो आप बढ़ते हुए k पर जुर्माना जोड़ सकते हैं, और इस तरह से इष्टतम क्लस्टर की गणना कर सकते हैं। और फिर आप सिर्फ वजन k पर निर्भर करते हैं कि क्या आप एक टन क्लस्टर चाहते हैं या आप बहुत कम चाहते हैं।


5

आप Unsupervised Optimal Fuzzy Clustering की भी जांच कर सकते हैं जो आपके द्वारा बताई गई समस्या (समूहों की संख्या का पता लगाने) से संबंधित है, जिसका संशोधित संस्करण यहां लागू किया गया है


5

मैंने भौगोलिक अनुप्रयोग में गुच्छों की संख्या निर्धारित करने के लिए "एल मेथड" का उपयोग करने में सफलता पाई है।

एल विधि यहाँ वर्णित है: पदानुक्रमित क्लस्टरिंग / सेगमेंट में क्लस्टर / सेगमेंट की संख्या निर्धारित करना एल्गोरिथ्म स्टेन सल्वाडोर और फिलिप चान

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

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

एक विचार है कि कश्मीर के हर दूसरे मान को छोड़ना (कहना) है, परिकलन को आधा करना और / या के-मीन पुनरावृत्तियों की संख्या को कम करना, और फिर अधिक सटीक फिट का उत्पादन करने के लिए परिणामस्वरूप वक्र को थोड़ा चिकना करना। मैंने StackOverflow - IMHO में इस बारे में पूछा , स्मूथिंग प्रश्न एक खुला शोध प्रश्न है।


4

आपको इस बात पर पुनर्विचार करने की आवश्यकता है कि k- साधन क्या करता है। यह कोशिकाओं में सेट किए गए डेटा के इष्टतम वोरोनोई विभाजन को खोजने की कोशिश करता है । वोरोनोई कोशिकाएँ विषम आकार की कोशिकाएँ हैं, जो डेलुनाय त्रिभुज की ऑर्थोगोनल संरचना है।k

लेकिन क्या होगा यदि आपका डेटा सेट वास्तव में वोरोनोई योजना में फिट नहीं होता है?

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

वास्तव में, जब आप समूहों है कि समान रूप से आकार और दूरी (और इस प्रकार Voronoi विभाजन योजना में फिट नहीं बैठते) नहीं हैं, आप कर सकते हैं की जरूरत है बढ़ाने के लिए कश्मीर के-साधन के लिए बेहतर परिणाम प्राप्त करने के लिए।k


3
यद्यपि पहले पैराग्राफ में K- साधनों का वर्णन गलत नहीं है, यह कुछ लोगों को मूल डेटा के आधार पर वोरोनोई विभाजन के साथ इस पद्धति की बराबरी करने में गुमराह कर सकता है यह ऐसा नहीं है: विभाजन क्लस्टर साधनों के स्थानों पर आधारित है, जो मूल डेटा में से किसी के साथ मेल नहीं खाता (और आमतौर पर नहीं होगा)।
whuber

3

कुल मिलाकर, आप दो अलग-अलग रास्तों में समूहों की संख्या चुन सकते हैं।

  1. ज्ञान संचालित: आपके पास कुछ विचार होने चाहिए कि आपको व्यवसाय के दृष्टिकोण से कितने क्लस्टर की आवश्यकता है। उदाहरण के लिए, आप ग्राहकों को क्लस्टर कर रहे हैं, आपको खुद से पूछना चाहिए कि इन ग्राहकों को प्राप्त करने के बाद, मुझे आगे क्या करना चाहिए? क्या आप अलग-अलग समूहों के लिए अलग-अलग उपचार करेंगे? (उदाहरण के लिए, ईमेल या फोन द्वारा विज्ञापन)। फिर आप कितने संभावित उपचारों की योजना बना रहे हैं? इस उदाहरण में, आप कहते हैं कि 100 क्लस्टर बहुत ज्यादा मायने नहीं रखेंगे।

  2. डेटा चालित: अधिक संख्या में क्लस्टर ओवर-फिटिंग हैं और क्लस्टर्स की कम संख्या अंडर-फिटिंग है। आप डेटा को हमेशा आधे में विभाजित कर सकते हैं और देख सकते हैं कि कितने क्लस्टर अच्छे हैं। ध्यान दें, क्लस्टरिंग में आपके पास अभी भी नुकसान फ़ंक्शन है, जो कि पर्यवेक्षित सेटिंग के समान है।

अंत में, आपको हमेशा वास्तविक दुनिया में एक साथ संचालित ज्ञान और डेटा को संयोजित करना चाहिए।


2

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

एक वीका कार्यान्वयन भी है , जिसका विवरण यहां पाया जा सकता है


0

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

यह पेपर एल्गोरिथम की व्याख्या करता है।

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