के-एसवीडी: Difference between revisions

From Vigyanwiki
(Created page with "{{Short description|Dictionary learning algorithm}} {{machine learning bar}} व्यावहारिक गणित में, ''k''-SVD एक एकल मूल्...")
 
No edit summary
Line 1: Line 1:
{{Short description|Dictionary learning algorithm}}
{{Short description|Dictionary learning algorithm}}
{{machine learning bar}}
{{machine learning bar}}
[[व्यावहारिक गणित]] में, ''k''-SVD एक एकल मूल्य अपघटन दृष्टिकोण के माध्यम से, [[विरल प्रतिनिधित्व]] के लिए एक शब्दकोश बनाने के लिए एक शब्दकोश सीखने का एल्गोरिदम है। ''k''-SVD, k-मीन्स क्लस्टरिंग|''k''-मीन्स क्लस्टरिंग विधि का एक सामान्यीकरण है, और यह वर्तमान शब्दकोश के आधार पर इनपुट डेटा को विरल कोडिंग के बीच पुनरावृत्त रूप से बदलकर और डेटा को बेहतर ढंग से फिट करने के लिए शब्दकोश में परमाणुओं को अपडेट करके काम करता है। यह संरचनात्मक रूप से अपेक्षा अधिकतमकरण (ईएम) एल्गोरिदम से संबंधित है।<ref name="aharon2006">{{Citation
[[व्यावहारिक गणित]] में, ''k''-SVD एकल मूल्य अपघटन दृष्टिकोण के माध्यम से, [[विरल प्रतिनिधित्व]] के लिए शब्दकोश बनाने के लिए शब्दकोश सीखने का एल्गोरिदम है। ''k''-SVD, k-मीन्स क्लस्टरिंग|''k''-मीन्स क्लस्टरिंग विधि का सामान्यीकरण है, और यह वर्तमान शब्दकोश के आधार पर इनपुट डेटा को विरल कोडिंग के बीच पुनरावृत्त रूप से बदलकर और डेटा को बेहतर ढंग से फिट करने के लिए शब्दकोश में परमाणुओं को अपडेट करके काम करता है। यह संरचनात्मक रूप से अपेक्षा अधिकतमकरण (ईएम) एल्गोरिदम से संबंधित है।<ref name="aharon2006">{{Citation
|author1=Michal Aharon|author1-link=Michal Aharon |author2=Michael Elad |author3=Alfred Bruckstein | title = K-SVD: An Algorithm for Designing Overcomplete Dictionaries for Sparse Representation
|author1=Michal Aharon|author1-link=Michal Aharon |author2=Michael Elad |author3=Alfred Bruckstein | title = K-SVD: An Algorithm for Designing Overcomplete Dictionaries for Sparse Representation
| journal = IEEE Transactions on Signal Processing
| journal = IEEE Transactions on Signal Processing
Line 25: Line 25:


== के-एसवीडी एल्गोरिथ्म ==
== के-एसवीडी एल्गोरिथ्म ==
k-SVD, k-साधनों का एक प्रकार का सामान्यीकरण है, जो इस प्रकार है।
k-SVD, k-साधनों का प्रकार का सामान्यीकरण है, जो इस प्रकार है।
K-मीन्स क्लस्टरिंग|k-मीन्स क्लस्टरिंग को विरल प्रतिनिधित्व की एक विधि के रूप में भी माना जा सकता है। अर्थात्, डेटा नमूनों का प्रतिनिधित्व करने के लिए सर्वोत्तम संभव कोडबुक ढूंढना <math>\{y_i\}^M_{i=1}</math> निकटतम पड़ोसी खोज द्वारा, हल करके
K-मीन्स क्लस्टरिंग|k-मीन्स क्लस्टरिंग को विरल प्रतिनिधित्व की विधि के रूप में भी माना जा सकता है। अर्थात्, डेटा नमूनों का प्रतिनिधित्व करने के लिए सर्वोत्तम संभव कोडबुक ढूंढना <math>\{y_i\}^M_{i=1}</math> निकटतम पड़ोसी खोज द्वारा, हल करके
:<math>
:<math>
  \quad  \min \limits _{D, X}  \{ \|Y - DX\|^2_F\} \qquad \text{subject to } \forall i, x_i = e_k \text{ for some } k.
  \quad  \min \limits _{D, X}  \{ \|Y - DX\|^2_F\} \qquad \text{subject to } \forall i, x_i = e_k \text{ for some } k.
Line 37: Line 37:
जो कि k-मीन्स है जो वज़न की अनुमति देता है।
जो कि k-मीन्स है जो वज़न की अनुमति देता है।


अक्षर F [[फ्रोबेनियस मानदंड]] को दर्शाता है। विरल प्रतिनिधित्व शब्द <math>x_i = e_k</math> शब्दकोश में केवल एक परमाणु (स्तंभ) का उपयोग करने के लिए k-मीन्स एल्गोरिदम लागू करता है <math>D</math>. इस बाधा को कम करने के लिए, के-एसवीडी एल्गोरिदम का लक्ष्य सिग्नल को परमाणुओं के रैखिक संयोजन के रूप में प्रस्तुत करना है <math>D</math>.
अक्षर F [[फ्रोबेनियस मानदंड]] को दर्शाता है। विरल प्रतिनिधित्व शब्द <math>x_i = e_k</math> शब्दकोश में केवल परमाणु (स्तंभ) का उपयोग करने के लिए k-मीन्स एल्गोरिदम लागू करता है <math>D</math>. इस बाधा को कम करने के लिए, के-एसवीडी एल्गोरिदम का लक्ष्य सिग्नल को परमाणुओं के रैखिक संयोजन के रूप में प्रस्तुत करना है <math>D</math>.


के-एसवीडी एल्गोरिदम के-मीन्स एल्गोरिदम के निर्माण प्रवाह का अनुसरण करता है। हालाँकि, k-साधनों के विपरीत, परमाणुओं के एक रैखिक संयोजन को प्राप्त करने के लिए <math>D</math>, बाधा के विरल पद को शिथिल कर दिया गया है ताकि प्रत्येक कॉलम की गैर-शून्य प्रविष्टियों की संख्या हो <math>x_i</math> 1 से अधिक, लेकिन एक संख्या से कम हो सकता है <math>T_0</math>.
के-एसवीडी एल्गोरिदम के-मीन्स एल्गोरिदम के निर्माण प्रवाह का अनुसरण करता है। हालाँकि, k-साधनों के विपरीत, परमाणुओं के रैखिक संयोजन को प्राप्त करने के लिए <math>D</math>, बाधा के विरल पद को शिथिल कर दिया गया है ताकि प्रत्येक कॉलम की गैर-शून्य प्रविष्टियों की संख्या हो <math>x_i</math> 1 से अधिक, लेकिन संख्या से कम हो सकता है <math>T_0</math>.


तो, वस्तुनिष्ठ फलन बन जाता है
तो, वस्तुनिष्ठ फलन बन जाता है
Line 50: Line 50:
  \quad  \min \limits _{D, X}  \sum_{i} \|x_i\|_0  \qquad \text{subject to } \quad \forall i \;,  \|Y - DX\|^2_F \le \epsilon.
  \quad  \min \limits _{D, X}  \sum_{i} \|x_i\|_0  \qquad \text{subject to } \quad \forall i \;,  \|Y - DX\|^2_F \le \epsilon.
</math>
</math>
K-SVD एल्गोरिथम में, <math>D</math> पहला निश्चित और सर्वोत्तम गुणांक मैट्रिक्स है <math>X</math> पाया जाता है। वास्तव में इष्टतम खोजने के रूप में <math>X</math> कठिन है, हम सन्निकटन खोज पद्धति का उपयोग करते हैं। ओएमपी जैसे किसी भी एल्गोरिदम, ऑर्थोगोनल मिलान खोज का उपयोग गुणांक की गणना के लिए किया जा सकता है, जब तक कि यह गैर-शून्य प्रविष्टियों की एक निश्चित और पूर्व निर्धारित संख्या के साथ समाधान प्रदान कर सकता है <math>T_0</math>.
K-SVD एल्गोरिथम में, <math>D</math> पहला निश्चित और सर्वोत्तम गुणांक मैट्रिक्स है <math>X</math> पाया जाता है। वास्तव में इष्टतम खोजने के रूप में <math>X</math> कठिन है, हम सन्निकटन खोज पद्धति का उपयोग करते हैं। ओएमपी जैसे किसी भी एल्गोरिदम, ऑर्थोगोनल मिलान खोज का उपयोग गुणांक की गणना के लिए किया जा सकता है, जब तक कि यह गैर-शून्य प्रविष्टियों की निश्चित और पूर्व निर्धारित संख्या के साथ समाधान प्रदान कर सकता है <math>T_0</math>.


विरल कोडिंग कार्य के बाद, अगला कार्य एक बेहतर शब्दकोश की खोज करना है <math>D</math>. हालाँकि, एक समय में संपूर्ण शब्दकोश ढूँढना असंभव है, इसलिए प्रक्रिया शब्दकोश के केवल एक कॉलम को अद्यतन करने की है <math>D</math> हर बार, ठीक करते समय <math>X</math>. का अद्यतन <math>k</math>-वें कॉलम को दंड अवधि के रूप में फिर से लिखकर किया जाता है
विरल कोडिंग कार्य के बाद, अगला कार्य बेहतर शब्दकोश की खोज करना है <math>D</math>. हालाँकि, समय में संपूर्ण शब्दकोश ढूँढना असंभव है, इसलिए प्रक्रिया शब्दकोश के केवल कॉलम को अद्यतन करने की है <math>D</math> हर बार, ठीक करते समय <math>X</math>. का अद्यतन <math>k</math>-वें कॉलम को दंड अवधि के रूप में फिर से लिखकर किया जाता है
:<math>
:<math>
\|Y - DX\|^2_F =  \left\| Y - \sum_{j = 1}^K d_j x^\text{T}_j\right\|^2_F = \left\| \left(Y - \sum_{j \ne k} d_j x^\text{T}_j \right)  -  d_k x^\text{T}_k \right\|^2_F = \| E_k - d_k x^\text{T}_k\|^2_F
\|Y - DX\|^2_F =  \left\| Y - \sum_{j = 1}^K d_j x^\text{T}_j\right\|^2_F = \left\| \left(Y - \sum_{j \ne k} d_j x^\text{T}_j \right)  -  d_k x^\text{T}_k \right\|^2_F = \| E_k - d_k x^\text{T}_k\|^2_F
Line 58: Line 58:
कहाँ <math>x_k^\text{T}</math> X की k-वीं पंक्ति को दर्शाता है।
कहाँ <math>x_k^\text{T}</math> X की k-वीं पंक्ति को दर्शाता है।


गुणन विघटित करके <math>DX</math> के योग में <math>K</math> रैंक 1 मैट्रिक्स, हम दूसरे को मान सकते हैं <math>K-1</math> शर्तों को निश्चित माना जाता है, और <math>k</math>-वह अज्ञात रहता है. इस चरण के बाद, हम न्यूनतमकरण समस्या को अनुमानित रूप से हल कर सकते हैं <math>E_k</math> ए के साथ शब्द <math>rank -1</math> मैट्रिक्स एकवचन मूल्य अपघटन का उपयोग कर, फिर अद्यतन करें <math>d_k</math> इसके साथ। हालाँकि, वेक्टर का नया समाधान <math>x^\text{T}_k</math> इसके भरे जाने की बहुत संभावना है, क्योंकि विरलता बाधा लागू नहीं की गई है।
गुणन विघटित करके <math>DX</math> के योग में <math>K</math> रैंक 1 मैट्रिक्स, हम दूसरे को मान सकते हैं <math>K-1</math> शर्तों को निश्चित माना जाता है, और <math>k</math>-वह अज्ञात रहता है. इस चरण के बाद, हम न्यूनतमकरण समस्या को अनुमानित रूप से हल कर सकते हैं <math>E_k</math> ए के साथ शब्द <math>rank -1</math> मैट्रिक्स एकवचन मूल्य अपघटन का उपयोग कर, फिर अद्यतन करें <math>d_k</math> इसके साथ। हालाँकि, वेक्टर का नया समाधान <math>x^\text{T}_k</math> इसके भरे जाने की बहुत संभावना है, क्योंकि विरलता बाधा लागू नहीं की गई है।


इस समस्या को ठीक करने के लिए परिभाषित करें <math> \omega_k </math> जैसा
इस समस्या को ठीक करने के लिए परिभाषित करें <math> \omega_k </math> जैसा
Line 73: Line 73:


==सीमाएँ==
==सीमाएँ==
डेटासेट के लिए उपयुक्त शब्दकोश चुनना एक गैर-उत्तल समस्या है, और के-एसवीडी एक पुनरावृत्त अद्यतन द्वारा संचालित होता है जो वैश्विक इष्टतम खोजने की गारंटी नहीं देता है।<ref name="rubinstein2010"/>हालाँकि, इस उद्देश्य के लिए यह अन्य एल्गोरिदम के लिए सामान्य है, और k-SVD व्यवहार में काफी अच्छी तरह से काम करता है।<ref name="rubinstein2010"/>{{better source|date=May 2014}}
डेटासेट के लिए उपयुक्त शब्दकोश चुनना गैर-उत्तल समस्या है, और के-एसवीडी पुनरावृत्त अद्यतन द्वारा संचालित होता है जो वैश्विक इष्टतम खोजने की गारंटी नहीं देता है।<ref name="rubinstein2010"/>हालाँकि, इस उद्देश्य के लिए यह अन्य एल्गोरिदम के लिए सामान्य है, और k-SVD व्यवहार में काफी अच्छी तरह से काम करता है।<ref name="rubinstein2010"/>


==यह भी देखें==
==यह भी देखें==

Revision as of 20:08, 3 August 2023

व्यावहारिक गणित में, k-SVD एकल मूल्य अपघटन दृष्टिकोण के माध्यम से, विरल प्रतिनिधित्व के लिए शब्दकोश बनाने के लिए शब्दकोश सीखने का एल्गोरिदम है। k-SVD, k-मीन्स क्लस्टरिंग|k-मीन्स क्लस्टरिंग विधि का सामान्यीकरण है, और यह वर्तमान शब्दकोश के आधार पर इनपुट डेटा को विरल कोडिंग के बीच पुनरावृत्त रूप से बदलकर और डेटा को बेहतर ढंग से फिट करने के लिए शब्दकोश में परमाणुओं को अपडेट करके काम करता है। यह संरचनात्मक रूप से अपेक्षा अधिकतमकरण (ईएम) एल्गोरिदम से संबंधित है।[1][2] के-एसवीडी को इमेज प्रोसेसिंग, ऑडियो प्रोसेसिंग, जीव विज्ञान और दस्तावेज़ विश्लेषण जैसे अनुप्रयोगों में व्यापक रूप से उपयोग में पाया जा सकता है।

के-एसवीडी एल्गोरिथ्म

k-SVD, k-साधनों का प्रकार का सामान्यीकरण है, जो इस प्रकार है। K-मीन्स क्लस्टरिंग|k-मीन्स क्लस्टरिंग को विरल प्रतिनिधित्व की विधि के रूप में भी माना जा सकता है। अर्थात्, डेटा नमूनों का प्रतिनिधित्व करने के लिए सर्वोत्तम संभव कोडबुक ढूंढना निकटतम पड़ोसी खोज द्वारा, हल करके

जो लगभग बराबर है

जो कि k-मीन्स है जो वज़न की अनुमति देता है।

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

के-एसवीडी एल्गोरिदम के-मीन्स एल्गोरिदम के निर्माण प्रवाह का अनुसरण करता है। हालाँकि, k-साधनों के विपरीत, परमाणुओं के रैखिक संयोजन को प्राप्त करने के लिए , बाधा के विरल पद को शिथिल कर दिया गया है ताकि प्रत्येक कॉलम की गैर-शून्य प्रविष्टियों की संख्या हो 1 से अधिक, लेकिन संख्या से कम हो सकता है .

तो, वस्तुनिष्ठ फलन बन जाता है

या किसी अन्य वस्तुनिष्ठ रूप में

K-SVD एल्गोरिथम में, पहला निश्चित और सर्वोत्तम गुणांक मैट्रिक्स है पाया जाता है। वास्तव में इष्टतम खोजने के रूप में कठिन है, हम सन्निकटन खोज पद्धति का उपयोग करते हैं। ओएमपी जैसे किसी भी एल्गोरिदम, ऑर्थोगोनल मिलान खोज का उपयोग गुणांक की गणना के लिए किया जा सकता है, जब तक कि यह गैर-शून्य प्रविष्टियों की निश्चित और पूर्व निर्धारित संख्या के साथ समाधान प्रदान कर सकता है .

विरल कोडिंग कार्य के बाद, अगला कार्य बेहतर शब्दकोश की खोज करना है . हालाँकि, समय में संपूर्ण शब्दकोश ढूँढना असंभव है, इसलिए प्रक्रिया शब्दकोश के केवल कॉलम को अद्यतन करने की है हर बार, ठीक करते समय . का अद्यतन -वें कॉलम को दंड अवधि के रूप में फिर से लिखकर किया जाता है

कहाँ X की k-वीं पंक्ति को दर्शाता है।

गुणन विघटित करके के योग में रैंक 1 मैट्रिक्स, हम दूसरे को मान सकते हैं शर्तों को निश्चित माना जाता है, और -वह अज्ञात रहता है. इस चरण के बाद, हम न्यूनतमकरण समस्या को अनुमानित रूप से हल कर सकते हैं ए के साथ शब्द मैट्रिक्स एकवचन मूल्य अपघटन का उपयोग कर, फिर अद्यतन करें इसके साथ। हालाँकि, वेक्टर का नया समाधान इसके भरे जाने की बहुत संभावना है, क्योंकि विरलता बाधा लागू नहीं की गई है।

इस समस्या को ठीक करने के लिए परिभाषित करें जैसा

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

तो जैसा कि पहले उल्लेख किया गया है न्यूनतमकरण समस्या बन जाती है

और सीधे एसवीडी का उपयोग करके किया जा सकता है। एसवीडी विघटित हो जाता है में . के लिए समाधान यू का पहला स्तंभ है, गुणांक वेक्टर के पहले कॉलम के रूप में . संपूर्ण शब्दकोश को अद्यतन करने के बाद, प्रक्रिया फिर X को पुनरावृत्तीय रूप से हल करने, फिर पुनरावृत्तीय रूप से D को हल करने की ओर मुड़ जाती है।

सीमाएँ

डेटासेट के लिए उपयुक्त शब्दकोश चुनना गैर-उत्तल समस्या है, और के-एसवीडी पुनरावृत्त अद्यतन द्वारा संचालित होता है जो वैश्विक इष्टतम खोजने की गारंटी नहीं देता है।[2]हालाँकि, इस उद्देश्य के लिए यह अन्य एल्गोरिदम के लिए सामान्य है, और k-SVD व्यवहार में काफी अच्छी तरह से काम करता है।[2]

यह भी देखें

संदर्भ

  1. Michal Aharon; Michael Elad; Alfred Bruckstein (2006), "K-SVD: An Algorithm for Designing Overcomplete Dictionaries for Sparse Representation" (PDF), IEEE Transactions on Signal Processing, 54 (11): 4311–4322, Bibcode:2006ITSP...54.4311A, doi:10.1109/TSP.2006.881199, S2CID 7477309
  2. 2.0 2.1 2.2 Rubinstein, R., Bruckstein, A.M., and Elad, M. (2010), "Dictionaries for Sparse Representation Modeling", Proceedings of the IEEE, 98 (6): 1045–1057, CiteSeerX 10.1.1.160.527, doi:10.1109/JPROC.2010.2040551, S2CID 2176046{{citation}}: CS1 maint: multiple names: authors list (link)