2012-06-17 24 views
8

मैं होमवर्क असाइनमेंट के रूप में k-means को लागू करने का प्रयास करता हूं।के-मतलब खाली क्लस्टर

पुनरावृत्तियों के दौरान, अगर क्लस्टर केन्द्रों में से किसी में यह भी डेटा अंक हैं, एक यादृच्छिक डेटा बिंदु से बदलने: मेरा व्यायाम चादर मुझे खाली केन्द्रों के बारे में टिप्पणी निम्नलिखित देता है।

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

यदि मैं खाली क्लस्टर को अनदेखा करता हूं तो मैं 30-40 पुनरावृत्तियों के बाद अभिसरण करता हूं। क्या खाली क्लस्टर को अनदेखा करना गलत है?

उत्तर

1

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

1

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

मैं आपको खाली जवाब देने के लिए एक बुरा विचार नहीं है कि क्या यह एक बुरा विचार नहीं है। यदि आप करते हैं, तो आप शुरुआत में परिभाषित की तुलना में क्लस्टर की एक छोटी संख्या के साथ समाप्त हो सकते हैं। यह उन लोगों को भ्रमित करेगा जो के-साधनों को एक निश्चित तरीके से काम करने की उम्मीद करते हैं, लेकिन यह एक बुरा विचार नहीं है।

यदि आप किसी खाली क्लस्टर केंद्रों को फिर से ढूंढते हैं, तो आपका एल्गोरिदम शायद वैसे भी अभिसरण करेगा यदि यह सीमित संख्या में होता है। हालांकि, अगर आपको अक्सर स्थानांतरित करना होता है, तो ऐसा हो सकता है कि आपका एल्गोरिदम समाप्त नहीं होता है।

4

रिक्त क्लस्टर कैसे हो सकते हैं इस उदाहरण को देखें: http://www.ceng.metu.edu.tr/~tcan/ceng465_f1314/Schedule/KMeansEmpty.html इसका मूल रूप से या तो 1) बल में एक यादृच्छिक कंपकंपी है, या 2) क्लस्टर की संख्या गलत है। आपको के लिए कुछ अलग-अलग मानों पर फिर से शुरू करना चाहिए और सर्वोत्तम चुनना चाहिए। यदि आपके पुनरावृत्ति के दौरान आपको एक खाली क्लस्टर का सामना करना पड़ता है, तो उस क्लस्टर में एक यादृच्छिक डेटा बिंदु रखें और आगे बढ़ें। मुझे आशा है कि इससे पिछले साल आपके होमवर्क असाइनमेंट में मदद मिलेगी।

2

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

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

+0

'सबसे बड़ा क्लस्टर' से सबसे दूर का बिंदु 'सबसे बड़ा "किस सम्मान में? – ttnphns

+1

मैं इसे तत्वों की संख्या के मामले में सबसे बड़ा समझूंगा - लेकिन आप अपने क्लस्टर सेंटर से सबसे दूर बिंदु भी चुन सकते हैं। – Ketil

संबंधित मुद्दे