K- साधन क्लस्टरिंग एल्गोरिदम केवल यूक्लिडियन दूरी मीट्रिक का उपयोग क्यों करता है?


62

क्या दक्षता या कार्यक्षमता के संदर्भ में एक विशिष्ट उद्देश्य है कि k- साधन एल्गोरिथ्म उदाहरण के लिए cosine (डिस) समानता का उपयोग दूरी मीट्रिक के रूप में क्यों नहीं करता है, लेकिन केवल यूक्लिडियन मानदंड का उपयोग कर सकता है? सामान्य तौर पर, जब यूक्लिडियन की तुलना में अन्य दूरी पर विचार किया जाता है या उपयोग किया जाता है, तो K- साधन विधि का अनुपालन और सही होगा?

[@Nnphns द्वारा जोड़ सवाल दोतरफा है। "(गैर) यूक्लिडियन दूरी" दो डेटा बिंदुओं के बीच की दूरी या एक डेटा बिंदु और एक क्लस्टर केंद्र के बीच की दूरी की चिंता हो सकती है। दोनों तरीकों को अब तक के उत्तरों में संबोधित करने का प्रयास किया गया है।]


यह सवाल स्टैकओवरफ्लो और इस साइट पर लगभग 10 बार पहले ही पूछा जा चुका है। कृपया खोज फ़ंक्शन का उपयोग करें।
ऐनी-मौसे

3
@ Anony-Mousse: जबकि मैं पूरी तरह से आपसे सहमत हूं और हाल ही में SO पर झंडे का एक गुच्छा उठाया है, मुझे लगता है कि इनमें से अधिकांश सवालों पर डुप्लिकेट क्लोजर की कमी है।
निकाना रेक्लाविक्स

4
यह वह पृष्ठ है जो इस विषय के बारे में गुगली करते हुए पहले आता है।
हरिपकन्नन

जवाबों:


62

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

लेकिन एक यूक्लिडियन दूरी b / w दो डेटा बिंदुओं को कई वैकल्पिक तरीकों से दर्शाया जा सकता है । उदाहरण के लिए, यह कोज़ाइन या स्केलर उत्पाद b / w के बिंदुओं के साथ निकटता से जुड़ा हुआ है। यदि आपके पास कोसाइन, या सहसंयोजक, या सहसंबंध है, तो आप हमेशा (1) इसे (वर्ग) यूक्लिडियन दूरी में बदल सकते हैं, और फिर (2) यूक्लिडियन दूरी के उस मैट्रिक्स के लिए डेटा बनाते हैं (प्रिंसिपल कोऑर्डिनेट या मीट्रिक के अन्य रूपों के माध्यम से) बहु-आयामी स्केलिंग) से (3) उन डेटा को K-Means क्लस्टरिंग में इनपुट करें। इसलिए, के-मीन्स को "जोड़ीवाइज कॉशन या ऐसे" के साथ काम करना संभव है ; वास्तव में, K- मीन्स क्लस्टरिंग के ऐसे कार्यान्वयन मौजूद हैं। यह सभी देखें कार्यान्वयन दूरी के लिए "के-साधन" के बारे में।

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

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

संबंधित प्रश्न देखें K- साधन: WCSS को कम करना समूहों के बीच की दूरी को अधिकतम क्यों करता है?


क्या आप जिस दृष्टिकोण का उल्लेख कर रहे हैं उसके कुछ उदाहरण-डॉक्स का हवाला दे सकते हैं?
उत्सुक

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

1
@ttnphns: आपके द्वारा लिखे गए पात्रों की संख्या में But a Euclidean distance b/w two data points can be represented in a number of alternative ways. For example, it is closely tied with cosine or scalar product b/w the points. If you have cosine, or covariance, or correlation, you can always (1) transform it to (squared) Euclidean distance, आप आसानी से लिखे जा सकते हैं: distance(x,y) = 1 - cosine_sim(x,y)या कुछ इसी तरह से पीथी और सूचनात्मक।
stackoverflowuser2010

1
यह वैध और रचनात्मक आलोचना की तरह दिखता है: किसी लिंक पर भरोसा करने के बजाय सीधे अपनी पोस्ट में जानकारी शामिल करना बेहतर है; और यह आमतौर पर अस्पष्ट की तुलना में स्पष्ट होना बेहतर है। (सीसी @stackoverflowuser)
whuber

3
क्या आप प्रतियोगिता कर रहे हैं? यह इस मामले में एक लिंक पर भरोसा करना बेहतर है, या अस्पष्ट होना बेहतर है, या दोनों? और क्यों?
whuber

46

के-अर्थ की व्याख्या के लिए @ttnphns का उत्तर भी देखें, जिसमें वास्तव में बिंदुवार यूक्लिडियन दूरियां शामिल हैं।

जिस तरह से k- साधन का निर्माण किया जाता है वह दूरी पर आधारित नहीं है

K- साधन क्लस्टर क्लस्टर के भीतर को कम करता है। अब यदि आप विचरण की परिभाषा को देखते हैं, तो यह केंद्र से वर्ग यूक्लिडियन के योग के समान है। (@ttnphns उत्तर युग्मक यूक्लिडियन दूरियों को संदर्भित करता है!)

K- साधनों का मूल विचार चुकता त्रुटियों को कम करना है । यहां कोई "दूरी" शामिल नहीं है।

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

यदि आप k- साधनों के मैनहट्टन-दूरी संस्करण की तलाश कर रहे हैं, तो k-medians है। क्योंकि मंझला एक सबसे अच्छा L1 आकलनकर्ता है।

यदि आप मनमाने ढंग से दूरी के कार्य चाहते हैं, तो k-medoids (aka: PAM, विभाजन के आसपास के मेडोइड्स) पर एक नज़र डालें। मेडोइड मनमानी दूरी को कम करता है (क्योंकि इसे न्यूनतम के रूप में परिभाषित किया गया है), और केवल संभव ध्यान की एक सीमित संख्या मौजूद है, भी। यह हालांकि की तुलना में बहुत महंगा है।


लेकिन k- साधनों के पहले चरण में प्रत्येक बिंदु को क्लस्टर के केंद्रक के साथ निकटतम यूक्लिडियन दूरी के साथ क्लस्टर में रखा जाता है ... तो वहाँ एक दूरी मीट्रिक है
जिज्ञासु

@AnonyMousse @ttnphns answer refers to pairwise Euclidean distances!मेरे उत्तर, प्रथम पैराग्राफ में, मैं स्पष्ट रूप से दोनों को "एसएस त्रुटि" (प्रत्यक्ष) और "जोड़ीवार डी ^ 2" (अंतर्निहित) व्याख्याओं का संदर्भ देता हूं ।
ttnphns

3
मैं आपके उत्तर से सहमत हूं। ध्यान दें कि आपका परिचालन खाता k-means may stop converging with other distance functionsमेरे सैद्धांतिक के लिए अनुकूल है Non-euclidean distances will generally not span euclidean space
ttnphns

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

मैं अभी भी यह नहीं देख सकता कि माध्य यूक्लिडियन दूरी के संदर्भ में दूरी को कम क्यों करता है और कोसाइन के संदर्भ में यह सबूत के भाग के रूप में नहीं है
जिज्ञासु

9

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

K- साधन एल्गोरिथम को कई क्षेत्रों से स्वतंत्र रूप से प्रस्तावित किया गया है, जिसमें क्षेत्र के लिए मजबूत व्याख्याएं हैं। यह सिर्फ इतना है कि यह केंद्र के लिए भी यूक्लिडियन दूरी है। K- साधनों के संक्षिप्त इतिहास के लिए, कृपया डेटा क्लस्टरिंग पढ़ें : K- साधनों से परे 50 वर्ष

अन्य क्लस्टरिंग एल्गोरिदम के ढेर सारे हैं जो यूक्लिडियन के अलावा अन्य मैट्रिक्स का उपयोग करते हैं। सबसे सामान्य मामला मुझे पता है कि क्लस्टरिंग के लिए ब्रेगमैन डाइवर्जेंस का उपयोग करना है, जिनमें से यूक्लिडियन एक विशेष मामला है।


"यूक्लिडियन के अलावा मेट्रिक्स" मैं थोड़ा अधिक पांडित्यपूर्ण हो सकता हूं, लेकिन वे डायवर्जन मेट्रिक्स नहीं हैं, सामान्य रूप से :)
mic

सच :); मुझे शायद उत्तर को संपादित करना चाहिए।
user1669710

8

चूंकि यह जाहिरा तौर पर अब एक विहित प्रश्न है, और इसका उल्लेख यहां अभी तक नहीं किया गया है:

आरφ:आरपीएच(एक्स,y)=φ(एक्स)-φ(y)एच{φ(एक्समैं)}φ(एक्स,y)=φ(एक्स),φ(y)एच

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

निम्नलिखित पेपर इस एल्गोरिथ्म पर चर्चा करता है, और इसे वर्णक्रमीय क्लस्टरिंग से संबंधित करता है:

आई। ढिल्लों, वाई। गुआन, और बी। कुलिस। कर्नेल k- साधन, स्पेक्ट्रल क्लस्टरिंग और सामान्यीकृत कटौती। केडीडी 2005।


मुझे समझ नहीं आया कि कर्नेल ट्रिक का उपयोग लॉयड के एल्गोरिथ्म के साथ कैसे किया जा सकता है। यह मुझे लगता है कि एक केन्द्रक (यहां तक ​​कि हिल्बर्ट अंतरिक्ष में भी) की गणना करने के लिए, हमें स्पष्ट मानचित्र i (x_i) की आवश्यकता है? गुच्छों को अंक देने के लिए, हमें केवल कर्नेल की आवश्यकता होती है, लेकिन केन्द्रक को पुन: संयोजित करने के लिए, हम केवल कर्नेल के साथ दूर नहीं जा सकते हैं, क्योंकि केंद्रक उस क्लस्टर को {φ (x_i)} का अर्थ है। क्या मैं कुछ भूल रहा हूँ?
user2428107

आप सही हैं कि हम स्पष्ट रूप से केन्द्रक की गणना नहीं कर सकते। लेकिन हम उन्हें केवल रूप में दर्शा सकते हैं1nमैंΣजेसीमैंφ(एक्सजे)एक्सφ(एक्स)-1nमैंΣजेसीमैंφ(एक्सजे)2=(एक्स,एक्स)+1nमैं2Σजे,जे'(एक्सजे,एक्सजे')-2nमैंΣजे(एक्स,एक्सजे)

5

मैंने यहाँ कई दिलचस्प टिप्पणियाँ पढ़ी हैं, लेकिन मुझे जोड़ने के लिए कि मतलाब के "व्यक्तिगत" कार्यान्वयन का मतलब है 4 गैर-यूक्लिडियन दूरियों [डेटा बिंदुओं और क्लस्टर केंद्रों के बीच] का समर्थन करता है। प्रलेखन से एकमात्र टिप्पणी जो मैं देख सकता हूं, वह है:

दूरी माप, पी-डायमेंशनल स्पेस में, जिसका उपयोग कम से कम करने के लिए किया जाता है, 'दूरी' और एक स्ट्रिंग से मिलकर कॉमा-अलग जोड़ी के रूप में निर्दिष्ट होता है।

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

तब के कार्यों की एक सूची cऔर xइस प्रकार है। इस प्रकार, यह देखते हुए कि pइनपुट डेटा की आयामीता है, ऐसा लगता है कि कोई यूक्लिडियन एम्बेडिंग पहले से नहीं किया गया है।

BTW अतीत में मैं सहसंबंध दूरी के साथ मतलाब के k- साधनों का उपयोग कर रहा हूं और यह (अनिश्चित रूप से) उसने वही किया जो वह करने वाला था।


2
cosinecorrelationcityblockएल1hammingcityblock

@ डगल, एल्गोरिदम में माध्यिका को किस तरह से ढाला गया है? यह k- परिवर्तन नहीं करता है मतलब है एक मूल रूप से अलग algo के लिए?
ttnphns

1
यह भी ध्यान दें कि द्विआधारी डेटा के लिए "हामिंग दूरी" = सिटीब्लॉक = वर्ग। यूक्लिडियन दूरी।
ttnphns

1
=एल22=एल1

1
@ डगल, ध्यान दें कि डेटा पॉइंट और क्लस्टर सेंटर के बीच विभिन्न दूरियों के बारे में मैटलैब प्रक्रिया जुड़ी हुई है; जो जोड़ीदार दूरी के प्रकारों के समान नहीं है।
tnnphns

2

से यहाँ :

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

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


यह एक सामान्य उत्तर है। यह नहीं समझाता है कि k- साधनों में कोसाइन समानता क्यों नहीं है। उदाहरण के लिए पदानुक्रमिक क्लस्टरिंग में इसका व्यापक रूप से उपयोग किया जा रहा है
जिज्ञासु

3
@ डडली: कभी-कभी परिमाण महत्वपूर्ण होता है, कभी-कभी यह शोर होता है। यह अनुसंधान क्षेत्र पर निर्भर करता है और डेटा मानकीकरण का एक मुद्दा है।
ttnphns
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.