K- साधन वैश्विक न्यूनतम क्यों नहीं देता है?


17

मैंने पढ़ा कि k- साधन एल्गोरिथ्म केवल एक स्थानीय न्यूनतम में परिवर्तित होता है न कि वैश्विक न्यूनतम पर। ऐसा क्यों है? मैं तार्किक रूप से सोच सकता हूं कि कैसे प्रारंभिक अंतिम क्लस्टरिंग को प्रभावित कर सकता है और उप-इष्टतम क्लस्टरिंग की संभावना है, लेकिन मुझे ऐसा कुछ भी नहीं मिला जो गणितीय रूप से साबित हो।

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


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

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

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

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

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

जवाबों:


10

आप ई-एल्गोरिथ्म के एक विशेष संस्करण के रूप में k- साधन देख सकते हैं, जो थोड़ी मदद कर सकता है।

मान लें कि आप प्रत्येक क्लस्टर के लिए एक बहुभिन्नरूपी सामान्य वितरण का आकलन कर रहे हैं, जिसमें सभी के लिए पहचान मैट्रिक्स के लिए तय किए गए सहसंयोजक मैट्रिक्स हैं, लेकिन चर का अर्थ जहां मैं क्लस्टर का सूचकांक है। स्पष्ट रूप से, यदि पैरामीटर { μ i } ज्ञात हैं, तो आप प्रत्येक बिंदु p को उसके अधिकतम संभावना क्लस्टर (यानी μ i जिसके लिए न्यूनतम में p की दूरी ) निर्दिष्ट कर सकते हैं । इस समस्या के लिए EM एल्गोरिथ्म k- साधनों के लगभग बराबर है।μii{μi}pμip

दूसरे तरीके से, यदि आप जानते हैं कि कौन से बिंदु किस क्लस्टर से संबंधित हैं, तो आप इष्टतम अनुमान लगा सकते हैं μi। यह करने के लिए बंद फ़ॉर्म समाधान (जो एक वैश्विक अनुकूलता पाता है) मूल रूप से है कि अधिक से अधिक संभावना मॉडल खोजने के लिए कहते हैं {μ^i} आप समूहों के लिए अंकों की हर संभव कार्य से अधिक एकीकृत। चूंकि केवल तीस अंक और दो समूहों के साथ, लगभग एक अरब ऐसे संभावित असाइनमेंट हैं, जिनकी गणना करना संभव नहीं है।

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

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


अच्छे से कहा! मैं इसे उत्तर के रूप में चिह्नित करूँगा!
प्रतीक कुलकर्णी

4

यह वह समस्या है जिसे आप हल करना चाहते हैं:

minxi=1nj=1kxij||picj||2subject to:j=1kxij=1icj is the centroid of cluster jxij{0,1}i,j

बाइनरी वेरिएबल इंगित करता है कि मुझे क्लस्टर j को पॉइंट दिया गया है या नहीं । प्रतीक p i और c j क्रमशः j th क्लस्टर के i वें बिंदु और केन्द्रक के निर्देशांक को निरूपित करते हैं। वे दोनों आर डी में स्थित हैं , जहां डी डेटा बिंदुओं की गतिशीलता है।xijijpicjijRdd

बाधाओं के पहले समूह का कहना है कि प्रत्येक बिंदु को बिल्कुल एक क्लस्टर में सौंपा जाना चाहिए। बाधाओं का दूसरा समूह (जिसे हमने गणितीय रूप से परिभाषित नहीं किया है) कहते हैं कि क्लस्टर के सेंट्रोइड के निर्देशांक वास्तव में x i j चर के मूल्यों पर निर्भर करते हैं । हम उदाहरण के लिए इस प्रकार इस बाधा को व्यक्त कर सकते हैं: j = Σ मैं एक्स मैं जे पी मैं jjxij

cj=ixijpijixij

हालांकि, इन गैर-रेखीय बाधाओं से निपटने के बजाय, K- मीन्स में हम (लगभग) एक अलग समस्या को हल करते हैं जिसमें हमारी मूल समस्या के समान ही इष्टतम समाधान है:

minxi=1nj=1kxij||piyj||2subject to:j=1kxij=1ixij{0,1}i,jyjRdj

दूरी को सेंट्रोइड्स तक कम करने के बजाय, हम दूरी को केवल किसी भी बिंदु पर सेट करते हैं जो बेहतर समाधान देगा। यह पता चला है कि ये बिंदु बिल्कुल केंद्रक हैं।

अब इस समस्या को हल करने के लिए, हम अभिसरण तक, इस एल्गोरिथ्म के 2-3 चरणों में पुनरावृति करते हैं:

  1. चर के लिए कुछ मान निर्दिष्ट करेंyj
  2. चर के लिए मान ठीक करें और x i j के लिए इष्टतम मान ढूंढेंyjxij चर के ।
  3. चर के मानों को ठीक करें , और y j चर के लिए इष्टतम मान खोजें ।xijyj

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

सौभाग्य से, चरण 2 और 3 में अनुकूलन समस्याओं को बंद रूप में हल किया जा सकता है। यदि हम जानते हैं (अर्थात यदि हम जानते हैं कि प्रत्येक बिंदु को किस क्लस्टर को सौंपा गया है), तो y j चर के लिए सबसे अच्छे मूल्य समूहों के केन्द्रक हैं। यदि हम y j के लिए मान जानते हैं , तो स्पष्ट रूप से x i j चर के लिए सबसे अच्छा विकल्प प्रत्येक बिंदु को निकटतम y j में निर्दिष्ट करना है । xijyjyjxijyj


2

एक सरल उदाहरण मदद कर सकता है ..

आइए हम बिंदुओं के समुच्चय को परिभाषित करते हैं कि इसे किस प्रकार क्लस्ट किया जाए A = {1,2,3,4}

मान लीजिए कि आप A (2-साधन) के लिए 2 उपयुक्त क्लस्टर खोजने का प्रयास कर रहे हैं। वहाँ (कम से कम) दो अलग-अलग सेटिंग्स हैं जो k- साधनों की स्थिर स्थिति को संतुष्ट करते हैं।

सेटिंग 1:

Center1 = 1, Cluster1 = {1}
Center2 = 3, Cluster1 = {2,3,4}

यहाँ उद्देश्य 2 है। तथ्य की बात के रूप में यह एक काठी बिंदु (कोशिश center1 = 1 + epsilonऔर center1 = 1 - epsilon) है

सेटिंग 1:

Center1 = 1.5, Cluster1 = {1,2}
Center2 = 3.5, Cluster1 = {3,4}

यहाँ उद्देश्य 1/4 है।

यदि k- साधनों को पहली सेटिंग के रूप में आरंभीकृत किया जाएगा तो यह अटक जाएगा .. और यह किसी भी तरह से वैश्विक न्यूनतम नहीं है।

दो अलग-अलग स्थानीय मिनीमा बनाने के लिए आप पिछले उदाहरण के एक संस्करण का उपयोग कर सकते हैं। के लिए A = {1,2,3,4,5}, की स्थापना cluster1={1,2}और cluster2={3,4,5}रूप में एक ही उद्देश्य मूल्य में होगा परिणाम cluster1={1,2,3}औरcluster2={4,5}

अंत में, यदि आप चुनते हैं तो क्या होगा

A = {1,2,3,4,6}
center1={2.5} cluster1={1,2,3,4} and 
center1={6} cluster1={6}

बनाम

center1={2} cluster1={1,2,3} and 
center1={5} cluster1={4,6}

?


0

[यह @Peter के उत्तर देने से पहले था]
एक छोटी सी चर्चा के बाद (टिप्पणी अनुभाग में), मुझे लगता है कि मुझे अपने प्रश्न का उत्तर देना होगा।

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

@whuber कहते हैं:

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

अगर किसी को जोड़ना है तो यह बहुत बढ़िया होगा।


0

हर किसी ने सब कुछ समझाया है, लेकिन मैं यह जोड़ना चाहूंगा कि यदि एक नमूना डेटा को गौसियन वितरण के रूप में वितरित नहीं किया जाता है, तो यह एक स्थानीय मिनीमा से चिपक सकता है। K- साधन एल्गोरिथ्म में हम वास्तव में उस पाने की कोशिश कर रहे हैं।


Rather than Gaussian, I think you mean “unimodal”
Peter Leopold
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.