संपादित करें: एक सहकर्मी ने मुझे सूचित किया कि नीचे दी गई मेरी विधि निम्न पेपर में सामान्य विधि का उदाहरण है, जब एन्ट्रापी फ़ंक्शन के लिए विशेष है,
ओवरटन, माइकल एल।, और रॉबर्ट एस। वोमर्सले। "सममितीय मैट्रिसेस के आइगेनवेल्यूज के अनुकूलन के लिए दूसरा डेरिवेटिव।" मैट्रिक्स विश्लेषण और अनुप्रयोग पर 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=1NcivivTi
viA
दूसरा, के रूप में किसी भी , रैंक खो देता है तो सबसे छोटी eigenvalue शून्य करने के लिए चला जाता है। Ie,एक एक σ मीटर मैं n ( एक ( ग ) ) → 0 ग मैं → 0 - σ लॉग ( σ ) σ → 0 ग मैं ≥ 0ci→0AAσmin(A(c))→0 को । चूँकि व्युत्पन्न के रूप में " चल रहा है , किसी के पास क्रमिक रूप से बेहतर और बेहतर बिंदुओं का अनुक्रम संभव नहीं है, जो संभव सेट की सीमा के निकट आता है। इस प्रकार समस्या अच्छी तरह से परिभाषित है और इसके अलावा असमानता निष्क्रिय है।ci→0−σlog(σ)σ→0ci≥0
एन्ट्रापी फ़ंक्शन का फ्रीचेट डेरिवेटिव
संभव क्षेत्र के आंतरिक में एन्ट्रापी फ़ंक्शन हर जगह फ्रैचेट भिन्न होता है, और दो बार फ्रैचेट अलग-अलग होते हैं जहां कभी भी स्वदेशी दोहराया नहीं जाता है। न्यूटन की विधि करने के लिए, हमें मैट्रिक्स एन्ट्रापी के डेरिवेटिव की गणना करने की आवश्यकता होती है, जो मैट्रिक्स के आईजेन्यूअल पर निर्भर करता है। इसके लिए मैट्रिक्स में परिवर्तन के संबंध में एक मैट्रिक्स के eigenvalue अपघटन के कंप्यूटिंग संवेदनशीलता की आवश्यकता होती है।
याद रखें कि एक मैट्रिक्स के लिए साथ eigenvalue अपघटन , मूल मैट्रिक्स में परिवर्तन के संबंध में eigenvalue मैट्रिक्स के व्युत्पन्न है,
और eigenvector मैट्रिक्स का व्युत्पन्न है,
एक = यू Λ यू टी डी Λ = मैं ∘ ( यू टी डी ए यू ) , घ यू = यू सी ( घ एक ) , ∘ सी = { यू टी मैं घ एक यू जेAA=UΛUT
dΛ=I∘(UTdAU),
dU=UC(dA),
जहां है
Hadamard उत्पाद , गुणांक मैट्रिक्स के साथ
∘C={uTidAujλj−λi,0,i=ji=j
इस तरह के फार्मूले eigenvalue समीकरण को अलग करके बनाए जाते हैं, और जब भी आइजेन्यूअल अलग होते हैं, तो सूत्र पकड़ लेते हैं। जब वहाँ पुनर्जन्म दोहराया जाता है, के लिए सूत्रडी ΛAU=ΛUdΛ में एक हटाने योग्य असंतोष होता है जिसे इतने लंबे समय तक बढ़ाया जा सकता है जब तक कि नॉनकिक eigenvectors को सावधानी से चुना जाता है। इस बारे में जानकारी के लिए, निम्न प्रस्तुति और कागज देखें ।
फिर दूसरी व्युत्पत्ति को फिर से विभेदित करके पाया जाता है,
d2Λ=d(I∘(UTdA1U))=I∘(dUT2dA1U+UTdA1dU2)=2I∘(dUT2dA1U).
जबकि eigenvalue मैट्रिक्स का पहला व्युत्पन्न दोहराया eigenvalues पर निरंतर बनाया जा सकता है, दूसरा व्युत्पन्न बाद से पर निर्भर नहीं करता है , जो पर निर्भर करताd2ΛdU2C है, जो ऊपर चल रही है के रूप में eigenvalues एक-दूसरे की ओर पतित। हालांकि, जब तक सही समाधान में पुनर्जन्म नहीं होता है, तब तक यह ठीक है। संख्यात्मक प्रयोग यह सुझाव देते हैं कि जेनेरिक लिए यह मामला है , हालांकि मेरे पास इस बिंदु पर कोई प्रमाण नहीं है। यह समझना वास्तव में महत्वपूर्ण है, क्योंकि आमतौर पर एन्ट्रापी को अधिकतम करना संभव होने पर आइजनवेल्स को एक साथ करीब बनाने की कोशिश करेगा।vमैं
समता बाधा को दूर करना
हम केवल पहले गुणांकों पर काम करके और पिछले एक को
पर काम करके बाधा को समाप्त कर सकते हैं।Σएनमैं = १सीमैं= 1एन- 1
सीएन= 1 - ∑मैं = १एन- 1सीमैं।
कुल मिलाकर, मैट्रिक्स गणना के लगभग 4 पृष्ठों के बाद, पहले गुणांकों
में परिवर्तन के संबंध में उद्देश्य फ़ंक्शन के कम पहले और दूसरे डेरिवेटिव को
जहां
एन- 1
घच= डीसीटी1मटी[ मैं∘ ( वीटीयूB यूटीवी) ]
घघच= डीसीटी1मटी[ मैं∘ ( वीटी[ २ डीयू2बीएयूटी+ यूबीखयूटी] वी) ] ,
म= ⎡⎣⎢⎢⎢⎢⎢⎢⎢1- 11- 1⋱...1- 1⎤⎦⎥⎥⎥⎥⎥⎥⎥,
बीए= d i a g ( 1 + लॉगλ1, 1 + लॉगλ2, … , 1 + लॉगλएन) ,
बीख= d i a g ( d2λ1λ1, ... , घ2λएनλएन) का है ।
बाधा दूर करने के बाद न्यूटन की विधि
चूंकि असमानता की बाधाएं निष्क्रिय हैं, हम बस संभव सेट में शुरू करते हैं और आंतरिक मैक्सिमा के लिए द्विघात अभिसरण के लिए विश्वास-क्षेत्र या लाइन-खोज अक्षम न्यूटन-सीजी चलाते हैं।
विधि इस प्रकार है, (विश्वास-क्षेत्र / लाइन खोज विवरण सहित नहीं)
- पर प्रारंभ करेंसी~= [ 1 / एन, 1 / एन, ... , 1 / एन] ।
- अंतिम गुणांक,सी = [ सी~, 1 - ∑एन- 1मैं = १सीमैं] ।
- निर्माणए = ∑मैंसीमैंvमैंvटीमैं ।
- Eigenvectors और eigenvalues का पता लगाएंयूΛए ।
- निर्माण ढालजी = एमटी[ मैं∘ ( वीटीयूB यूटीवी) ] ।
- समाधान के लिए संयुग्म ढाल के माध्यम से (केवल लागू करने की क्षमता की जरूरत है, न कि वास्तविक प्रविष्टियों)। वेक्टर लिए आवेदन किया है का पता लगाकर , , और और फिर सूत्र, में प्लगिंग
एचजी = पीपीएचएचδसी~घयू2बीएबीख
मटी[ मैं∘ ( वीटी[ २ डीयू2बीएयूटी+ यूबीखयूटी] वी) ]
- सेटसी~← सी~- पी ।
- गोटो २।
परिणाम
यादृच्छिक के लिए , 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