क्लस्टरिंग एल्गोरिदम की मुख्य विशेषताएं
क्लस्टरिंग एल्गोरिदम की विभिन्न विशेषताएं निम्नलिखित हैं:
1. ऑर्डर डिपेंडेंस (Order Dependence)
कई एल्गोरिदम के लिए, उत्पन्न क्लस्टर्स की विशेषता और संख्या नाटकीय रूप से भिन्न हो सकती है, इस आधार पर कि डेटा को किस क्रम में प्रोसेस किया जाता है। हालांकि ऐसे एल्गोरिदम से बचना वांछनीय लग सकता है, कभी-कभी ऑर्डर डिपेंडेंस मामूली होता है या एल्गोरिदम में कई वांछनीय विशेषताएं होती हैं।
2. नॉन-डिटरमिनिज्म (Non-determinism)
क्लस्टरिंग एल्गोरिदम, K-Means सहित, ऑर्डर-डिपेंडेंट नहीं होते, लेकिन वे प्रत्येक रन के लिए कई परिणाम उत्पन्न करते हैं क्योंकि वे एक इनिशियलाइज़ेशन चरण पर निर्भर करते हैं जिसमें एक रैंडम चॉइस शामिल होती है। चूंकि क्लस्टर्स की विशेषताएं एक रन से दूसरे रन में भिन्न हो सकती हैं, कई रन आवश्यक हो सकते हैं।
3. स्केलेबिलिटी (Scalability)
डेटासेट में हजारों ऑब्जेक्ट्स होना असामान्य नहीं है, और ऐसे डेटासेट्स के लिए उपयोग किए जाने वाले क्लस्टरिंग एल्गोरिदम में रैखिक या निकट-रैखिक समय और स्थान जटिलता होनी चाहिए।
यहां तक कि O(m²) जटिलता वाले एल्गोरिदम भी बड़े डेटासेट्स के लिए उपयुक्त नहीं हैं। इसके अलावा, बड़े डेटासेट्स के लिए क्लस्टरिंग तकनीकें यह नहीं मान सकतीं कि सभी डेटा मुख्य मेमोरी में फिट होगा या डेटा तत्वों को रैंडमली एक्सेस किया जा सकता है। ऐसे एल्गोरिदम बड़े डेटासेट्स के लिए अव्यावहारिक हैं।
4. पैरामीटर चयन (Parameter Selection)
कुछ क्लस्टरिंग एल्गोरिदम में एक या अधिक पैरामीटर्स होते हैं जिन्हें उपयोगकर्ता द्वारा सेट करने की आवश्यकता होती है। उचित मान चुनना कठिन हो सकता है, इसलिए सामान्य दृष्टिकोण है: "पैरामीटर्स जितने कम, उतना बेहतर।" यदि पैरामीटर्स में एक छोटा परिवर्तन क्लस्टरिंग परिणामों को बदल देता है, तो पैरामीटर मान चुनना और भी जटिल हो जाता है।
अंत में, जब तक पैरामीटर मान तय करने के लिए कोई प्रक्रिया (जिसमें उपयोगकर्ता इनपुट शामिल हो) समर्थित न हो, एल्गोरिदम का उपयोगकर्ता ट्रायल एंड एरर के माध्यम से प्रासंगिक पैरामीटर मान खोजने तक सीमित रहता है।
5. क्लस्टरिंग समस्या को दूसरे डोमेन में बदलना
कुछ क्लस्टरिंग तकनीकों द्वारा अपनाया गया एक दृष्टिकोण क्लस्टरिंग समस्या को किसी अन्य डोमेन में समस्या पर मैप करना है। ग्राफ-आधारित क्लस्टरिंग क्लस्टर्स खोजने के कार्य को एक प्रॉक्सिमिटी ग्राफ को कनेक्टेड घटकों में विभाजित करने के कार्य पर मैप करती है।
6. क्लस्टरिंग को ऑप्टिमाइज़ेशन समस्या के रूप में मानना
क्लस्टरिंग को एक ऑप्टिमाइज़ेशन समस्या माना जाता है: पॉइंट्स को क्लस्टर्स में इस तरह विभाजित करें कि परिणामी क्लस्टर्स के समूह की अच्छाई अधिकतम हो, जैसा कि उपयोगकर्ता-परिभाषित उद्देश्य फ़ंक्शन द्वारा मापा जाता है।
उदाहरण के लिए, K-Means क्लस्टरिंग एल्गोरिदम क्लस्टर्स के उस समूह को खोजने का प्रयास करता है जो प्रत्येक पॉइंट के उसके निकटतम क्लस्टर सेंट्रॉयड से वर्ग दूरी के योग को न्यूनतम करता है। ऐसे मुद्दों को क्लस्टर्स के कुछ संभावित समूहों को गिनकर और उद्देश्य फ़ंक्शन के सर्वोत्तम मूल्य वाले को चुनकर हल किया जा सकता है, लेकिन यह संपूर्ण विधि कम्प्यूटेशनली अव्यावहारिक है।