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

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

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

पदानुक्रमित समूहन का विशिष्ट लाभ यह है कि दूरी के किसी भी वैध माप का उपयोग किया जा सकता है। वास्तव में, अवलोकनों की सदैव आवश्यकता नहीं होती है | इस प्रकार अनेकभी उपयोग किया जाता है और वह दूरी आव्युह का उपयोग होता है। इस प्रकार दूसरी ओर, एकल-लिंकेज दूरी के विशेष स्तिथि को छोड़कर, किसी भी एल्गोरिदम ($$\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 -मीन्स होता हैं।

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

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

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


 * इसमें संभावना है कि प्रतियोगी समूह ही वितरण फलन (वी-लिंकेज) से उत्पन्न होते रहते हैं।
 * 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# में अनेक पदानुक्रमित समूहन एल्गोरिदम (सिंगल-लिंक, पूर्ण-लिंक, वार्ड) प्रयुक्त करता है।
 * ईएलकेआई में अनेक पदानुक्रमित क्लस्टरिंग एल्गोरिदम होते हैं | और इसमें विभिन्न लिंकेज कूट नीतियॉ सम्मिलित होती हैं और इसमें कुशल स्लिंक, स्लिंक और एंडरबर्ग एल्गोरिदम, डेंड्रोग्राम से फ्लेक्सिबल क्लस्टर निष्कर्षण और विभिन्न अन्य क्लस्टर विश्लेषण एल्गोरिदम भी सम्मिलित हुए हैं।
 * जूलिया (प्रोग्रामिंग भाषा) का क्लस्टरिंग.जे.एल पैकेज के अंदर कार्यान्वयन होता है।
 * ऑक्टेव,एमएटीएलएबी का जीएनयू एनालॉग फलन "लिंकेज" में पदानुक्रमित क्लस्टरिंग प्रयुक्त करता है।
 * ऑरेंज, डेटा माइनिंग सॉफ्टवेयर सूट, जिसमें इंटरैक्टिव डेंड्रोग्राम दृश्यकरण के साथ पदानुक्रमित क्लस्टरिंग सम्मिलित है।
 * आर (प्रोग्रामिंग भाषा) में अंतर्निहित फलन और पैकेज हैं जो पदानुक्रमित क्लस्टरिंग के लिए फलन प्रदान करते हैं।
 * एससीआईपीवाई कुशल स्लिंक एल्गोरिथ्म सहित, पायथन में पदानुक्रमित समूहन प्रयुक्त करता है।
 * स्किकिट-लर्न पायथन में पदानुक्रमित समूहन को भी प्रयुक्त करता है।
 * वेका (मशीन लर्निंग) में पदानुक्रमित समूह विश्लेषण सम्मिलित है।

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

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

यह भी देखें

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