डेटासेट के यादृच्छिक उपसमूह के माध्यम से K- साधन केंद्रों की शुरुआत?


13

अगर मेरे पास एक निश्चित डेटासेट है, तो उस डेटासेट के यादृच्छिक नमूनों के माध्यम से क्लस्टर केंद्रों को शुरू करना कितना स्मार्ट होगा?

उदाहरण के लिए, मान लीजिए कि मुझे चाहिए 5 clusters। मैं मूल डेटासेट के बारे 5 random samplesमें कहता हूं size=20%। फिर मैं इन 5 यादृच्छिक नमूनों में से प्रत्येक का मतलब ले सकता हूं और उन साधनों का उपयोग अपने 5 प्रारंभिक क्लस्टर केंद्रों के रूप में कर सकता हूं? मुझे नहीं पता कि मैंने यह कहां पढ़ा है लेकिन मैं जानना चाहता था कि आप लोग इस विचार के बारे में क्या सोचते हैं।


अद्यतन: कृपया इस सूत्र को देखें प्रारंभिक K- साधन क्लस्टरिंग: मौजूदा तरीके क्या हैं? विभिन्न आरंभिक विधियों के बारे में सामान्य चर्चा के लिए।


11
यदि आप बेतरतीब ढंग से नमूने को 5 उप-भागों में विभाजित करते हैं, तो आपके 5 साधन लगभग मेल खाएंगे। प्रारंभिक क्लस्टर केंद्रों को इस तरह के करीब बनाने की भावना क्या है? अधिकांश K- साधनों के कार्यान्वयन में, प्रारंभिक क्लस्टर केंद्रों का डिफ़ॉल्ट चयन विपरीत विचार पर आधारित है: उन 5 बिंदुओं को खोजने के लिए जो सबसे दूर हैं और उन्हें प्रारंभिक केंद्र बनाते हैं।
ttnphns

2
@ttnphns यह एक अच्छा जवाब होगा।

2
मुझे लगता है कि समग्र बिंदु को एक बिंदु के रूप में चुनना और अन्य लोगों को चुनना बेहतर होगा जो विभिन्न दिशाओं में उस केंद्र से बहुत दूर हैं।
माइकल आर। चेरिक

1
समझ में आता है। मैं इन 5 बिंदुओं के बारे में कैसे पता लगाऊंगा जो दूर हैं? धन्यवाद!
जेकिहुआ

@JEquihua, मैंने अपनी टिप्पणी को उत्तर के रूप में पोस्ट किया और विवरण जोड़ा जो आप अनुरोध कर रहे हैं।
ttnphns

जवाबों:


16

यदि आप बेतरतीब ढंग से नमूने को 5 उप-भागों में विभाजित करते हैं, तो आपके 5 साधन लगभग मेल खाएंगे। प्रारंभिक क्लस्टर केंद्रों को इस तरह के करीब बनाने की भावना क्या है?

कई K- साधनों के कार्यान्वयन में, प्रारंभिक क्लस्टर केंद्रों का डिफ़ॉल्ट चयन विपरीत विचार पर आधारित है: उन 5 बिंदुओं को खोजने के लिए जो सबसे दूर हैं और उन्हें प्रारंभिक केंद्र बनाते हैं। आप पूछ सकते हैं कि उन अलग बिंदुओं को खोजने का तरीका क्या हो सकता है? यहाँ है कि SPSS 'K- साधन उसके लिए क्या कर रहा है:

प्रारंभिक केंद्रों के रूप में डेटासेट के किसी भी के मामले (अंक) लें । सभी शेष मामलों की जाँच निम्न स्थितियों द्वारा प्रारंभिक केंद्र के रूप में करने की क्षमता के लिए की जा रही है:

  • क) यदि मामला केंद्र से सबसे दूर है, तो यह दो अन्य केंद्रों के सबसे करीब के बीच की दूरी की तुलना में है, तो मामला बाद वाले दो के केंद्र को प्रतिस्थापित करता है, जिसके करीब है।
  • ख) यदि मामला केंद्र से सबसे दूर है, तो केंद्र के निकटतम दूरी की तुलना में इसके निकटतम केंद्र और इस उत्तरार्द्ध के निकटतम केंद्र के बीच का मामला केंद्र के सबसे निकट होता है।

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

K- साधनों के लिए लोकप्रिय प्रारंभिक तरीकों की सूची के साथ मेरा उत्तर देखें । यादृच्छिक उपसमूहों में विभाजन की विधि (मेरे और अन्य लोगों द्वारा यहां पर टीकाकरण) और साथ ही एसपीएसएस द्वारा वर्णित विधि - सूची में भी हैं।


1
एक बार जब मैंने आपका वर्णन कर लिया है, तो मैं यह पता लगाने के लिए किस अंक का उपयोग कर सकता हूं कि कौन सा आरंभीकरण बिंदु एक बेहतर विभाजन की ओर ले जाता है? सब के लिए धन्यवाद।
जेक्विहुआ

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

1
मैं विभिन्न कश्मीर के विभाजन की तुलना करना चाहता हूं। मैं क्या उपयोग कर सकता हूं? क्या अच्छा विचार है? मेरी इतनी मदद करने के लिए धन्यवाद। @ttnphns।
JEquihua

एक मौजूद महान की संख्या "आंतरिक" क्लस्टरिंग criterions । के-साधनों के लिए सबसे उपयुक्त कैलिन्सकी-हरबासज़ (बहुभिन्नरूपी फिशर एफ) है। इसके लिए या दूसरों के लिए Google।
ttnphns

7

साधन बहुत अधिक समान होंगे। आप बस डेटा सेट माध्य का पता लगा सकते हैं, और फिर इस अर्थ के चारों ओर एक छोटे वृत्त / क्षेत्र में प्रारंभिक सेंट्रोइड्स रख सकते हैं।

यदि आप के-मीन्स के लिए कुछ और साउंड इनिशियलाइज़ेशन स्कीम देखना चाहते हैं, तो k-Mean ++ पर एक नज़र डालें। उन्होंने के-साधनों को बोने के लिए काफी चतुर विधि तैयार की है।

  • आर्थर, डी। और वासिल्वित्सकी, एस (2007)।
    k-mean ++: सावधान बीजारोपण के लाभ "।
    असतत एल्गोरिदम पर अठारहवीं वार्षिक ACM-SIAM संगोष्ठी की कार्यवाही ।

लेखक स्लाइड: http://www.ima.umn.edu/~iwen/REU/BATS-Means.pdf


मैंने इसे पढ़ा है, यह बहुत ही सहज रूप से लाभप्रद लगता है लेकिन मुझे लगता है कि यह साबित होना बाकी है कि यह बहुत सारे यादृच्छिक आरंभीकरण बिंदुओं को लेने से बेहतर काम करता है। यदि आप इसे आज़माना चाहते हैं तो मुझे यह सरल कोड मिला: kmpp <- function (X, k) {n <- nrow (X) C <- संख्यात्मक (k) C [1] <- नमूना (1: n, 1) के लिए (i in 2: k) {dm <- distmat (X, X [C,]) pr <- apply (dm, 1, min); pr [C] <- 0 C [i] <- नमूना (1: n, 1, prob = pr)} kmeans (X, X [C,])}
JEquihua

यह अभिसरण की संख्या को काफी कम करने और औसत बेहतर परिणाम देने के लिए जाना जाता है। मैं पुष्टि कर सकता हूं कि मेरे अपने प्रयोगों में, kmeans ++ जाने का रास्ता है। मैं ELKI कार्यान्वयन का उपयोग कर रहा हूं।
है क्विट -

ELKI कार्यान्वयन क्या है? मैं इसे कहाँ देख सकता हूँ? अभिवादन!
जेकहुआ


4

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

आदर्श रूप से, आप सभी बिंदुओं पर पुनरावृति कर सकते हैं, उनके बीच की दूरी का पता लगा सकते हैं, यह निर्धारित कर सकते हैं कि दूरियां सबसे बड़ी हैं ...

ओपी के इरादे को दरकिनार नहीं करना है, लेकिन मुझे लगता है कि "समाधान" को k- साधन एल्गोरिथ्म में बनाया गया है। हम पिछले पुनरावृत्तियों के आधार पर कई पुनरावृत्तियों और पुनर्गणना क्लस्टर केन्द्रक का प्रदर्शन करते हैं। हम आम तौर पर भी कई बार (यादृच्छिक प्रारंभिक मूल्यों के साथ) एल्गोरिदम चलाते हैं, और परिणामों की तुलना करते हैं।

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


एक बार जब मैंने आपका वर्णन कर लिया है, तो मैं यह पता लगाने के लिए किस अंक का उपयोग कर सकता हूं कि कौन सा आरंभीकरण बिंदु एक बेहतर विभाजन की ओर ले जाता है? सब के लिए धन्यवाद।
जेक्विहुआ

2

k


इसमें काफी सार्थकता है। क्या मैं आपसे वही पूछ सकता था जो मैंने अमन से पूछा था। मान लीजिए कि मैं एक zillion यादृच्छिक प्रारंभिक बिंदु लेता हूं। मैं यह निर्धारित करने के लिए क्या उपयोग कर सकता हूं कि परिणामी विभाजन में से कौन सा सबसे अच्छा है? अभिवादन! @gmacfarlane
JEquihua

k

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