पदानुक्रमित क्लस्टरिंग

डेटा खनन और सांख्यिकी में, पदानुक्रमित समूहन (जिसे पदानुक्रमित समूह विश्लेषण या एचसीए भी कहा जाता है) समूह विश्लेषण की विधि है जो समूह के पदानुक्रम का निर्माण करना चाहती है। और पदानुक्रमित समूहन की रणनीतियाँ सामान्यतः दो श्रेणियों में आती हैं |
 * इस प्रकार समूहीकरण: यह "ऊपर से नीचे" दृष्टिकोण होते है |प्रत्येक अवलोकन अपने स्वयं के समूह में प्रारंभ होता है, और पदानुक्रम में ऊपर जाने पर समूहों के जोड़े विलय हो जाते हैं।
 * विभाजनकारी: यह "ऊपर से नीचे" दृष्टिकोण होते है | सभी अवलोकन समूह में प्रारंभ होते हैं, और पदानुक्रम में नीचे जाने पर विभाजन पुनरावर्ती रूप से किया जाता है।

सामान्यतः, विलय और विभाजन बहुभक्षक विधि से निर्धारित होते हैं। और पदानुक्रमित समूहन के परिणाम सामान्यतः डेंड्रोग्राम में प्रस्तुत किए जाते हैं।

पदानुक्रमित समूहन का विशिष्ट लाभ यह है कि दूरी के किसी भी वैध माप का उपयोग किया जा सकता है। वास्तव में, अवलोकनों की सदैव आवश्यकता नहीं होती है | इस प्रकार कुछ भी उपयोग किया जाता है और वह दूरी आव्युह का उपयोग होता है। इस प्रकार दूसरी ओर, एकल-लिंकेज दूरी के विशेष स्तिथि को छोड़कर, किसी भी एल्गोरिदम ($$\mathcal{O}(2^n)$$ में संपूर्ण खोज को छोड़कर) इसको इष्टतम समाधान खोजने की प्रत्याभुति नहीं दी जा सकती है।

समष्टिता
पदानुक्रमित एग्लोमेरेटिव समूहन (एचएसी) के लिए मानक एल्गोरिदम की समय की समष्टिता $$\mathcal{O}(n^3)$$ है और इसके लिए $$\Omega(n^2)$$ मेमोरी की आवश्यकता होती है, जो इसे मध्यम डेटा समुच्चय के लिए भी अधिक धीमा बना देती है। चूँकि, कुछ विशेष स्तिथियोंं के लिए, इष्टतम कुशल एग्लोमेरेटिव विधि(समष्टिता $$\mathcal{O}(n^3)$$ के) ज्ञात हैं | सिंगल-लिंकेज समूहन के लिए स्लिंक और पूर्ण-लिंकेज समूहन के लिए CLINK । ढेर के साथ, सामान्य स्तिथिका रनटाइम हो सकता है मेमोरी आवश्यकताओं को और बढ़ाने की कीमत पर,$$\mathcal{O}(n^3)$$ की उपरोक्त सीमा में सुधार करके$$\mathcal{O}(n^2 \log n)$$ तक कम किया जा सकता है। अनेक स्तिथियोंं में, इस दृष्टिकोण का मेमोरी ओवरहेड इसे व्यावहारिक रूप से उपयोग करने योग्य बनाने के लिए अधिक बड़ा है।

विस्तृत खोज के साथ विभाजनकारी समूहन $$\mathcal{O}(2^n)$$ होता है, किन्तु विभाजन को चुनने के लिए तीव्र अनुमानों का उपयोग करना साधारण होता है, जैसे कि k -मीन्स हैं।

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

लिंकेज मानदंड अवलोकनों के मध्य जोड़ीवार दूरी ियों के फलन के रूप में अवलोकनों के समुच्चय के मध्य की दूरी निर्धारित करता है।

अवलोकन A और B के दो समुच्चय ों और दूरी ी डी के मध्य सामान्यतः उपयोग किए जाने वाले कुछ लिंकेज मानदंड हैं | इनमें से कुछ को केवल पुनरावर्ती रूप से पुनर्गणना की जा सकती है (डब्ल्यूपीजीएमए, डब्ल्यूपीजीएमसी), अनेक लोगों के लिए लांस-विलियम्स-समीकरणों के साथ पुनरावर्ती गणना अधिक कुशल है, जबकि अन्य (मिनी-मैक्स, हॉसडॉर्फ, मेडॉइड) के लिए दूरियों की गणना धीमी गति से करनी पड़ती है पूर्ण सूत्र. अन्य लिंकेज मानदंडों में सम्मिलित होता हैं |


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

एग्लोमेरेटिव समूहन उदाहरण
उदाहरण के लिए, मान लीजिए कि इस डेटा को समूह किया जाना है, और यूक्लिडियन दूरी मीट्रिक (गणित) है।

पदानुक्रमित समूहन डेंड्रोग्राम होता हैं |

एक निश्चित ऊंचाई पर पेड़ को काटने से चयनित परिशुद्धता पर विभाजन समूहन मिलेगी। इस उदाहरण में, डेंड्रोग्राम की दूसरी पंक्ति (ऊपर से) के पश्चात् काटने पर समूह्स {a} {b c} {d e} {f} प्राप्त होंगे। तीसरी पंक्ति के पश्चात् काटने से समूह {a} {b c} {d e f} प्राप्त होंगे, जो कि मोटा समूहन है, जिसमें कम संख्या किन्तुबड़े समूह होते हैं।

यह विधि समूहों को उत्तरोत्तर विलय करके व्यक्तिगत तत्वों से पदानुक्रम बनाती है। हमारे उदाहरण में, हमारे पास छह तत्व हैं {a} {b} {c} {d} {e} और {f}। पहला कदम यह निर्धारित करना है कि समूह में किन तत्वों को मर्ज करना है। सामान्यतः, हम चुनी गई दूरी ी के अनुसार दो निकटतम तत्वों को लेना चाहते हैं।

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

मान लीजिए कि हमने दो निकटतम तत्वों b और c को मर्ज कर दिया है, अब हमारे पास निम्नलिखित समूह {a}, {b, c}, {d}, {e} और {f} हैं, और हम उन्हें आगे मर्ज करना चाहते हैं। ऐसा करने के लिए, हमें {a} और {b c} के मध्य की दूरी ी लेने की आवश्यकता है, और इसलिए दो समूहों के मध्य की दूरी को परिभाषित करें। सामान्यतः दो समूहों $$\mathcal{A}                                                                                                                                                                                                                                                                                                                                                                                                                                      $$ और $$\mathcal{B}                                                                                                                                                                                                                                                                                                                                                                                                                                       $$ के मध्य की दूरी निम्नलिखित में से होती है:
 * प्रत्येक समूह के तत्वों के मध्य अधिकतम दूरी (जिसे पूर्ण-लिंकेज समूहन भी कहा जाता है) |
 * $$ \max \{\, d(x,y) : x \in \mathcal{A},\, y \in \mathcal{B}\,\}. $$


 * प्रत्येक समूह के तत्वों के मध्य न्यूनतम दूरी (जिसे सिंगल-लिंकेज समूहन भी कहा जाता है) |
 * $$ \min \{\, d(x,y) : x \in \mathcal{A},\, y \in \mathcal{B} \,\}. $$


 * प्रत्येक समूह के तत्वों के मध्य की औसत दूरी (जिसे औसत लिंकेज समूहन भी कहा जाता है, उदाहरण के लिए यूपीजीएमए में उपयोग किया जाता है) |
 * $$ {1 \over {|\mathcal{A}|\cdot|\mathcal{B}|}}\sum_{x \in \mathcal{A}}\sum_{ y \in \mathcal{B}} d(x,y). $$


 * सभी इंट्रा-समूह विचरण का योग।
 * विलय किए जा रहे समूह के लिए विचरण में वृद्धि (वार्ड की विधि)।
 * संभावना है कि प्रतियोगी समूह ही वितरण फलन (वी-लिंकेज) से उत्पन्न होंगे।

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

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

विभाजनकारी समूहन
विभाजनकारी समूहन का मूल सिद्धांत डायना (विभाजन विश्लेषण समूहन) एल्गोरिदम के रूप में प्रकाशित किया गया था। प्रारंभ में, सभी डेटा ही समूह में होते हैं, और सबसे बड़े समूह को तब तक विभाजित किया जाता है जब तक कि प्रत्येक ऑब्जेक्ट भिन्न न हो जाए। चूँकि प्रत्येक समूह को विभाजित करने के $$O(2^n)$$ विधिउपस्थित हैं, अनुमान की आवश्यकता है। डायना अधिकतम औसत असमानता वाली वस्तु को चुनती है और फिर सभी वस्तुओं को इस क्लस्टर में ले जाती है जो शेष की तुलना में नए समूह के अधिक समान होती हैं।

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

औपचारिक रूप से, डायना निम्नलिखित चरणों में काम करती है:


 * 1) मान लीजिए कि $$C_0 = \{1\dots n\}$$ सभी $$n                                                                                                                                                                                                                               $$ ऑब्जेक्ट सूचकांकों का समुच्चय है और $$\mathcal{C} = \{C_0\}$$अब तक बने सभी समूहों का समुच्चय है।
 * 2) निम्नलिखित को $$|\mathcal{C}| = n$$ तक दोहराएँ:
 * 3) 2 या अधिक ऑब्जेक्ट वाले वर्तमान समूह का पता लगाएं जिसका व्यास सबसे बड़ा है |
 * 4) $$C_* = \arg\max_{C\in \mathcal{C}} \max_{i_1,i_2\in C} \delta(i_1,i_2)$$
 * 5) इस समूह में बाकी समूह से सबसे अधिक असमानता वाली वस्तु ढूंढें | $$i^* = \arg\max_{i\in C_*} \frac{1}{|C_*|-1}\sum_{j\in C_*\setminus\{i\}} \delta(i,j)$$
 * 6) $$i^*$$ को उसके पुराने समूह $$C_*                                                                                                                                                                                                                                $$से पॉप करें और इसे नए स्प्लिंटर समूह $$C_\textrm{new} = \{i^*\}$$ में डालें।
 * 7) जब तक $$C_*$$खाली न हो, वस्तुओं को $$C_*$$ से $$C_\textrm{new}$$जोड़ने के लिए स्थानांतरित करते रहें। यह चुनने के लिए कि किन वस्तुओं को स्थानांतरित करना है, न केवल $$C_*$$ की असमानता पर विचार करें, किंतु स्प्लिंटर समूह की असमानता के लिए भी समायोजन करें: जहां हम $$D(i) = \frac{1}{|C_*|-1}\sum_{j\in C_*\setminus\{i\}} \delta(i,j) - \frac{1}{|C_\textrm{new}|}\sum_{j\in C_\textrm{new}} \delta(i,j)$$} को परिभाषित करते हैं, वहां $$i^* = \arg\max_{i\in C} D(i)$$ दें, फिर $$D(i^*) < 0$$ होने पर या तब पुनरावृत्ति समाप्त करें, या $$i^*$$.माइग्रेट करें
 * 8) जोड़ना $$C_\textrm{new}$$ को $$\mathcal{C}                                                                                                                                                                                                                   $$.

इस प्रकार सहजता से, $$D(i)$$ उपरोक्त मापता है कि अनेक वस्तु अपने वर्तमान समूह को कितनी दृढ़ता से छोड़ना चाहती है, किन्तु यह तब कम हो जाता है जब वस्तु स्प्लिंटर समूह में भी फिट नहीं होती है। ऐसी वस्तुएं संभवतः अंततः अपना स्वयं का किरच समूह प्रारंभ कर देती हैं।

डायना के डेंड्रोग्राम का निर्माण स्प्लिंटर समूह $$C_\textrm{new}$$ को खोखले-आउट समूह का बच्चा बनाकर किया जा सकता है| $$C_*                                                                                                                                                                                                                            $$ खोखले-आउट क्लस्टर का बच्चा हो $$C_0$$ इसकी जड़ के रूप में और $$n                                                                                                                                                                                                                           $$ अद्वितीय एकल-ऑब्जेक्ट समूह के रूप में) इसकी पत्तियाँ होती हैं |

खुला स्रोत कार्यान्वयन


* एएलजीआईबी O(n²) मेमोरी और O(n³) रन टाइम के साथ C++ और C# में अनेक पदानुक्रमित समूहन एल्गोरिदम (सिंगल-लिंक, पूर्ण-लिंक, वार्ड) प्रयुक्त करता है।
 * ईएलकेआई में अनेक पदानुक्रमित क्लस्टरिंग एल्गोरिदम, विभिन्न लिंकेज रणनीतियां सम्मिलित हैं और इसमें कुशल स्लिंक, स्लिंक और एंडरबर्ग एल्गोरिदम, डेंड्रोग्राम से लचीला क्लस्टर निष्कर्षण और विभिन्न अन्य क्लस्टर विश्लेषण एल्गोरिदम भी सम्मिलित हैं।
 * जूलिया (प्रोग्रामिंग भाषा) का क्लस्टरिंग.जे.एल पैकेज के अंदर कार्यान्वयन होता है।
 * ऑक्टेव,एमएटीएलएबी का जीएनयू एनालॉग फलन "लिंकेज" में पदानुक्रमित क्लस्टरिंग प्रयुक्त करता है।
 * ऑरेंज, डेटा माइनिंग सॉफ्टवेयर सूट, जिसमें इंटरैक्टिव डेंड्रोग्राम विज़ुअलाइज़ेशन के साथ पदानुक्रमित क्लस्टरिंग सम्मिलित है।
 * आर (प्रोग्रामिंग भाषा) में अंतर्निहित फलन और पैकेज हैं जो पदानुक्रमित क्लस्टरिंग के लिए फलन प्रदान करते हैं।
 * एससीआईपीवाई कुशल स्लिंक एल्गोरिथ्म सहित, पायथन में पदानुक्रमित समूहन प्रयुक्त करता है।
 * स्किकिट-लर्न पायथन में पदानुक्रमित समूहन को भी प्रयुक्त करता है।
 * वेका (मशीन लर्निंग) में पदानुक्रमित समूह विश्लेषण सम्मिलित है।

वाणिज्यिक कार्यान्वयन

 * मैथवर्क्स में पदानुक्रमित समूह विश्लेषण सम्मिलित है।
 * एसएएस प्रणाली में PROC समूह में पदानुक्रमित समूह विश्लेषण सम्मिलित है।
 * गणित में पदानुक्रमित समूहन चरण सम्मिलित है।
 * एनसीएसएस (सांख्यिकीय सॉफ्टवेयर) में पदानुक्रमित समूह विश्लेषण सम्मिलित है।
 * एसपीएसएस में पदानुक्रमित समूह विश्लेषण सम्मिलित है।
 * क्यूलूकोर ओमिक्स एक्सप्लोरर में पदानुक्रमित समूह विश्लेषण सम्मिलित है।
 * स्टाटा में पदानुक्रमित समूह विश्लेषण सम्मिलित है।
 * क्राइमस्टेट में भौगोलिक सूचना प्रणाली के लिए ग्राफिकल आउटपुट के साथ निकटतम नेंबर पदानुक्रमित समूह एल्गोरिदम सम्मिलित है।

यह भी देखें

 * बाइनरी स्पेस विभाजन
 * बाउंडिंग वॉल्यूम पदानुक्रम
 * भूरा क्लस्टरिंग
 * क्लैडिस्टिक्स
 * क्लस्टर विश्लेषण
 * कम्प्यूटेशनल फाइलोजेनेटिक्स
 * क्योर डेटा क्लस्टरिंग एल्गोरिदम
 * दासगुप्ता का उद्देश्य
 * डेंड्रोग्राम
 * डेटा सेट में क्लस्टर की संख्या निर्धारित करना
 * नेटवर्क की श्रेणीबद्ध क्लस्टरिंग
 * स्थानीयता-संवेदनशील हैशिंग
 * निकटतम पड़ोसी की खोज
 * निकटतम-पड़ोसी श्रृंखला एल्गोरिथ्म
 * संख्यात्मक वर्गीकरण
 * प्रकाशिकी एल्गोरिथ्म
 * सांख्यिकीय दूरी
 * सतत समरूपता