मैट्रिक्स एंट्रॉपी में बाधा अनुकूलन समस्या


10

मुझे (शैनन) मैट्रिक्स एन्ट्रापी में एक बाधा अनुकूलन समस्या है । मैट्रिक्स को फॉर्म के रैंक 1 मैट्रिक्स के योग के रूप में लिखा जा सकता है जहां एक सामान्यीकृत वेक्टर है। रैंक एक मैट्रेस के गुणांक अज्ञात हैं जिसमें हम अनुकूलन करते हैं और उन्हें शून्य से बड़ा और 1 तक योग करना पड़ता है। एक [ वी मैं(sum(entr(eig(A))))Av i[viviT]vi

जैसे सिंटैक्स में समस्या इस प्रकार है: दिए गए वेरिएबलc(n)

minimizesum(entr(eig(A)))

subject toA=civiviTci=1ci0

क्या किसी को इस बात का अंदाजा है कि इसे कुशलता से कैसे हल किया जाए? मैं पहले से ही जानता हूं कि इसे शायद अर्ध-निश्चित प्रोग्रामिंग (एसडीपी) समस्या के रूप में नहीं डाला जा सकता।

जवाबों:


8

संपादित करें: एक सहकर्मी ने मुझे सूचित किया कि नीचे दी गई मेरी विधि निम्न पेपर में सामान्य विधि का उदाहरण है, जब एन्ट्रापी फ़ंक्शन के लिए विशेष है,

ओवरटन, माइकल एल।, और रॉबर्ट एस। वोमर्सले। "सममितीय मैट्रिसेस के आइगेनवेल्यूज के अनुकूलन के लिए दूसरा डेरिवेटिव।" मैट्रिक्स विश्लेषण और अनुप्रयोग पर SIAM जर्नल 16.3 (1995): 697-718। http://ftp.cs.nyu.edu/cs/faculty/overton/papers/pdffiles/eighess.pdf

अवलोकन

इस पोस्ट में मैं दिखाता हूं कि ऑप्टिमाइज़ेशन समस्या अच्छी तरह से सामने आ गई है और समाधान में असमानता की बाधाएँ निष्क्रिय हैं, फिर एन्ट्रापी फ़ंक्शन के पहले और दूसरे फ्रीचेट डेरिवेटिव की गणना करें, फिर समता बाधा को समाप्त करने के साथ समस्या पर न्यूटन के तरीके का प्रस्ताव करें। अंत में, मैटलैब कोड और संख्यात्मक परिणाम प्रस्तुत किए जाते हैं।

अनुकूलन की समस्या का अच्छा होना

सबसे पहले, सकारात्मक निश्चित मेट्रिसेस का योग सकारात्मक निश्चित होता है, इसलिए , रैंक -1 मेट्रिसेस का योग सकारात्मक निश्चित है। यदि का सेट पूर्ण रैंक है, तो eigenvalues सकारात्मक हैं, इसलिए eigenvalues ​​के लघुगणक को लिया जा सकता है। इस प्रकार वस्तुनिष्ठ फ़ंक्शन संभव सेट के इंटीरियर पर अच्छी तरह से परिभाषित है।( ) : = एन Σ मैं = 1 सी मैं वी मैं v टी मैं v मैं एकci>0

A(c):=i=1NciviviT
viA

दूसरा, के रूप में किसी भी , रैंक खो देता है तो सबसे छोटी eigenvalue शून्य करने के लिए चला जाता है। Ie,एक एक σ मीटर मैं n ( एक ( ) ) 0 मैं0 - σ लॉग ( σ ) σ 0 मैं0ci0AAσmin(A(c))0 को । चूँकि व्युत्पन्न के रूप में " चल रहा है , किसी के पास क्रमिक रूप से बेहतर और बेहतर बिंदुओं का अनुक्रम संभव नहीं है, जो संभव सेट की सीमा के निकट आता है। इस प्रकार समस्या अच्छी तरह से परिभाषित है और इसके अलावा असमानता निष्क्रिय है।ci0σlog(σ)σ0ci0

एन्ट्रापी फ़ंक्शन का फ्रीचेट डेरिवेटिव

संभव क्षेत्र के आंतरिक में एन्ट्रापी फ़ंक्शन हर जगह फ्रैचेट भिन्न होता है, और दो बार फ्रैचेट अलग-अलग होते हैं जहां कभी भी स्वदेशी दोहराया नहीं जाता है। न्यूटन की विधि करने के लिए, हमें मैट्रिक्स एन्ट्रापी के डेरिवेटिव की गणना करने की आवश्यकता होती है, जो मैट्रिक्स के आईजेन्यूअल पर निर्भर करता है। इसके लिए मैट्रिक्स में परिवर्तन के संबंध में एक मैट्रिक्स के eigenvalue अपघटन के कंप्यूटिंग संवेदनशीलता की आवश्यकता होती है।

याद रखें कि एक मैट्रिक्स के लिए साथ eigenvalue अपघटन , मूल मैट्रिक्स में परिवर्तन के संबंध में eigenvalue मैट्रिक्स के व्युत्पन्न है, और eigenvector मैट्रिक्स का व्युत्पन्न है, एक = यू Λ यू टी डी Λ = मैं ( यू टी डी यू ) , यू = यू सी ( एक ) , सी = { यू टी मैंएक यू जेAA=UΛUT

dΛ=I(UTdAU),
dU=UC(dA),
जहां है Hadamard उत्पाद , गुणांक मैट्रिक्स के साथ
C={uiTdAujλjλi,i=j0,i=j

इस तरह के फार्मूले eigenvalue समीकरण को अलग करके बनाए जाते हैं, और जब भी आइजेन्यूअल अलग होते हैं, तो सूत्र पकड़ लेते हैं। जब वहाँ पुनर्जन्म दोहराया जाता है, के लिए सूत्रडी ΛAU=ΛUdΛ में एक हटाने योग्य असंतोष होता है जिसे इतने लंबे समय तक बढ़ाया जा सकता है जब तक कि नॉनकिक eigenvectors को सावधानी से चुना जाता है। इस बारे में जानकारी के लिए, निम्न प्रस्तुति और कागज देखें

फिर दूसरी व्युत्पत्ति को फिर से विभेदित करके पाया जाता है,

d2Λ=d(I(UTdA1U))=I(dU2TdA1U+UTdA1dU2)=2I(dU2TdA1U).

जबकि eigenvalue मैट्रिक्स का पहला व्युत्पन्न दोहराया eigenvalues ​​पर निरंतर बनाया जा सकता है, दूसरा व्युत्पन्न बाद से पर निर्भर नहीं करता है , जो पर निर्भर करताd2ΛdU2सी है, जो ऊपर चल रही है के रूप में eigenvalues एक-दूसरे की ओर पतित। हालांकि, जब तक सही समाधान में पुनर्जन्म नहीं होता है, तब तक यह ठीक है। संख्यात्मक प्रयोग यह सुझाव देते हैं कि जेनेरिक लिए यह मामला है , हालांकि मेरे पास इस बिंदु पर कोई प्रमाण नहीं है। यह समझना वास्तव में महत्वपूर्ण है, क्योंकि आमतौर पर एन्ट्रापी को अधिकतम करना संभव होने पर आइजनवेल्स को एक साथ करीब बनाने की कोशिश करेगा।vमैं

समता बाधा को दूर करना

हम केवल पहले गुणांकों पर काम करके और पिछले एक को पर काम करके बाधा को समाप्त कर सकते हैं।Σमैं=1एनसीमैं=1एन-1

सीएन=1-Σमैं=1एन-1सीमैं

कुल मिलाकर, मैट्रिक्स गणना के लगभग 4 पृष्ठों के बाद, पहले गुणांकों में परिवर्तन के संबंध में उद्देश्य फ़ंक्शन के कम पहले और दूसरे डेरिवेटिव को जहां एन-1

=सी1टीटी[मैं(वीटीयूबीयूटीवी)]
=सी1टीटी[मैं(वीटी[2यू2बीयूटी+यूबीयूटी]वी)],
=[111-1-1...-1],

बी=मैंजी(1+लॉगλ1,1+लॉगλ2,...,1+लॉगλएन),

बी=मैंजी(2λ1λ1,...,2λएनλएन)

बाधा दूर करने के बाद न्यूटन की विधि

चूंकि असमानता की बाधाएं निष्क्रिय हैं, हम बस संभव सेट में शुरू करते हैं और आंतरिक मैक्सिमा के लिए द्विघात अभिसरण के लिए विश्वास-क्षेत्र या लाइन-खोज अक्षम न्यूटन-सीजी चलाते हैं।

विधि इस प्रकार है, (विश्वास-क्षेत्र / लाइन खोज विवरण सहित नहीं)

  1. पर प्रारंभ करेंसी~=[1/एन,1/एन,...,1/एन]
  2. अंतिम गुणांक,सी=[सी~,1-Σमैं=1एन-1सीमैं]
  3. निर्माण=Σमैंसीमैंvमैंvमैंटी
  4. Eigenvectors और eigenvalues का पता लगाएंयूΛ
  5. निर्माण ढालजी=टी[मैं(वीटीयूबीयूटीवी)]
  6. समाधान के लिए संयुग्म ढाल के माध्यम से (केवल लागू करने की क्षमता की जरूरत है, न कि वास्तविक प्रविष्टियों)। वेक्टर लिए आवेदन किया है का पता लगाकर , , और और फिर सूत्र, में प्लगिंग एचजी=पीपीएचएचδसी~यू2बीबी
    टी[मैं(वीटी[2यू2बीयूटी+यूबीयूटी]वी)]
  7. सेटसी~सी~-पी
  8. गोटो २।

परिणाम

यादृच्छिक के लिए , steplength के लिए linesearch साथ विधि बहुत जल्दी जोड़ देता है। उदाहरण के लिए, (100 साथ निम्नलिखित परिणाम हैंvमैंएन=100vमैं ) के विशिष्ट हैं - विधि द्विघात रूप से परिवर्तित होती है।

>> एन = 100;
>> वी = रैंडन (एन, एन);
>> के लिए = 1: एनवी (:, के) = वी (:, के) / मानदंड (वी:, के)); समाप्त
>> maxEntropyMatrix (वी);
न्यूटन पुनरावृत्ति = 1, मानदंड (ग्रेड f) = 0.67748
न्यूटन पुनरावृत्ति = 2, मानदंड (ग्रेड f) = 0.03644
न्यूटन पुनरावृति = 3, मानदंड (ग्रेड f) = 0.0012167
न्यूटन पुनरावृत्ति = 4, मानदंड (ग्रेड f) = 1.3239e-06
न्यूटन पुनरावृत्ति = 5, मानदंड (ग्रेड f) = 7.7114e-13

यह देखने के लिए कि गणना किया गया इष्टतम बिंदु वास्तव में अधिकतम है, यहां एक ग्राफ है कि जब इष्टतम बिंदु को अनियमित रूप से छिद्रित किया जाता है तो एंट्रोपी कैसे बदलती है। सभी गड़बड़ी एन्ट्रापी में कमी लाती हैं। यहाँ छवि विवरण दर्ज करें

मतलाब कोड

एन्ट्रापी को कम करने के लिए 1 फ़ंक्शन में सभी (नए इस पोस्ट में जोड़े गए): https://github.com/NickAlger/various_scripts/blob/master/maxEntropyMatrix.m


आपका बहुत बहुत धन्यवाद! मैंने इसे खुद को ढाल के साथ सरल के साथ हल किया, लेकिन यह शायद अधिक विश्वसनीय है। तथ्य यह है कि v को matlab फ़ाइल में पूर्ण रैंक का होना चाहिए, केवल एक चीज है जो मुझे परेशान करती है।
Dries

@NickAlger प्रदान किया गया लिंक काम नहीं कर रहा है, क्या मैं आपसे एक निवेदन कर सकता हूँ?
प्रजापति

@ पोस्ट में अपडेट किया गया लिंक! github.com/NickAlger/various_scripts/blob/master/…
निक अल्जीरिया

@NickAlger क्या मैट्रिक्स पर एक बाधा है जिसे एल्गोरिथ्म संचालित कर सकता है? क्या यह एल्गोरिथ्म जटिल तत्वों के साथ मैट्रिक्स के लिए ठीक है? मेरे मामले में एसवीडी कुछ समय बाद विफल हो जाता है क्योंकि मैट्रिक्स में नैनो है।
रचनाकार

मुझे नहीं लगता कि जटिल संख्या में समस्या होनी चाहिए। विधि की एक सीमा यह है कि इष्टतम समाधान में पुनर्जन्म नहीं हो सकता है, जो मैं अनुमान लगा रहा हूं कि यहां क्या हो रहा है। इस मामले में विधि कुछ ऐसी चीज में परिवर्तित हो जाती है जो सी समीकरण में शून्य से विभाजित होती है। आप बेतरतीब ढंग से इनपुट्स को थोड़ा बढ़ाकर देख सकते हैं और देखें कि क्या इससे मदद मिलती है। ऊपर संदर्भित ओवर्टन पेपर में इसके चारों ओर काम करने का एक तरीका है, लेकिन मेरा कोड उतना उन्नत नहीं है।
निक अल्जीरिया
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.