K- साधनों की कमियों को कैसे समझें


365

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

तो k- साधन अनिवार्य रूप से एक अनुकूलन समस्या है।

मैंने k- साधनों की कमियों के बारे में कुछ सामग्री पढ़ी। उनमें से ज्यादातर का कहना है कि:

  • k- साधन मानता है कि प्रत्येक विशेषता के वितरण का परिवर्तन (चर) गोलाकार है;
  • सभी चर का एक ही रूप है;
  • सभी k समूहों के लिए पूर्व संभाव्यता समान है, अर्थात, प्रत्येक क्लस्टर में लगभग समान संख्या में अवलोकन हैं;

यदि इन 3 मान्यताओं में से किसी एक का उल्लंघन किया जाता है, तो k- साधन विफल हो जाएंगे।

मैं इस कथन के पीछे के तर्क को नहीं समझ सका। मुझे लगता है कि k- साधन विधि अनिवार्य रूप से कोई धारणा नहीं बनाती है, यह सिर्फ SSE को कम करता है, इसलिए मैं SSE को कम करने और उन 3 "मान्यताओं" के बीच लिंक नहीं देख सकता।


49
मैं कहूंगा कि समूहों की संख्या पहले से ही काफी धारणा है।
njzk2

30
K-साधनों की प्रमुख मान्यताओं हैं: 1. वहाँ रहे हैं कश्मीर समूहों। 2. SSE कम से कम करने का सही उद्देश्य है। 3. सभी समूहों में एक ही SSE है। 4. सभी चर हर क्लस्टर के लिए समान महत्व रखते हैं। ये बहुत मजबूत धारणाएँ हैं ...
Anony-Mousse

2
अपने दूसरे प्रश्न के लिए (उत्तर के रूप में पोस्ट किया गया, फिर हटा दिया गया): यदि आप k- साधनों को रैखिक समस्या के समान अनुकूलन समस्या के रूप में समझना चाहते हैं, तो इसे परिमाणीकरण के रूप में समझें । यह उदाहरणों का उपयोग करते हुए डेटा के कम से कम वर्गों को खोजने की कोशिश करता है । यानी अगर आपने वास्तव में हर बिंदु को निकटतम सेंट्रोइड द्वारा बदल दिया हैk
एनोनी-मूस

2
@ Anony-Mousse, मैंने कुछ सामग्री पढ़ी और बाद में निम्नलिखित विचार के साथ आया: अर्थ है एक सांख्यिकीय मॉडल (अनुकूलन पद्धति के बजाय) मानती है कि k गुट अंतर्निहित हैं और डेटा का फैलाव विशुद्ध रूप से सामान्य होने के कारण है। समान विचरण के साथ यादृच्छिक शोर। यह सरल रैखिक प्रतिगमन मॉडल की धारणा के अनुरूप है। तब (मुझे विश्वास है, मुझे गॉस-मार्कोव प्रमेय के कुछ संस्करण द्वारा एक पेपर नहीं मिला है), साधन आपको हमारे डेटा के लिए ग्रहण किए गए अंतर्निहित k समूहों के माध्य का सुसंगत अनुमानक देगा। k -kk
केविनकिम

1
मैंने एक डेटा सेट के नीचे अपने जवाब में एक उदाहरण जोड़ा, जहां कोई मान सकता है कि k- साधन वास्तव में अच्छी तरह से काम करता है (एक ही आकार के सभी क्लस्टर) फिर भी यह स्थानीय मिनीमा में फंस जाता है; और यहां तक ​​कि 1000 पुनरावृत्तियों को इष्टतम परिणाम नहीं मिला।
एनोनी-मौसे

जवाबों:


273

जबकि मुझे डेविड रॉबिन्सन का उत्तर यहाँ बहुत पसंद है, यहाँ के-साधनों की कुछ अतिरिक्त आलोचना की गई है।

गैर-क्लस्टर किए गए डेटा को क्लस्टर करना

वर्दी डेटा पर k- साधन चलाएं, और आपको अभी भी क्लस्टर मिलेंगे! यह आपको तब नहीं बताता जब डेटा सिर्फ क्लस्टर नहीं करता है , और इस तरह से आपके शोध को मृत अंत में ले जा सकता है।

K- एकसमान डेटा पर साधन

पैमाने के प्रति संवेदनशील

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

यह संभवतः वही है जिसे आपने "सभी चर समान रूपांतर" के रूप में संदर्भित किया है। उस आदर्श को छोड़कर, आप उचित होने पर गैर-रेखीय स्केलिंग पर भी विचार करेंगे।

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

यहाँ डेटा सेट का एक क्लासिक प्रतिधारण है जो k-mean को क्लस्टर नहीं कर सकता है। दोनों कुल्हाड़ियां प्रत्येक क्लस्टर में iid हैं, इसलिए यह 1 आयाम में ऐसा करने के लिए पर्याप्त होगा। लेकिन समूहों में भिन्न भिन्नताएं हैं, और k- साधन इस प्रकार उन्हें गलत तरीके से विभाजित करते हैं।

K- साधन इस डेटा सेट को क्लस्टर नहीं कर सकता है

मुझे नहीं लगता कि k- साधनों के लिए यह प्रतिधारण आपके बिंदुओं द्वारा कवर किया गया है:

  • सभी क्लस्टर गोलाकार (iid गाऊसी) हैं।
  • सभी अक्षों में समान वितरण और इस प्रकार विचरण है।
  • दोनों समूहों में 500 तत्व हैं।

फिर भी, k- साधन अभी भी बुरी तरह से विफल रहता है (और यह बदतर हो जाता है अगर मैं बड़े क्लस्टर के लिए 0.5 से अधिक विचरण बढ़ाता हूं) लेकिन: यह एल्गोरिथ्म नहीं है जो विफल रहा। यह धारणाएं हैं, जो पकड़ में नहीं आतीं । K- साधन पूरी तरह से काम कर रहा है, यह सिर्फ गलत मानदंड का अनुकूलन कर रहा है।

यहां तक ​​कि सही डेटा सेट पर, यह एक स्थानीय न्यूनतम में फंस सकता है

नीचे क्लासिक ए 3 डेटा सेट पर के-मीन्स के 10 रन का सर्वश्रेष्ठ है। यह एक सिंथेटिक डेटा सेट है, जिसे k-mean के लिए डिज़ाइन किया गया है । 50 क्लस्टर, गॉसियन आकार के प्रत्येक, यथोचित रूप से अलग। फिर भी, यह केवल k-mean ++ और 100 पुनरावृत्तियों के साथ ही मुझे अपेक्षित परिणाम मिला ... (चित्रण के लिए नियमित k-mean के 10 पुनरावृत्तियों के नीचे)।

k- साधन A3 डेटा सेट पर

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

और इस डेटा सेट में ऐसे कई स्थानीय मिनीमा हैं। बहुत बार जब आप एक ही क्लस्टर से दो नमूने लेते हैं, तो यह एक न्यूनतम में फंस जाएगा जहां यह क्लस्टर विभाजित रहता है, और इसके बजाय दो अन्य क्लस्टर विलय होते हैं। हमेशा नहीं, लेकिन बहुत बार। तो आपको लकी पिक लेने के लिए बहुत सारे पुनरावृत्तियों की आवश्यकता है। के-मीन्स के 100 पुनरावृत्तियों के साथ, मैंने अभी भी 6 त्रुटियों को गिना है, और 1000 पुनरावृत्तियों के साथ मुझे यह 4 त्रुटियों के लिए मिला है। K- साधन ++ जिस तरह से यह यादृच्छिक नमूनों को वजन करता है, इस डेटा सेट पर बहुत बेहतर काम करता है।

मतलब निरंतर हैं

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

छिपी हुई धारणा: SSE कम करने योग्य है

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

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

गाऊसी मिश्रण मॉडलिंग

(लेकिन यह है नहीं अंतिम विधि या तो। यह डेटा कि मान्यताओं, उदाहरण के लिए "कश्मीर गाऊसी वितरण का मिश्रण" संतुष्ट नहीं करता निर्माण करने के लिए बस के रूप में आसान है, पृष्ठभूमि शोर का एक बहुत कुछ जोड़ कर)

बुरी तरह से उपयोग करने के लिए बहुत आसान है

सब सब में, अपने डेटा पर k- साधनों को फेंकना बहुत आसान है, और फिर भी एक परिणाम प्राप्त करें (यह बहुत यादृच्छिक है, लेकिन आप ध्यान नहीं देंगे)। मुझे लगता है कि एक ऐसा तरीका करना बेहतर होगा जो विफल हो सकता है यदि आपने अपना डेटा नहीं समझा है ...

K- साधन के रूप में परिमाणीकरण

यदि आप चाहते हैं कि k-Means का एक सैद्धांतिक मॉडल क्या है, तो इसे एक परिमाणीकरण दृष्टिकोण मानें , न कि क्लस्टरिंग एल्गोरिथ्म।

K- साधनों का उद्देश्य - चुकता त्रुटि को कम करना - एक उचित विकल्प है यदि आप प्रत्येक वस्तु को उसके निकटतम केन्द्रक द्वारा प्रतिस्थापित करते हैं। (यदि आप समूहों के मूल डेटा IMHO का निरीक्षण करते हैं तो यह बहुत कम समझ में आता है।)

इसके लिए बहुत अच्छे उपयोग के मामले हैं। लॉयड के मूल पीसीएम उपयोग का मामला दिमाग में आता है, या उदाहरण के लिए कलर क्वानाइजेशन (विकिपीडिया) । यदि आप k रंग के लिए एक छवि को कम करना चाहते हैं , तो आप हर पिक्सेल को निकटतम सेंट्रोइड से बदलना चाहते हैं। वर्ग रंग विचलन कम से कम तो करता है का उपयोग कर छवि सन्निकटन में L2 optimality मापने रंग केवल।k

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

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


ठीक प्रिंट: सभी चित्र ELKI के साथ बनाए गए थे । .xmlडेटा जनरेशन फॉर्मेट का उपयोग करके डेटा उत्पन्न किया गया था, लेकिन वे इतने बुनियादी हैं कि उन्हें साझा करने के लायक नहीं है।


17
(बस ध्यान दें - "उपरोक्त उत्तर" के बारे में बात करना शायद एक अच्छा विचार नहीं है, क्योंकि उत्तर आदेश है कि एक पाठक चर हो सकता है। उदाहरण के लिए, यदि वे "सक्रिय" प्रदर्शन क्रम सेट करते हैं, तो आपका उत्तर है वास्तव में ऊपर वाला!)
सिल्वरफ़िश

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

आमतौर पर लोग कुछ जमीनी सच्चाई का उल्लेख करते हैं, यानी कि डेटा कैसे उत्पन्न किया गया था या एल्गोरिथ्म से छिपे हुए किसी लेबल पर। उत्पन्न डेटा की तुलना में एल्गोरिदम को पसंद करेंगे जो उस मॉडल का अनुकूलन करते हैं जो पीढ़ी के लिए उपयोग किया गया था (उदाहरण के लिए जीएमएम और गॉसियंस के लिए साधन)। और वास्तविक और लेबल किए गए डेटा पर भी यह मूल्यांकन एक ज्ञात परिणाम को पुन: पेश करने के बारे में है । जब आप खोजपूर्ण / ज्ञान खोज पहलू पर विचार करते हैं, जहाँ आप कुछ नया सीखना चाहते हैं । लेकिन यह सब हमें मिल गया है।
ऐनी-मौसे

क्या यह A3 डेटा सेट पर बेहतर काम करेगा यदि को प्राथमिकता के रूप में निर्धारित प्रभावी रूप से मौजूद समूहों की संख्या में समायोजित किया गया था? k
TMOTTM

@TMOTTM यह पूर्व ज्ञान द्वारा चुने गए k के साथ है। 10 के सर्वश्रेष्ठ "सही" के साथ सभी को प्राथमिकता दी।
एनी-मौसे

450

क्या शानदार सवाल है - यह दिखाने का मौका है कि कोई किसी सांख्यिकीय पद्धति की कमियों और मान्यताओं का निरीक्षण कैसे करेगा। अर्थात्: कुछ डेटा बनाते हैं और उस पर एल्गोरिथ्म का प्रयास करते हैं!

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

डायवर्सन: Anscombe की चौकड़ी

सबसे पहले, एक सादृश्य। कल्पना कीजिए कि किसी ने निम्नलिखित तर्क दिया:

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

अच्छी तरह से, हाँ, रेखीय प्रतिगमन चुकता अवशिष्ट के योग को कम करके काम करता है। लेकिन यह अपने आप में एक प्रतिगमन का लक्ष्य नहीं है: हम जो करने की कोशिश कर रहे हैं, वह एक रेखा है जो x के आधार पर y के विश्वसनीय, निष्पक्ष भविष्यवक्ता के रूप में कार्य करता है । गॉस-मार्कोव प्रमेय हमें बताता है कि SSE को न्यूनतम पूरा करता है कि goal- लेकिन यह है कि प्रमेय कुछ बहुत ही विशिष्ट मान्यताओं पर टिकी हुई है। यदि उन मान्यताओं को तोड़ दिया जाता है, तो आप अभी भी एसएसई को कम कर सकते हैं, लेकिन ऐसा नहीं हो सकता हैकुछ भी। यह कहते हुए कल्पना करें कि "आप पेडल को धक्का देकर कार चलाते हैं: ड्राइविंग अनिवार्य रूप से एक 'पेडल-पुशिंग प्रक्रिया है।" पैडल को टैंक में कितनी भी गैस हो, धक्का दिया जा सकता है। इसलिए, भले ही टैंक खाली हो, फिर भी आप पैडल को धक्का दे सकते हैं और कार को चला सकते हैं। "

लेकिन बात सस्ती है। आइए ठंड, कठोर, डेटा को देखें। या वास्तव में, बना-बनाया डेटा।

यहां छवि विवरण दर्ज करें

यह वास्तव में मेरा पसंदीदा बनाया हुआ डेटा है: Anscombe की चौकड़ी । 1973 में सांख्यिकीविद् फ्रांसिस अंसकोम्बे द्वारा बनाया गया, यह रमणीय मनगढ़ंत कहानी सांख्यिकीय तरीकों पर आंख मूंदकर भरोसा करने का दिखावा करती है। प्रत्येक डेटासेट में समान रैखिक प्रतिगमन ढलान, अवरोधन, पी-मान और - और फिर भी एक नज़र में हम देख सकते हैं कि उनमें से केवल एक, I , रैखिक प्रतिगमन के लिए उपयुक्त है। में द्वितीय यह गलत आकार पता चलता है, में तृतीय यह एक एकल outlier- बढ़ सकता है और में चतुर्थ वहाँ स्पष्ट रूप से कोई प्रवृत्ति बिल्कुल है!R2

एक कह सकता है "रैखिक प्रतिगमन अभी भी उन मामलों में काम कर रहा है, क्योंकि यह अवशिष्टों के वर्गों के योग को कम कर रहा है।" लेकिन क्या एक Pyrrhic जीत ! रैखिक प्रतिगमन हमेशा एक रेखा खींचेगा, लेकिन अगर यह एक अर्थहीन रेखा है, तो कौन परवाह करता है?

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

टूटी हुई धारणा: गैर-गोलाकार डेटा

आप तर्क देते हैं कि k- साधन एल्गोरिथ्म गैर-गोलाकार समूहों पर ठीक काम करेगा। गैर-गोलाकार क्लस्टर जैसे ... ये?

यहां छवि विवरण दर्ज करें

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

यहां छवि विवरण दर्ज करें

ठीक है, कि 'सही नहीं है। K- साधन एक गोल छेद में एक वर्ग खूंटे को फिट करने की कोशिश कर रहा था - उनके चारों ओर स्वच्छ गोले के साथ अच्छे केंद्र खोजने की कोशिश कर रहा था- और यह विफल रहा। हां, यह अभी भी चौकों के भीतर-क्लस्टर योग को कम कर रहा है- लेकिन ऊपर के अंसकोम्ब की चौकड़ी की तरह, यह एक पिरामिड जीत है!

आप कह सकते हैं कि "यह एक उचित उदाहरण नहीं है ... कोई क्लस्टरिंग विधि सही ढंग से समूहों को नहीं पा सकती है जो कि अजीब हैं।" सच नहीं! एकल लिंकेज श्रेणीबद्ध क्लस्टरिंग का प्रयास करें :

यहां छवि विवरण दर्ज करें

बिल्कुल सही किया! ऐसा इसलिए है क्योंकि सिंगल-लिंकेज पदानुक्रमित क्लस्टरिंग इस डेटासेट के लिए सही धारणा बनाता है । (वहाँ स्थितियों की एक पूरी अन्य वर्ग है जहाँ यह विफल रहता है)।

आप कह सकते हैं "यह एक एकल, चरम, रोग संबंधी मामला है।" लेकिन ऐसा नहीं है! उदाहरण के लिए, आप बाहरी समूह को एक वृत्त के बजाय एक अर्ध-वृत्त बना सकते हैं, और आप देखेंगे k- साधन अभी भी बहुत अच्छा करता है (और पदानुक्रमिक क्लस्टरिंग अभी भी अच्छा करता है)। मैं आसानी से अन्य समस्याग्रस्त स्थितियों के साथ आ सकता हूं, और यह सिर्फ दो आयामों में है। जब आप 16-आयामी डेटा को क्लस्टर कर रहे हैं, तो सभी प्रकार की विकृति हो सकती है।

अन्त में, मुझे ध्यान देना चाहिए कि k- साधन अभी भी निस्तारण योग्य है! यदि आप अपने डेटा को ध्रुवीय निर्देशांक में परिवर्तित करके शुरू करते हैं , तो क्लस्टरिंग अब काम करता है:

यहां छवि विवरण दर्ज करें

इसीलिए किसी पद्धति पर अंतर्निहित मान्यताओं को समझना आवश्यक है: यह आपको नहीं बताता कि जब किसी विधि में कमियां होती हैं, तो यह आपको बताता है कि उन्हें कैसे ठीक किया जाए।

टूटी हुई मान्यता: असमान आकार के गुच्छे

क्या होगा यदि समूहों में असमान संख्याएँ होती हैं- जो k- साधन क्लस्टरिंग को भी तोड़ता है? खैर, समूहों के इस सेट पर विचार करें, आकार 20, 100, 500 के। मैंने एक बहुभिन्नरूपी गौसियन से प्रत्येक को उत्पन्न किया है:

यहां छवि विवरण दर्ज करें

ऐसा लगता है कि के-साधन शायद उन समूहों को ढूंढ सकते हैं, है ना? सब कुछ साफ-सुथरे और साफ-सुथरे समूहों में उत्पन्न होता है। तो आइए के-साधन का प्रयास करें:

यहां छवि विवरण दर्ज करें

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

यदि आप इन उदाहरणों के साथ थोड़ा खेलते हैं ( आर कोड यहाँ! ), तो आप देखेंगे कि आप कहीं अधिक परिदृश्यों का निर्माण कर सकते हैं जहाँ के-साधनों से यह शर्मनाक रूप से गलत हो जाता है।

निष्कर्ष: नो फ्री लंच

गणितीय लोकगीतों में एक आकर्षक निर्माण होता है, जिसे वोल्पर और मैकर्ड द्वारा औपचारिक रूप से "नो फ्री लंच प्रमेय" कहा जाता है। यह शायद मशीन सीखने के दर्शन में मेरा पसंदीदा प्रमेय है, और मैं इसे ऊपर लाने के लिए किसी भी मौके को याद करता हूं (क्या मैंने इस सवाल का उल्लेख किया है?) मूल विचार इस तरह से कहा गया है (गैर-कठोरता से): "जब सभी संभावित परिस्थितियों में औसतन, हर एल्गोरिथ्म समान रूप से अच्छा प्रदर्शन करता है। ”

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

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

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



50
इस भावुक उत्तर के लिए +1। मैंने विशेष रूप से ध्रुवीय परिवर्तन उदाहरण का आनंद लिया, उन चालाक चालों ने मेरे गणितीय रूप से अनभिज्ञ मस्तिष्क को विस्मित करने के लिए कभी नहीं रोका।
mugen

20
+ 1, यह एक बहुत ही सुंदर उत्तर है जो यह दिखाने का एक बड़ा काम करता है कि विश्लेषण के विवरणों में कैसे फंस गए बिना धारणाएं टूट जाती हैं।
लुईस सिल्डेला

15
+1 आम चीजें जो लोग मुझसे शिकायत करते हैं उनमें से एक यह है कि सैद्धांतिक चीजें व्यवहार में काम नहीं करती हैं। लेकिन जब मैं पूछता हूं "क्या आपका डेटा मॉडल की मान्यताओं के अनुकूल है?" मुझे बस उनके चेहरों से एक कोरी झलक मिलती है। आपके उत्तर और विशेष रूप से अंतिम खंड ने मुझे वास्तव में खुश कर दिया।
तेनालीरमन

9
+1 वाह, मैं कुछ समय के लिए आसपास रहा हूं, लेकिन मुझे लगता है कि मैंने एक दिन में 50+ अपवॉट पाने का जवाब कभी नहीं देखा। यह वास्तव में प्रभावशाली उपलब्धि है।
अमीबा १

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

7

मैं सिर्फ @ DavidRobinson के जवाब में जोड़ना चाहूंगा कि कम से कम कुल क्लस्टर विचरण के लिए क्लस्टरिंग वास्तव में एक कॉम्बिनेटोरियल ऑप्टिमाइज़ेशन समस्या है, जिसमें से k- मीन्स सिर्फ एक तकनीक है - और बाद के "एक शॉट" को दिया, स्थानीय "सबसे छोटा वंश" प्रकृति, एक बहुत बुरा भी। इसके अलावा, किसी भी तरह से (लेकिन जल्दी से!) "नंगे हड्डियों" के-मीन्स को काफी हद तक सुधारने की कोशिश करते हुए पता लगाना चाहिए कि क्लस्टर बीज कहाँ होना चाहिए, यह शुरू से ही बर्बाद है: क्योंकि बीज प्रभाव (अंतिम रूप से!) अंतिम गुच्छों में होता है। वास्तव में इसकी गणना करने से पहले "जानना" क्या इष्टतम है ...

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

यह कहा जा रहा है, मैं @ttnphns से सहमत हूं कि k- मीन्स निश्चित रूप से एक गाऊसी मिश्रण की पहचान नहीं करता है - दो समस्याओं के लागत कार्य पूरी तरह से अलग हैं। यह पता चला है कि सर्वोत्तम-फिटिंग (मॉडल द्वारा दिए गए मॉडल की संभावना के संदर्भ में) गॉसियन मिक्सचर भी एक दहनशील अनुकूलन समस्या है - और जिसके लिए एक गंभीर अनुकूलन तकनीक भी मौजूद है। एक बार फिर, कोई विज्ञापन नहीं: आप यहां अपने निष्कर्ष पर पहुंच सकते हैं - मैं सिर्फ यह कहूंगा कि एल्गोरिथ्म पर चर्चा की गई है, वास्तव में, @ डेविडरॉबिनसन के पोस्ट में अंतिम छवि जैसे समूहों की सही पहचान कर सकते हैं । यह भी सही ढंग से (यानी, एक गणितीय अच्छी तरह से परिभाषित तरीके से) के बारहमासी समस्या का हल बाहरी कारकों के कारण, यानी, डेटा बिंदु जो किसी भी क्लस्टर से संबंधित नहीं हैं क्योंकि वे पूरी तरह से यादृच्छिक हैं (कुख्यात, वे उदाहरण के लिए पूरी तरह से के-मीन्स से दूर हैं)। यह गॉसियंस के साथ एक अतिरिक्त, एक समान वितरण प्रतिस्पर्धा करके किया जाता है ... और शानदार परिणाम यह है कि समान रूप से वितरित डेटा पर, यह वास्तव में रिपोर्ट करता है कि वहां कुछ भी नहीं है (मैंने कभी भी कहीं और नहीं देखा है)।

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

अस्वीकरण: मेरी गहरी माफी के साथ, मैंने ऊपर दिए गए दोनों कागजात, और एल्गोरिदम पर चर्चा की।

पी एस मैं एक बार एक सम्मेलन में मैकरे से मिला - एक बहुत उज्ज्वल और अच्छा लड़का!


यह प्रश्न का उत्तर माना जाता है।
माइकल चेरिक

3
यह वास्तव में एक जवाब है, माइकल: k- मीन्स PRETENDS को हल करने के लिए वास्तव में एक दहनशील अनुकूलन समस्या है ... फिर भी यह निश्चित रूप से नहीं करता है (किसी भी तरह से गंभीरता से नहीं)! इसके अलावा, k-Means मानता है (डिज़ाइन द्वारा) गोलाकार वितरण, जो इतने लंगड़े हैं कि यह आपको रोना देगा (दो में से एक आयाम को गुणा करें, और कुछ पूरी तरह से अलग प्राप्त करें, जो भी आपके "स्मार्ट" बीज!)। और बाहरी लोगों के सवाल (किसी भी वास्तविक दुनिया डेटा में मौजूद है!) को अभी भी के-मीन्स में संबोधित नहीं किया गया है, भले ही वे पूरी तरह से नष्ट कर दें जो कुछ भी दिखावा के-मीन्स "गंभीर" क्लस्टरिंग हो सकता है।
इमानुएल फल्केनॉउर

1
@EmanuelFalkenauer, साइट पर आपका स्वागत है। मैं आपके उत्तर के लिए (+1) मतदान कर रहा हूं, लेकिन यह केवल थोड़ा दिखावा है। K- मतलब कुछ के लिए कुछ का दिखावा कैसे कर सकता है, यह एक इंसान नहीं है? यह एक सरल / तेज़ विधि के लिए यह करता है, और यह बुरा नहीं करता है।
tnnphns

@ttnphns: स्वागत के लिए धन्यवाद, और upvote! ठीक है कि के-मीन्स कुछ भी नहीं दिखाते हैं (यह सिर्फ कोड का एक टुकड़ा है - मेरा बुरा!), लेकिन इसे बढ़ावा देने वाले लोग - जैसा कि ओपी को पता चला है। मैं आपकी ओर इशारा करते हुए सहमत हूं कि यह एक "सरल / तेज़" विधि है - लेकिन बड़ी परेशानी यह है कि किसी भी पर इसके आउटपुट पर भरोसा करना, लेकिन सबसे सरल डेटा आत्महत्या के करीब है: न केवल यह धारणाएं बनाता है जो सबसे अधिक अनुपालन नहीं करते हैं समय है, लेकिन जब वे होते हैं, यह एक भयानक काम करता है। तुम बस एक जटिल वंश के साथ एक समस्या का हल नहीं है। ;-)
इमानुएल फल्केनॉयर

6

तार्किक रूप से, K- साधनों की कमियां हैं:

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

लेकिन के-साधन हम जितना सोचते हैं उससे बेहतर है। मैं अन्य क्लस्टरिंग विधियों (वर्णक्रमीय, घनत्व ...) और LDA को एक लाख ग्रंथों के वास्तविक जीवन पाठ वर्गीकरण में परीक्षण करने के बाद इसके बारे में काफी उत्साही हो गया हूं: K- साधनों में उदाहरण के लिए LDA की तुलना में बेहतर सटीकता थी (88% बनाम। 59%)। कुछ अन्य क्लस्टरिंग विधियां अच्छी थीं, लेकिन के-साधन शीर्ष के करीब थे ... और जटिलता के संदर्भ में अधिक सस्ती।

मैंने एक क्लस्टरिंग विधि के बारे में कभी नहीं पढ़ा है जो व्यापक रूप से समस्याओं की एक विस्तृत श्रेणी में बेहतर है। के-माध्य नहीं कहना सार्वभौमिक रूप से बेहतर है, बस इतना है कि जहां तक ​​मुझे पता है, कोई सार्वभौमिक क्लस्टरिंग सुपरहीरो नहीं है। कई लेख, कई विधियाँ, एक सच्ची क्रांति नहीं (कुछ को परखने के मेरे व्यक्तिगत सीमित अनुभव में)।

K- साधनों की तार्किक कमियां अक्सर स्पष्ट होने का मुख्य कारण यह है कि 2 डी प्लेन में क्लस्टरिंग पॉइंट वह चीज है जिसे आप मशीन लर्निंग में शायद ही कभी करते हैं। ज्यामितीय अंतर्ज्ञान से कई चीजें जो 2 डी, 3 डी में सच हैं ... बल्कि उच्च आयाम या अमूर्त वेक्टर रिक्त स्थान (जैसे शब्दों के बैग, चर के वेक्टर ...) में अप्रासंगिक हैं।

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

क्लस्टर्स की संख्या: अक्सर क्लस्टर्स की कोई सच्ची आदर्श संख्या नहीं होती है जिसे आप देखना चाहते हैं। उदाहरण के लिए पाठ वर्गीकरण के लिए, 100 श्रेणियां हो सकती हैं, 105, 110 ... यह सब बल्कि व्यक्तिपरक है। समूहों की संख्या निर्दिष्ट करना एक वैश्विक ग्रैन्युलैरिटी निर्दिष्ट करने के बराबर हो जाता है। सभी क्लस्टरिंग विधियों को वैसे भी एक विशिष्टता विनिर्देश की आवश्यकता होती है।

10a lot

लेकिन सभी क्लस्टरिंग एल्गोरिदम में ऐसी सीमाएं हैं। उदाहरण के लिए वर्णक्रमीय क्लस्टरिंग में: आप केवल सही सन्निकटन नहीं पा सकते हैं।

उसी गणना समय के लिए, एक काफी अनुकूलित एलडीए लाइब्रेरी ने हमारे घर-निर्मित (पूरी तरह से अनुकूलित नहीं) के-साधनों की तुलना में कम अच्छा किया। तब से, मैं थोड़ा अलग सोचता हूं।


1

K- साधनों की कमियों को समझने के लिए, मुझे यह सोचना पसंद है कि इसके पीछे का मॉडल क्या है।

KK

Kσ2Iσ2Kσ20

तो, यह हमें K- साधनों की कमियों के बारे में क्या बताता है?

  1. K- साधन उन समूहों की ओर जाता है जो बहुभिन्नरूपी गाऊसी दिखते हैं।
  2. चूँकि चरों में विचरण समान होता है, K- साधन उन समूहों की ओर जाता है जो गोलाकार दिखते हैं।
  3. K
  4. K- साधन समान आकार के समूहों की ओर जाता है।

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


2
मैं पूरी तरह से सहमत नहीं हो सकता। गॉसियन मिश्रण का एक विशेष मामला होने के लिए क्लेम के-साधन एक बहुत लंबा खिंचाव है। K- साधन एक विशिष्ट प्रकार के वितरण को नहीं मानता है, जैसे सामान्य (इसलिए यह संभाव्य आधार नहीं है)। यह नॉनवर्लेपिंग क्लस्टर (यानी "कोई मिश्रण" नहीं है)। यह गोलाकार गुच्छों को मानता है, लेकिन यह कहने के लिए अधिक सटीक है कि यह वोरोनोई कोशिकाओं के उत्तल बहुभुजों को मानता है। शायद यह कहना सही है कि के-साधन कुछ भी "मॉडल" नहीं करता है, इसमें डेटा जनरेट करने की प्रक्रिया का कोई सीधा संदर्भ नहीं है। K- साधन "समान आकार की ओर जाता है [अंकों की संख्या से] समूह" - जरूरी नहीं।
ttnphns 17

4
@ttnphns यह दिखाया जा सकता है कि k-mean वास्तव में GMM का एक विशेष मामला है: en.wikipedia.org/wiki/K-means_clustering#Gaussian_Mixture_Model
TrynadDoStat

It can be shown that। पर्याप्त खिंचाव के कारण, कुछ भी कारण के अलावा, रिश्तेदारी के रूप में "दिखाया" जा सकता है।
tnnphns

2
@ttnphns नहीं, सब कुछ गणितीय रूप से नहीं दिखाया जा सकता है।
ट्राईनाडॉस्टैट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.