निकटवर्ती घटकों का विश्लेषण: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
{{Machine learning bar}} | {{Machine learning bar}} | ||
निकटवर्ती घटकों का विश्लेषण [[सांख्यिकीय वर्गीकरण]] के लिए पर्यवेक्षित सीखने की विधि है जो डेटा पर दिए गए [[मीट्रिक (गणित)|मापन (गणित)]] के अनुसार अलग-अलग वर्गों में बहुभिन्नरूपी सांख्यिकी डेटा को विभाजित करता है। कार्यात्मक रूप से, यह K-निकटतम | निकटवर्ती घटकों का विश्लेषण [[सांख्यिकीय वर्गीकरण]] के लिए पर्यवेक्षित सीखने की विधि है जो डेटा पर दिए गए [[मीट्रिक (गणित)|मापन (गणित)]] के अनुसार अलग-अलग वर्गों में बहुभिन्नरूपी सांख्यिकी डेटा को विभाजित करता है। कार्यात्मक रूप से, यह K-निकटतम निकटवर्तीय एल्गोरिदम के समान उद्देश्यों को पूर्ण करता है, और ''प्रसंभाव्य निकटतम निकटवर्तीय'' नामक संबंधित अवधारणा का प्रत्यक्ष उपयोग करता है। | ||
== परिभाषा == | == परिभाषा == | ||
निकटवर्ती के घटकों के विश्लेषण का उद्देश्य इनपुट डेटा के रैखिक परिवर्तन को ढूंढकर दूरी मापन सीखना है ताकि औसत लीव-वन-आउट (एलओओ) वर्गीकरण निष्पादन परिवर्तित स्थान में अधिकतम हो। एल्गोरिदम की मुख्य अंतर्दृष्टि | निकटवर्ती के घटकों के विश्लेषण का उद्देश्य इनपुट डेटा के रैखिक परिवर्तन को ढूंढकर दूरी मापन सीखना है ताकि औसत लीव-वन-आउट (एलओओ) वर्गीकरण निष्पादन परिवर्तित स्थान में अधिकतम हो। एल्गोरिदम की मुख्य अंतर्दृष्टि यह है कि परिवर्तन के अनुरूप एक आव्यूह <math>A</math> को <math>A</math> के लिए एक अलग उद्देश्य फलन को परिभाषित करके पाया जा सकता है, इसके बाद संयुग्मित प्रवणता अवरोहण जैसे पुनरावृत्त हलकर्ता का उपयोग किया जा सकता है। इस एल्गोरिथ्म का एक लाभ यह है कि वर्ग <math>k</math>की संख्या को एक अदिश स्थिरांक तक <math>A</math> के फलन के रूप में निर्धारित किया जा सकता है। इसलिए, एल्गोरिदम का यह उपयोग [[मॉडल चयन]] के समस्या को संबोधित करता है। | ||
== स्पष्टीकरण == | == स्पष्टीकरण == | ||
<math>A</math> को परिभाषित करने के लिए, हम परिवर्तित स्थान में वर्गीकरण यथार्थता का वर्णन करने वाले एक उद्देश्य फलन को परिभाषित करते हैं और <math>A^*</math> को निर्धारित करने का प्रयास करते हैं ताकि यह उद्देश्य फलन अधिकतम हो। | |||
<math>A^* = \mbox{argmax}_A f(A)</math> | <math>A^* = \mbox{argmax}_A f(A)</math> | ||
=== लीव-वन-आउट (एलओओ) वर्गीकरण === | === लीव-वन-आउट (एलओओ) वर्गीकरण === | ||
किसी एकल डेटा बिंदु के वर्ग लेबल की | किसी दिए गए दूरी मापन के साथ उसके <math>k</math>-निकटतम निकटवर्तीय की सहमति से एकल डेटा बिंदु के वर्ग लेबल की भविष्यवाणी करने पर विचार करें। इसे लीव-वन-आउट वर्गीकरण के रूप में जाना जाता है। यद्यपि, सभी बिंदुओं को एक रैखिक परिवर्तन से गुज़रने के बाद निकटतम-निकटवर्तीय <math>C_i</math> का समूह अत्यधिक भिन्न हो सकता है। विशेष रूप से, किसी बिंदु के लिए निकटवर्तीय का समूह <math>A</math> के अवयवों में सुचारू परिवर्तनों के उत्तर में अलग-अलग परिवर्तनों से गुजर सकता है, जिसका अर्थ है कि किसी बिंदु के निकटवर्तीय के आधार पर कोई भी उद्देश्य फलन <math>f(\cdot)</math> टुकड़े-टुकड़े-स्थिर होगा, और इसलिए अलग-अलग नहीं होगा। | ||
=== | === हल === | ||
हम [[स्टोकेस्टिक ग्रेडिएंट डिसेंट|प्रसंभाव्य | हम [[स्टोकेस्टिक ग्रेडिएंट डिसेंट|प्रसंभाव्य प्रवणता अवरोहण]] से प्रेरित दृष्टिकोण का उपयोग करके इस जटिलता को हल कर सकते हैं। एलओओ-वर्गीकरण में प्रत्येक परिवर्तित बिंदु पर <math>k</math>-निकटतम निकटवर्तीय पर विचार करने के अतिरिक्त, हम संपूर्ण रूपांतरित डेटा समूह को प्रसंभाव्य निकटतम निकटवर्तीय के रूप में मानेंगे। हम किसी दिए गए एलओओ-वर्गीकरण बिंदु और रूपांतरित स्थान में दूसरे बिंदु के बीच वर्गित [[यूक्लिडियन दूरी]] के [[सॉफ्टमैक्स सक्रियण फ़ंक्शन|सॉफ्टमैक्स सक्रियण फलन]] का उपयोग करके इन्हें परिभाषित करते हैं: | ||
<math>p_{ij} = | <math>p_{ij} = | ||
Line 21: | Line 21: | ||
\end{cases} | \end{cases} | ||
</math> | </math> | ||
<math> | डेटा बिंदु <math>i</math> को ठीक रूप से वर्गीकृत करने की प्रायिकता उसके प्रत्येक निकटवर्ती बिंदु को समान वर्ग <math>C_i</math> के साथ वर्गीकृत करने की प्रायिकता है:: | ||
<math>p_i = \sum_{j \in C_i} p_{ij} \quad </math> जहाँ <math>p_{ij}</math> बिंदु <math>i</math> के निकटवर्ती <math>j</math> को वर्गीकृत करने की प्रायिकता है। | |||
एलओओ वर्गीकरण का उपयोग करके उद्देश्य फलन को परिभाषित करें, इस बार संपूर्ण डेटा समूह को प्रसंभाव्य निकटतम निकटवर्तीय के रूप में उपयोग करें: | |||
<math>f(A) = \sum_i \sum_{j \in C_i} p_{ij} = \sum_i p_i</math> | <math>f(A) = \sum_i \sum_{j \in C_i} p_{ij} = \sum_i p_i</math> | ||
ध्यान दें कि प्रसंभाव्य निकटतम निकटवर्तीय के अंतर्गत, एक बिंदु <math>i</math> के लिए सर्वसम्मति वर्ग अपने निकटवर्तीय <math>j \in C_i</math> अर्थात: <math>P(Class(X_i) = Class(X_j)) = p_{ij}</math> पर वितरण से खींचे गए प्रतिदर्शों की अनंत संख्या की सीमा में एक बिंदु के वर्ग का अपेक्षित मान है। इस प्रकार अनुमानित वर्ग प्रत्येक दूसरे बिंदु के वर्गों का संयोजन है, जिसे प्रत्येक <math>j \in C_j</math> के लिए सॉफ्टमैक्स फलन द्वारा भारित होता है जहाँ <math>C_j</math> अब संपूर्ण परिवर्तित डेटा समूह है। | |||
उद्देश्य फलन का यह विकल्प ठीक है क्योंकि यह <math>A</math> (<math>x_{ij} = x_i - x_j</math> को इंगित करें) के संबंध में भिन्न है: | |||
<math> | <math> | ||
Line 39: | Line 41: | ||
= 2A \sum_i \left ( p_i\sum_k p_{ik}x_{ik}x_{ik}^T - \sum_{j \in C_i} p_{ij}x_{ij}x_{ij}^T \right ) | = 2A \sum_i \left ( p_i\sum_k p_{ik}x_{ik}x_{ik}^T - \sum_{j \in C_i} p_{ij}x_{ij}x_{ij}^T \right ) | ||
</math> | </math> | ||
<math>A</math> के लिए प्रवणता प्राप्त करने का अर्थ है कि इसे संयुग्मी प्रवणता विधि जैसे पुनरावृत्त हलकर्ता के साथ पाया जा सकता है। ध्यान दें कि व्यवहार में, रुचि के बिंदु से दूर के बिंदुओं के तीव्रता से घटते योगदान के कारण प्रवणता के अधिकांश आंतरिक शब्द महत्वहीन योगदान का मूल्यांकन करते हैं। इसका अर्थ यह है कि प्रवणता के आंतरिक योग को छोटा किया जा सकता है, जिसके परिणामस्वरूप बड़े डेटा समूह के लिए भी उचित गणना समय प्राप्त होता है। | |||
=== वैकल्पिक सूत्रीकरण === | === वैकल्पिक सूत्रीकरण === | ||
"<math>f(\cdot)</math> को अधिकतम करना अनुमानित वर्ग वितरण और वास्तविक वर्ग वितरण के बीच <math>L_1</math>-दूरी को कम करने के बराबर है (अर्थात: जहां <math>A</math> द्वारा प्रेरित <math>p_i</math> सभी 1 के बराबर हैं)। प्राकृतिक विकल्प केएल-भिन्नता है, जो निम्नलिखित उद्देश्य फलन और प्रवणता को प्रेरित करता है:" (गोल्डबर्गर 2005) | |||
<math> | <math> | ||
Line 52: | Line 55: | ||
\frac{\partial g}{\partial A} = 2A \sum_i \left ( \sum_k p_{ik} x_{ik} x_{ik}^T - \frac{\sum_{j \in C_i} p_{ij} x_{ij} x_{ij}^T }{\sum_{j \in C_i} p_{ij}} \right ) | \frac{\partial g}{\partial A} = 2A \sum_i \left ( \sum_k p_{ik} x_{ik} x_{ik}^T - \frac{\sum_{j \in C_i} p_{ij} x_{ij} x_{ij}^T }{\sum_{j \in C_i} p_{ij}} \right ) | ||
</math> | </math> | ||
व्यवहार में, का | |||
व्यवहार में, इस फलन का उपयोग करके <math>A</math> का अनुकूलन से मूल के समान निष्पादन परिणाम देता है। | |||
==इतिहास और पृष्ठभूमि== | ==इतिहास और पृष्ठभूमि== | ||
Line 58: | Line 62: | ||
==यह भी देखें== | ==यह भी देखें== | ||
*[[ वर्णक्रमीय क्लस्टरिंग ]] | *[[ वर्णक्रमीय क्लस्टरिंग |वर्णक्रमीय क्लस्टरिंग]] | ||
*बड़ा अंतर निकटतम निकटवर्ती | *बड़ा अंतर निकटतम निकटवर्ती | ||
== संदर्भ == | == संदर्भ == | ||
* | *जे. गोल्डबर्गर, जी. हिंटन, एस. रोविस, आर. सलाखुतदीनोव। (2005) ''[http://www.csri.utoronto.ca/~roweis/papers/ncanips.pdf निकटवर्ती के घटकों का विश्लेषण].'' न्यूरल इन्फर्मेशन प्रोसेसिंग सिस्टम्स में प्रगति। 17, 513-520, 2005। | ||
==बाहरी संबंध == | ==बाहरी संबंध == | ||
=== सॉफ्टवेयर === | === सॉफ्टवेयर === | ||
* [[ mlpack | mlpack]] में [[C++]] कार्यान्वयन | * [[ mlpack | mlpack]] में [[C++]] कार्यान्वयन सम्मिलित है | ||
* [https://github.com/vomjom/nca nca] (C++) | * [https://github.com/vomjom/nca nca] (C++) | ||
* [[स्किकिट-लर्न]] का [https://scikit-learn.org/stable/modules/generated/sklearn.neighbors.NeighborhoodComponentsAnaलिसिस.html NeighborhoodComponentsAnalyss] कार्यान्वयन ([[पायथन (प्रोग्रामिंग भाषा)]]) | * [[स्किकिट-लर्न]] का [https://scikit-learn.org/stable/modules/generated/sklearn.neighbors.NeighborhoodComponentsAnaलिसिस.html NeighborhoodComponentsAnalyss] कार्यान्वयन ([[पायथन (प्रोग्रामिंग भाषा)]]) |
Revision as of 22:57, 17 July 2023
Part of a series on |
Machine learning and data mining |
---|
निकटवर्ती घटकों का विश्लेषण सांख्यिकीय वर्गीकरण के लिए पर्यवेक्षित सीखने की विधि है जो डेटा पर दिए गए मापन (गणित) के अनुसार अलग-अलग वर्गों में बहुभिन्नरूपी सांख्यिकी डेटा को विभाजित करता है। कार्यात्मक रूप से, यह K-निकटतम निकटवर्तीय एल्गोरिदम के समान उद्देश्यों को पूर्ण करता है, और प्रसंभाव्य निकटतम निकटवर्तीय नामक संबंधित अवधारणा का प्रत्यक्ष उपयोग करता है।
परिभाषा
निकटवर्ती के घटकों के विश्लेषण का उद्देश्य इनपुट डेटा के रैखिक परिवर्तन को ढूंढकर दूरी मापन सीखना है ताकि औसत लीव-वन-आउट (एलओओ) वर्गीकरण निष्पादन परिवर्तित स्थान में अधिकतम हो। एल्गोरिदम की मुख्य अंतर्दृष्टि यह है कि परिवर्तन के अनुरूप एक आव्यूह को के लिए एक अलग उद्देश्य फलन को परिभाषित करके पाया जा सकता है, इसके बाद संयुग्मित प्रवणता अवरोहण जैसे पुनरावृत्त हलकर्ता का उपयोग किया जा सकता है। इस एल्गोरिथ्म का एक लाभ यह है कि वर्ग की संख्या को एक अदिश स्थिरांक तक के फलन के रूप में निर्धारित किया जा सकता है। इसलिए, एल्गोरिदम का यह उपयोग मॉडल चयन के समस्या को संबोधित करता है।
स्पष्टीकरण
को परिभाषित करने के लिए, हम परिवर्तित स्थान में वर्गीकरण यथार्थता का वर्णन करने वाले एक उद्देश्य फलन को परिभाषित करते हैं और को निर्धारित करने का प्रयास करते हैं ताकि यह उद्देश्य फलन अधिकतम हो।
लीव-वन-आउट (एलओओ) वर्गीकरण
किसी दिए गए दूरी मापन के साथ उसके -निकटतम निकटवर्तीय की सहमति से एकल डेटा बिंदु के वर्ग लेबल की भविष्यवाणी करने पर विचार करें। इसे लीव-वन-आउट वर्गीकरण के रूप में जाना जाता है। यद्यपि, सभी बिंदुओं को एक रैखिक परिवर्तन से गुज़रने के बाद निकटतम-निकटवर्तीय का समूह अत्यधिक भिन्न हो सकता है। विशेष रूप से, किसी बिंदु के लिए निकटवर्तीय का समूह के अवयवों में सुचारू परिवर्तनों के उत्तर में अलग-अलग परिवर्तनों से गुजर सकता है, जिसका अर्थ है कि किसी बिंदु के निकटवर्तीय के आधार पर कोई भी उद्देश्य फलन टुकड़े-टुकड़े-स्थिर होगा, और इसलिए अलग-अलग नहीं होगा।
हल
हम प्रसंभाव्य प्रवणता अवरोहण से प्रेरित दृष्टिकोण का उपयोग करके इस जटिलता को हल कर सकते हैं। एलओओ-वर्गीकरण में प्रत्येक परिवर्तित बिंदु पर -निकटतम निकटवर्तीय पर विचार करने के अतिरिक्त, हम संपूर्ण रूपांतरित डेटा समूह को प्रसंभाव्य निकटतम निकटवर्तीय के रूप में मानेंगे। हम किसी दिए गए एलओओ-वर्गीकरण बिंदु और रूपांतरित स्थान में दूसरे बिंदु के बीच वर्गित यूक्लिडियन दूरी के सॉफ्टमैक्स सक्रियण फलन का उपयोग करके इन्हें परिभाषित करते हैं:
डेटा बिंदु को ठीक रूप से वर्गीकृत करने की प्रायिकता उसके प्रत्येक निकटवर्ती बिंदु को समान वर्ग के साथ वर्गीकृत करने की प्रायिकता है::
जहाँ बिंदु के निकटवर्ती को वर्गीकृत करने की प्रायिकता है।
एलओओ वर्गीकरण का उपयोग करके उद्देश्य फलन को परिभाषित करें, इस बार संपूर्ण डेटा समूह को प्रसंभाव्य निकटतम निकटवर्तीय के रूप में उपयोग करें:
ध्यान दें कि प्रसंभाव्य निकटतम निकटवर्तीय के अंतर्गत, एक बिंदु के लिए सर्वसम्मति वर्ग अपने निकटवर्तीय अर्थात: पर वितरण से खींचे गए प्रतिदर्शों की अनंत संख्या की सीमा में एक बिंदु के वर्ग का अपेक्षित मान है। इस प्रकार अनुमानित वर्ग प्रत्येक दूसरे बिंदु के वर्गों का संयोजन है, जिसे प्रत्येक के लिए सॉफ्टमैक्स फलन द्वारा भारित होता है जहाँ अब संपूर्ण परिवर्तित डेटा समूह है।
उद्देश्य फलन का यह विकल्प ठीक है क्योंकि यह ( को इंगित करें) के संबंध में भिन्न है:
के लिए प्रवणता प्राप्त करने का अर्थ है कि इसे संयुग्मी प्रवणता विधि जैसे पुनरावृत्त हलकर्ता के साथ पाया जा सकता है। ध्यान दें कि व्यवहार में, रुचि के बिंदु से दूर के बिंदुओं के तीव्रता से घटते योगदान के कारण प्रवणता के अधिकांश आंतरिक शब्द महत्वहीन योगदान का मूल्यांकन करते हैं। इसका अर्थ यह है कि प्रवणता के आंतरिक योग को छोटा किया जा सकता है, जिसके परिणामस्वरूप बड़े डेटा समूह के लिए भी उचित गणना समय प्राप्त होता है।
वैकल्पिक सूत्रीकरण
" को अधिकतम करना अनुमानित वर्ग वितरण और वास्तविक वर्ग वितरण के बीच -दूरी को कम करने के बराबर है (अर्थात: जहां द्वारा प्रेरित सभी 1 के बराबर हैं)। प्राकृतिक विकल्प केएल-भिन्नता है, जो निम्नलिखित उद्देश्य फलन और प्रवणता को प्रेरित करता है:" (गोल्डबर्गर 2005)
व्यवहार में, इस फलन का उपयोग करके का अनुकूलन से मूल के समान निष्पादन परिणाम देता है।
इतिहास और पृष्ठभूमि
निकटवर्ती के घटकों का विश्लेषण 2004 में टोरंटो विश्वविद्यालय के कंप्यूटर विज्ञान विभाग में जैकब गोल्डबर्गर, सैम रोविस, रुस्लान सलाखुदिनोव और ज्योफ हिंटन द्वारा विकसित किया गया था।
यह भी देखें
- वर्णक्रमीय क्लस्टरिंग
- बड़ा अंतर निकटतम निकटवर्ती
संदर्भ
- जे. गोल्डबर्गर, जी. हिंटन, एस. रोविस, आर. सलाखुतदीनोव। (2005) निकटवर्ती के घटकों का विश्लेषण. न्यूरल इन्फर्मेशन प्रोसेसिंग सिस्टम्स में प्रगति। 17, 513-520, 2005।
बाहरी संबंध
सॉफ्टवेयर
- mlpack में C++ कार्यान्वयन सम्मिलित है
- nca (C++)
- स्किकिट-लर्न का NeighborhoodComponentsAnalyss कार्यान्वयन (पायथन (प्रोग्रामिंग भाषा))
श्रेणी:सांख्यिकीय वर्गीकरण