अवलोकन
आप मल्टीप्लायरों की वैकल्पिक दिशा विधि (ADMM) के एक संस्करण का प्रयास करना चाह सकते हैं , जो कि लसो प्रकार की समस्याओं के लिए आश्चर्यजनक रूप से जल्दी से परिवर्तित करने के लिए पाया गया है। रणनीति एक संवर्धित Lagrangian के साथ समस्या को तैयार करना है और फिर दोहरी समस्या पर क्रमिक चढ़ाई करना है। यह इस विशेष नियमित समस्या के लिए विशेष रूप से अच्छा है क्योंकि विधि के प्रत्येक पुनरावृत्ति के निरर्थक भाग का एक सटीक समाधान है आप बस तत्व द्वारा तत्व का मूल्यांकन कर सकते हैं, जबकि चिकनी भाग में एक रैखिक प्रणाली को हल करना शामिल है।एल 1l1l1
इस पोस्ट में हम
- अपनी समस्या के सामान्यीकरण के लिए एक समग्र ADMM सूत्र तैयार करें,
- प्रत्येक ADMM पुनरावृत्ति के लिए उपप्रक्रमों को प्राप्त करें और उन्हें अपनी स्थिति में विशेषज्ञता दें, और फिर
- परिणामी रैखिक प्रणाली की जांच करें जिसे प्रत्येक पुनरावृत्ति को हल करने की आवश्यकता है, और और लिए ईजेनवल्यू डीकंपोजिशन (या निम्न रैंक सन्निकटन) को प्रीकोम्प्यूट करने के आधार पर एक तेज सॉल्वर (या प्रीकॉन्डिशनर) विकसित करना होगा ।वाई वाई वाई टीMTMYYT
- कुछ समापन टिप्पणियों के साथ संक्षेप में प्रस्तुत करें
यहाँ अधिकांश बड़े विचारों को निम्नलिखित शानदार समीक्षा पत्र में शामिल किया गया है,
बॉयड, स्टीफन, एट अल। "मल्टीप्लायरों की वैकल्पिक दिशा विधि के माध्यम से वितरित अनुकूलन और सांख्यिकीय शिक्षा।" मशीन लर्निंग 3.1 (2011) में नींव और रुझान®: 1-122। http://www.stanford.edu/~boyd/papers/pdf/admm_distr_stats.pdf
विवरण में जाने से पहले, मैं यह नोट करना चाहता हूं कि यह एक विधि / एल्गोरिथ्म का उत्तर है, व्यावहारिक मौजूदा कोड का जवाब नहीं है - यदि आप इस पद्धति का उपयोग करना चाहते हैं, तो आपको अपना स्वयं का कार्यान्वयन रोल करना होगा।
एडीएमएम का गठन
सामान्य तौर पर, मान लीजिए कि आप को हल करना चाहते हैं
minxs.t.∑i|xi|Ax=b.
मूल पद में समस्या उपयुक्त वैश्वीकरण के बाद इस श्रेणी में आती है। (यह केवल सिद्धांत में है - हम देखेंगे कि वैश्वीकरण को अभ्यास करने की आवश्यकता नहीं है)
आप इसके बजाय समतुल्य समस्या को हल कर सकते हैं,
जिसके पास लैग्रेंजियन है _
एल(एक्स,जेड,λ,γ)=
minx,zs.t.&∑i|xi|+α2||x−z||2+β2||Az−b||2Az=bx=z,
L(x,z,λ,γ)==∑i|xi|+α2||x−z||2+β2||Az−b||2+λT(Az−b)+γT(x−z)∑i|xi|+α2||x−z+1αγ||2+β2||Az−b+1βλ||2+α2||1αγ||2+β2||1βλ||2.
मल्टीप्लायरों की वैकल्पिक दिशा विधि दोहरी समस्या को हल करती है,
दोहरे चर पर ढाल चढ़ाई के माध्यम से, को छोड़कर दोहरी उपप्रक्रमों पर सटीक वैकल्पिक अनुमान। यानी, एक व्यक्ति पुनरावृत्ति
एक्स कश्मीर + 1
maxλ,γminx,zL(x,z,λ,γ),
xk+1zk+1γk+1λk+1=argminxL(x,zk,λk,γk)=argminzL(xk+1,z,λk,γk)=γk+α(xk+1−zk+1)=λk+β(Azk+1−b).
पैरामीटर और (ऊपर बताए गए बॉयड और पारिख पेपर में समझाया गया ) पर कुछ हल्के स्थितियों के तहत , एडीएमएम विधि सही समाधान में परिवर्तित हो जाएगी। अभिसरण दर रैखिक है, क्योंकि यह मूल में एक ढाल चढ़ाई विधि है। अक्सर इसे 1 के द्वारा सुपरलाइनर होने के लिए तेज किया जा सकता है) हेस्टरिस्टिक्स या 2 पर आधारित के रूप में आप Nesterov त्वरण का उपयोग करते हुए पैरामीटर और को बदलते हैं । पेनल्टी पैरामीटर्स बदलने पर नोट्स के लिए, बॉयड सर्वे पेपर देखें, और ADMM के साथ नेस्टरोव त्वरण का उपयोग करने के लिए निम्न पेपर देखें,बीटा अल्फा बीटाαβαβ
गोल्डस्टीन, टॉम, ब्रेंडन ओ'डोनग्यू और साइमन सेज़र। "तेजी से वैकल्पिक दिशा अनुकूलन के तरीके।" सीएएम रिपोर्ट (2012): 12-35। ftp://ftp.math.ucla.edu/pub/camreport/cam12-35.pdf
हालाँकि, भले ही समग्र अभिसरण दर केवल रैखिक है, समस्याओं के लिए विधि को बहुत तेज़ी से स्पार्सिटी पैटर्न खोजने के लिए देखा गया है, और फिर सटीक मानों पर और अधिक धीरे-धीरे परिवर्तित करें। चूँकि स्पार्सिटी पैटर्न सबसे कठिन हिस्सा है, इसलिए यह बहुत भाग्यशाली है! वर्तमान शोध का एक क्षेत्र क्यों लगता है सटीक कारण। सभी देखते हैं कि स्पर्सिटी पैटर्न तेजी से परिवर्तित होता है, लेकिन किसी को भी यह पता नहीं लगता है कि ऐसा क्यों होता है। कुछ समय पहले मैंने बॉयड और पारिख से इस बारे में ईमेल पर पूछा था और पारिख ने सोचा कि इसे एक नियंत्रण प्रणाली के संदर्भ में विधि की व्याख्या करके समझाया जा सकता है। घटना का एक और अनुमानवादी विवरण निम्नलिखित पेपर के परिशिष्ट में मिलता है,l1
गोल्डस्टीन, टॉम और स्टेनली ऑशर। "एल 1-नियमित समस्याओं के लिए विभाजित ब्रैगमैन विधि।" एसआईएएम जर्नल पर इमेजिंग साइन्स 2.2 (2009): 323-343। ftp://ftp.math.ucla.edu/pub/camreport/cam08-29.pdf
बेशक अब कठिनाई और अद्यतन को हल करने में निहित है आपकी विशिष्ट स्थिति के लिए उपप्रोमा। चूंकि लैग्रेंजियन में द्विघात है , इसलिए अपडेट सबप्रॉब्लम को बस एक लीनियर सिस्टम को हल करने की आवश्यकता होती है। subproblem कठिन लगता है, क्योंकि यह nondifferentiable है, लेकिन यह पता चला है कि समाधान तत्व द्वारा लागू तत्व हो सकता है के लिए एक सटीक फार्मूला है कि वहाँ! अब हम इन उपप्रकारों पर अधिक विस्तार से चर्चा करते हैं और उन्हें मूल पोस्ट में समस्या के लिए निर्दिष्ट करते हैं।z z z xxzzzx
अपडेट सबप्रॉब्लम (लीनियर सिस्टम) के लिए सेटअपz
के लिए अद्यतन, हम
एक आर जी एम मैं एन जेड एल ( एक्स कश्मीर , जेड , λ कश्मीर , γ कश्मीर ) = एक आर जी एम मैं एन जेड αz
argminzL(xk,z,λk,γk)=argminzα2||x−z+1αγ||2+β2||Az−b+1βλ||2.
आपकी समस्या के लिए विशिष्ट यह बन जाता है,
argminZJ,ZBα2||Jk+1−ZJ+1αΓJ||2Fro+α2||Bk+1−ZB+1αΓB||2Fro+β2||MZJ+ZBY−X+1αΛ||2Fro,
कहाँ फ़्रोब (एलिमेंटवाइज़ ) मान को दर्शाता है। यह एक द्विघात न्यूनता समस्या है, जहां और संबंध में उद्देश्य के आंशिक व्युत्पत्ति लेने और उन्हें शून्य पर सेट करने से पहले क्रम की इष्टतमता की स्थिति पाई जा सकती है। यह है,
||⋅||Frol2ZJZB
00=−α2(Jk+1−ZJ+1αΓJ)+β2MT(MZJ+ZBY−X+1βΛ),=−α2(Bk+1−ZB+1αΓB)+β2(MZJ+ZBY−X+1βΛ)YT.
जैसा कि मूल पोस्टर जस्टिन सोलोमन द्वारा टिप्पणियों में उल्लेख किया गया है लिए यह प्रणाली सममित है इसलिए संयुग्म ढाल एक आदर्श मैट्रिक्स-मुक्त विधि है। एक बाद के खंड में इस प्रणाली और इसे कैसे हल किया जाए / इस पर अधिक विस्तार से चर्चा की गई है।ZJ,ZB
सुलझाने अद्यतन subproblem (विश्लेषणात्मक थ्रेशोल्डिंग समाधान)x
अब हम ,
x
argminxL(x,zk,λk,γk)=argminx∑i|xi|+α2||x−zk+1αγk||2
देखने वाली पहली बात यह है कि योग को तत्व से विभाजित किया जा सकता है,
∑i|xi|+α2||x−zk+1αγk||2=∑i|xi|+α2∑i(xi−zki+1αγki)2,
इसलिए हम अनुकूलन समस्या तत्व को समानांतर में तत्व द्वारा हल कर सकते हैं,
xk+1i=argminxi|xi|+α2(xi−zki+1αγki)2.
इस समीकरण का सामान्य रूप है,
mins|s|+α2(s−t)2.
निरपेक्ष मान फ़ंक्शन इष्टतम बिंदु को ओर खींचने का प्रयास कर रहा है , जबकि द्विघात शब्द इष्टतम बिंदु को ओर खींचने का प्रयास कर रहा है । सच्चे समाधान इसलिए कहीं खंड पर स्थित है में वृद्धि के साथ दोनों के बीच, रखरखाव की ओर इष्टतम बिंदु खींचने के लिए , और कम हो रही की ओर इष्टतम बिंदु खींच ।s=0s=t[0,t)αtα0
यह एक उत्तल कार्य है लेकिन यह शून्य पर भिन्न नहीं है। एक न्यूनतम बिंदु के लिए शर्त यह है कि उस बिंदु पर उद्देश्य का उपश्रेणी शून्य होता है। द्विघात शब्द में व्युत्पन्न , और पूर्ण मान फ़ंक्शन में लिए व्युत्पन्न , अंतराल के रूप में सेट-वैल्यूड सबरेटिव जब , और व्युत्पन्न से । इस प्रकार हम समग्र उद्देश्य समारोह के लिए उपश्रेणी प्राप्त करते हैं,
α(s−t)−1s<0[−1,1]s=01s>0
∂s(|s|+α2(s−t)2)=⎧⎩⎨1+α(s−t)[−1,1]+αt,−1+α(s−t),s>0s=0,s<0.
इस से हम देखते हैं कि कम से उद्देश्य की subderivative शामिल यदि और केवल यदि , जिस स्थिति में न्यूनतम है। दूसरी ओर, यदि मिनिमाइज़र नहीं है, तो हम शून्य के बराबर एकल-मूल्यवान व्युत्पन्न सेट कर सकते हैं और न्यूनतम के लिए हल कर सकते हैं। इस पैदावार को करने से,
s=00|t|≤1αs=0s=0
argmins|s|+α2(s−t)2=⎧⎩⎨⎪⎪t−1α,0,t+1α,t>1α,|t|≤1α,t<−1α
इस समस्या के लिए फिर से परिणाम प्राप्त करें जिससे हम मूल प्रश्न में हल करने का प्रयास कर रहे हैं जहां yields,
लिए अपडेट बस
t=Zkij−1αΓkij
Jk+1ij=⎧⎩⎨⎪⎪⎪⎪Zkij−1αΓkij−1α,0,Zkij−1αΓkij+1α,Zkij−1αΓkij>1α,|Zkij−1αΓkij|≤1α,Zkij−1αΓkij<−1α.
BBk+1=ZB−1αΓB,
जैसा कि टिप्पणी में मूल पोस्टर जस्टिन सोलोमन ने नोट किया है। कुल मिलाकर, लिए अपडेट करने के लिए बस आपके मैट्रिसेस की प्रविष्टियों के माध्यम से लूपिंग की आवश्यकता है और प्रत्येक प्रविष्टि के लिए उपरोक्त सूत्रों का मूल्यांकन करना है।J,B
सिस्टम के लिए Schur पूरकZJ,ZB
पुनरावृत्ति का सबसे महंगा चरण प्रणाली को हल कर रहा है,
00=−α2(Jk+1−ZJ+1αΓJ)+β2MT(MZJ+ZBY−X+1βΛ),=−α2(Bk+1−ZB+1αΓB)+β2(MZJ+ZBY−X+1βΛ)YT.
यह अंत करने के लिए, इस प्रणाली के लिए एक अच्छा सॉल्वर / प्रीकॉन्डिशनर बनाने के लिए कुछ प्रयास के लायक है। इस खंड में हम ऐसा करते हुए वेक्टरिंग करते हैं , शूर पूरक बनाते हैं , कुछ क्रनोकेर उत्पाद जोड़तोड़ करते हैं और फिर अनावरण करते हैं। परिणामस्वरूप शूर पूरक प्रणाली थोड़ा संशोधित सिल्वेस्टर समीकरण है ।
वेक्टराइजेशन और क्रोनकर उत्पादों के बारे में निम्नलिखित पहचान निम्नलिखित हैं:
- vec(ABC)=(CT⊗A)vec(B),
- (A⊗B)(C⊗D)=AC⊗BD ,
- (A⊗B)−1=A−1⊗B−1 , और
- (A⊗B)T=AT⊗BT ।
जब भी मैट्रिक्स का आकार और औंधाता ऐसी होती हैं, तो ये पहचान होती है कि समीकरण का प्रत्येक पक्ष एक मान्य अभिव्यक्ति है।
सिस्टम का रूप है,
(αI+β[I⊗MTMY⊗M(Y⊗M)TYYT⊗I])[vec(ZJ)vec(ZB)]=[vec(αJ+βMTX+ΓJ−MTΛ)vec(αB+βXYT+ΓB−ΛYT)],
या,
[I⊗(αI+βMTM)βY⊗Mβ(Y⊗M)T(αI+βYYT)⊗I][vec(ZJ)vec(ZB)]=[vec(F)vec(G)],
जहाँ और दाहिने हाथ की ओर संकेतन संकेतन हैं। अब हम क्रोनर उत्पादों को संघनित करने की प्रक्रिया में मैट्रिक्स के निचले बाएँ ब्लॉक को खत्म करने के लिए ब्लॉक-गॉसियन-एलिमिनेशन / शूर पूरक करते हैं। यह,
FG
[I⊗(αI+βMTM)0β(Y⊗M)T(αI+βYYT)⊗I−β2YYT⊗M(αI+βMTM)−1MT]…⋅[vec(ZJ)vec(ZB)]=[vec(F)vec(G)−βY⊗M(αI+βMTM)−1vec(F)].
अनावरण करते हुए, हमें अनुक्रम में हल करने वाले दो समीकरण हैं,
ZB(αI+βYYT)−(βM(αI+βMTM)−1MT)ZB(βYYT)…=G−βM(αI+βMTM)−1FYT
(αI+βMTM)ZJ=F−βMTZBY.
शू, पूरक प्रणाली का समाधान जब चौकोर होता है, उच्च रैंक होता हैY,M
इस खंड में हम (समीकरण 1. ऊपर) के लिए शूर पूरक प्रणाली को हल करते हैं , जिसमें मेट्रिसेस के फुल एसवीडी का उपयोग करके और सिल्वेस्टर के लिए बार्टल्स-स्टैवर्ट एल्गोरिथ्म का संशोधित संस्करण लागू करते हैं। समीकरण। एल्गोरिथ्म को दूसरे शब्द पर अतिरिक्त लिए मानक संस्करण से थोड़ा संशोधित किया गया है , जो इसे सिल्वेस्टर समीकरण नहीं बनाता है। एक बार को पहले समीकरण के माध्यम से पाया जाता है, को दूसरे समीकरण से आसानी से पाया जा सकता है। दूसरा समीकरण आपके द्वारा पसंद की गई किसी भी विधि के माध्यम से हल करने के लिए तुच्छ है।ZBYYT,MMT,MTMβYYTZBZJ
इस विधि को ADMM प्रक्रिया शुरू होने से पहले दो पूर्ण SVDs पूर्वगामी लागत की आवश्यकता होती है, लेकिन फिर वास्तविक ADMM पुनरावृत्तियों में लागू करने के लिए तेज़ है। चूंकि विधि बाधा मैट्रिक्स के पूर्ण एसवीडी से संबंधित है, इसलिए यह उपयुक्त है जब वे वर्ग और उच्च रैंक के करीब हों। कम रैंक एसवीडी का उपयोग करके एक अधिक जटिल तरीका भी संभव है, लेकिन बाद के अनुभाग में प्रस्तुत किया गया है।
विधि इस प्रकार विकसित होती है। बता दें कि
पूर्ववर्ती पूर्ण एकवचन मूल्य विघटन को निरूपित करता है, और को होने के लिए दाईं ओर ले जाता है । तो पहले समीकरण बन जाता है,
गुणा ऑर्थोगोनल कारकों द्वारा बाएं और दाएं को खाली करने और एक नया अस्थायी अज्ञात , यह आगे बन जाता है,
QDQT=YYT,WΣWT=MMT,VTVT=MTM
HZBQ(αI+D)QT−WβΣ(αI+Σ)−1ΣWTZBQDQT=H.
A=WTZBQA(αI+D)−βΣ(αI+Σ)−1ΣAD=WHQT.
अब हम विकर्ण प्रणाली को हल करके पा सकते हैं ,
A
((αI+D)⊗I+D⊗βΣ(αI+Σ)−1Σ)vec(A)=vec(WHQT).
पाने के बाद , हम गणना , और जानकर हम लिए ऊपर दिए गए दूसरे समीकरण को हल करते हैं , जो कि तुच्छ है क्योंकि हमारे पास लिए पहले से ही अपघटन है ।AZB=WAQTZBZJMTM
अग्रिम लागत और दो सममित सकारात्मक निश्चित ईजेनवल्यू डिकम्पोजिशन की गणना कर रहा है , और फिर एक पूर्ण समाधान के लिए लागत-प्रति-पुनरावृत्ति मुट्ठी भर मैट्रिक्स-मैट्रिक्स गुणा पर हावी है, जो उसी क्रम पर है 1 CG उप-विभाजन करने के रूप में परिमाण। यदि अपफ्रंट ईगेंवल्यू डीकंपोजिशन बहुत महंगा है, तो उन्हें उदाहरण के लिए, लैंक्ज़ोस पुनरावृत्ति को जल्दी से समाप्त करने और सबसे बड़े ईजेनवेक्टर को रखने के द्वारा, सटीक रूप से गणना की जा सकती है । फिर विधि को एक प्रत्यक्ष सॉल्वर के बजाय सीजी के लिए एक अच्छा पूर्व शर्त के रूप में इस्तेमाल किया जा सकता है।MTMYYT
समाधान विधि जब बहुत आयताकार होते हैं या कम रैंक सन्निकटन होते हैंM,Y
अब हम को हल करने या पूर्व- करने पर अपना ध्यान करते हैं जब या तो a) इनपुट मैट्रिसेस बहुत आयताकार होते हैं - जिसका अर्थ है कि उनके पास कॉलम या इसके विपरीत की तुलना में कई अधिक पंक्तियाँ हैं - या b) उनके पास कम सन्निकटन है। नीचे दी गई व्युत्पत्ति में वुडबरी फार्मूला, शूर पूरक और इसी तरह के अन्य हेरफेर के व्यापक उपयोग शामिल हैं।ZJ,ZBM,Y
हम अपने शूर पूरक प्रणाली के साथ शुरू करते हैं,
(αI+βYYT)⊗I−β2YYT⊗M(αI+βMTM)−1MT.
कुछ जोड़तोड़ इस प्रणाली को और अधिक सममित रूप में परिवर्तित करते हैं,
(αI+βI⊗MMT+βYYT⊗I)vec(ZB)=(I⊗(I+βαMMT))vec(H).
अब हम निम्न रैंक सन्निकटन में लाते हैं। चलो
हो या तो की कम SVD के या कम रैंक अनुमानों और ( एक प्लेसहोल्डर है और नहीं है उपयोग किया गया)। हमारे सिस्टम में इनका उपयोग करने से निम्न मैट्रिक्स का लाभ मिलता है, जिसे हम लागू करना चाहते हैं,
QD1/2QT2=YWΣ1/2VT=M
YMQ2(αI+βI⊗WΣWT+βYYT⊗I)−1.
चूंकि हम जिस मैट्रिक्स को करते हैं, वह पहचान के लिए एक निम्न-श्रेणी का अद्यतन है, तार्किक रणनीति वुडबरी फॉर्मूला, का उपयोग करने का प्रयास करना है।
(A+UCUT)−1=A−1−A−1U(C−1+UTA−1U)−1UTA−1.
हालाँकि, कुछ देखभाल की आवश्यकता है क्योंकि निम्न रैंक के टुकड़े और orthogonal नहीं हैं। इस प्रकार वुडबरी फॉर्मूला लागू करने के लिए हम दोनों लो रैंक अपडेट को एक बड़े अपडेट में इकट्ठा करते हैं। ऐसा करो और वुडबरी फार्मूला पैदावार को लागू करो,
I⊗WY⊗I
(1αI+β[I⊗WQ⊗I][I⊗ΣD⊗Y][I⊗ΣTQT⊗I])−1=αI−βα2[I⊗WQ⊗I][I⊗(Σ−1+βαI)βαQT⊗WβαQ⊗WT(D−1+βαI)⊗Y]−1[I⊗ΣTQT⊗I].
कोर इनवर्स की गणना ब्लॉकवाइज 2x2 व्युत्क्रम सूत्र द्वारा की जा सकती है,
[ABTBC]−1=[(A−BC−1BT)−1−C−1BT(A−BC−1BT)−1−A−1B(C−BTA−1B)−1(C−BTA−1B)−1].
यह पोस्ट पहले से ही काफी लंबी है, इसलिए मैं गणना के लंबे विवरणों को छोड़ दूंगा, लेकिन अंतिम परिणाम यह है कि ब्लॉकवेट व्युत्क्रम में आवश्यक सबमैट्रीज़ को प्लग करना और सबकुछ पैदावार के माध्यम से गुणा करना, कुल उलटा,
(αI+βI⊗MMT+βYYT⊗I)−1=1αI−βα2(t11+s11+t12+s12+t21+s21+t22+s22),
जहाँ
t11s11t12s12t21s21t22s22D11D22lh=αβI⊗Wl−1WT=(Q⊗Wl−1)D11(QT⊗l−1WT)=−αβQh−1QT⊗Wl−1WT=−(Qh−1⊗Wl−1)D22(h−1QT⊗WT)=t12=−(Qh−1⊗W)D22(h−1QT⊗l−1WT)=αβQh−1QT⊗I=(Qh−1⊗W)D22(h−1QT⊗WT)=αβ(h⊗I−I⊗l−1)−1=αβ(I⊗l−h−1⊗I)−1=αβΣ−1+I=αβD−1+I.
इस रूप में, हम व्युत्क्रम को लागू कर सकते हैं और 8 बाएँ और दाएँ मैट्रिक्स गुणन सैंडविच के माध्यम से शब्द पा सकते हैं । उत्पादों के योग को लागू करने के लिए सामान्य सूत्र है,
ZB
((A1⊗B1)+(A2⊗B2)+…)vec(C)=vec(BT1CA1+BT2CA2+…).
ध्यान दें कि हमारे द्वारा समाप्त किए गए सभी स्पष्ट व्युत्क्रम विकर्ण हैं, इसलिए "हल" होने के लिए कुछ भी नहीं है।
रैखिक विलायक कोड
मैंने में उपरोक्त दो लागू किया । अच्छा काम करने लगता है। सॉल्वर कोड यहाँ है।zJ,ZB
https://github.com/NickAlger/MeshADMM/blob/master/zkronsolve.m
जाँच करने के लिए एक परीक्षण स्क्रिप्ट कि सॉल्वर्स का काम यहाँ है। यह भी उदाहरण से पता चलता है कि सॉल्वर कोड को कैसे कॉल किया जाता है।
https://github.com/NickAlger/MeshADMM/blob/master/test_zkronsolve.m
समापन टिप्पणी
ADMM- प्रकार विधियां इस तरह की समस्याओं के लिए अच्छी तरह से अनुकूल हैं, लेकिन आपको अपने स्वयं के कार्यान्वयन को रोल करने की आवश्यकता होगी। विधि की समग्र संरचना बहुत सरल है इसलिए कार्यान्वयन MATLAB जैसी किसी चीज़ में बहुत मुश्किल नहीं है।
इस पोस्ट से गायब हुआ टुकड़ा जिसे आपकी समस्या के लिए पूरी तरह से परिभाषित करने के लिए निर्दिष्ट करने की आवश्यकता होगी, पेनल्टी पैरामीटर का एक विकल्प है । सौभाग्य से विधि आम तौर पर बहुत मजबूत होती है जब तक कि पैरामीटर वाल्व पागल नहीं होते हैं। द बॉयड एंड पारिख पेपर में पेनल्टी पैरामीटर्स के बारे में एक सेक्शन है, क्योंकि इसमें रेफरेंस दिए गए हैं, लेकिन मैं सिर्फ पैरामीटर्स के साथ प्रयोग करूंगा जब तक कि आपको उचित कन्वर्सेशन रेट्स न मिल जाएं।α,β
प्रस्तुत solver रणनीतियों अत्यधिक प्रभावी अगर बाधा मैट्रिक्स या तो एक) कर रहे हैं घने, squareish, और उच्च रैंक, या ख) एक अच्छा कम रैंक सन्निकटन हैं। एक और उपयोगी सॉल्वर जो भविष्य के काम का एक विषय हो सकता है, निम्नलिखित मामले के लिए अनुकूलित एक सॉल्वर होगा - बाधा मैट्रिक्स विरल और चौकोर और उच्च रैंक है, लेकिन लिए एक अच्छा पूर्व शर्त मौजूद है । यह मामला होगा यदि, उदाहरण के लिए, एक विवेकाधीन लाप्लासियन है।ZJ,ZBMαI+MMTM