कई मशीन लर्निंग कॉन्टेक्स्ट में, K-means का इस्तेमाल करना मददगार और कारगर होता है. हालांकि, इसमें कुछ खास कमियां भी हैं.
के-मीन के फ़ायदे
इसे लागू करना आसान है.
बड़े डेटा सेट के लिए काम करता है.
हमेशा एक ही नतीजे पर पहुंचता है.
सेंट्राइड की पोज़िशन को वॉर्म-स्टार्ट करने की अनुमति देता है.
नए उदाहरणों के हिसाब से आसानी से बदल जाता है.
इसे अलग-अलग आकार और साइज़ के क्लस्टर के लिए इस्तेमाल किया जा सकता है, जैसे कि एलिप्स क्लस्टर.
के-मीन को सामान्य बनाना
k-means को आसानी से लागू करने पर, अलग-अलग डेंसिटी और साइज़ के क्लस्टर के साथ समस्या आ सकती है. पहली इमेज की बाईं ओर, वे क्लस्टर दिखाए गए हैं जो हमें दिख सकते हैं. वहीं, दाईं ओर वे क्लस्टर दिखाए गए हैं जो k-means से सुझाए गए हैं.
पहली इमेज में दिखाए गए जैसे असंतुलित क्लस्टर पर बेहतर परफ़ॉर्मेंस के लिए, क-मीन्स को सामान्य बनाया जा सकता है. दूसरे चित्र में, दो अलग-अलग सामान्यताओं के साथ क्लस्टर किए गए तीन अलग-अलग डेटासेट दिखाए गए हैं. पहला डेटासेट, सामान्यीकरण के बिना k-means दिखाता है, जबकि दूसरे और तीसरे में क्लस्टर की चौड़ाई अलग-अलग हो सकती है.
इस कोर्स में, k-means को सामान्य बनाने का तरीका नहीं बताया गया है. हालांकि, जिन लोगों को इस बारे में जानना है उन्हें कार्नेगी मेलन यूनिवर्सिटी के कार्लोस गेस्ट्रिन का क्लस्टरिंग – k-means गॉसियन मिक्सचर मॉडल देखना चाहिए.
के-मीन का इस्तेमाल करने के नुकसान
\(k\) को मैन्युअल तरीके से चुना जाना चाहिए.
नतीजे, शुरुआती वैल्यू पर निर्भर करते हैं.
कम \(k\)के लिए, अलग-अलग शुरुआती वैल्यू के साथ कई बार k-means चलाकर और सबसे अच्छा नतीजा चुनकर, इस डिपेंडेंसी को कम किया जा सकता है. \(k\)के बढ़ने पर, बेहतर शुरुआती सेंट्रॉइड चुनने के लिए, आपको क-मीन्स सीडिंग की ज़रूरत होती है. क-मीन्स सीडिंग के बारे में पूरी जानकारी के लिए, एम. Emre Celebi, Hassan A. Kingravi, and Patricio A. वेला.
अलग-अलग साइज़ और घनत्व के डेटा को सामान्य किए बिना क्लस्टर करना मुश्किल है.
आउटलायर को क्लस्टर करने में समस्या.
आउटलायर की वजह से सेंट्रॉइड को खींचा जा सकता है या आउटलायर को अनदेखा करने के बजाय, उन्हें अपना क्लस्टर मिल सकता है. क्लस्टर बनाने से पहले, अलग-अलग डेटा पॉइंट को हटाएं या काटें.
डाइमेंशन की संख्या के हिसाब से स्केलिंग करने में समस्या.
डेटा में डाइमेंशन की संख्या बढ़ने पर, दूरी के आधार पर मिलती-जुलती वैल्यू का आकलन करने वाली मेट्रिक, किसी भी दिए गए उदाहरण के बीच एक ही वैल्यू पर सेट हो जाती है. फ़ीचर डेटा पर पीसीए का इस्तेमाल करके या क्लस्टरिंग एल्गोरिदम में बदलाव करने के लिए स्पेक्ट्रल क्लस्टरिंग का इस्तेमाल करके, डाइमेंशन को कम करें.
डाइमेंशनलिटी का अभिशाप और स्पेक्ट्रल क्लस्टरिंग
इन तीन प्लॉट में देखें कि डाइमेंशन बढ़ने पर, उदाहरणों के बीच की औसत दूरी के मुकाबले, उदाहरणों के बीच की दूरी का स्टैंडर्ड डेविएशन कैसे कम हो जाता है. इस convergance का मतलब है कि डेटा के डाइमेंशन बढ़ने पर, उदाहरणों के बीच अंतर करने में k-means कम असरदार हो जाता है. इसे डाइमेंशनलिटी का अभिशाप कहा जाता है.
स्पेक्ट्रल क्लस्टरिंग की मदद से, परफ़ॉर्मेंस में इस गिरावट से बचा जा सकता है. यह एल्गोरिदम में, क्लस्टर बनाने से पहले के चरण जोड़ता है. स्पेक्ट्रल क्लस्टरिंग करने के लिए:
- पीसीए का इस्तेमाल करके, फ़ीचर डेटा के डाइमेंशन को कम करें.
- सभी डेटा पॉइंट को कम डाइमेंशन वाले सबस्पेस में प्रोजेक्ट करें.
- चुने गए एल्गोरिदम का इस्तेमाल करके, इस सबस्पेस में डेटा को क्लस्टर करें.
स्पेक्ट्रल क्लस्टरिंग के बारे में ज़्यादा जानने के लिए, Ulrike von Luxburg का स्पेक्ट्रल क्लस्टरिंग के बारे में ट्यूटोरियल देखें.