Düzenleme: Bir meslektaşım bana aşağıdaki yöntem benim entropi fonksiyonu için uzmanlaşmış aşağıdaki makalede genel yöntemin bir örneği olduğunu,
Overton, Michael L. ve Robert S. Womersley. "Simetrik matrislerin özdeğerlerini optimize etmek için ikinci türevler." SIAM Matris Analizi ve Uygulamaları Dergisi 16.3 (1995): 697-718. http://ftp.cs.nyu.edu/cs/faculty/overton/papers/pdffiles/eighess.pdf
genel bakış
Bu yazıda optimizasyon sorununun iyi bir şekilde ortaya konduğunu ve eşitsizlik kısıtlamalarının çözümde etkin olmadığını, daha sonra entropi fonksiyonunun birinci ve ikinci Frechet türevlerini hesapladığını, daha sonra ortadan kaldırılan eşitlik kısıtlamasıyla Newton'un yöntemini önerdim. Son olarak Matlab kodu ve sayısal sonuçlar sunulur.
Optimizasyon probleminin iyi pozlanması
İlk olarak, pozitif belirli matrislerin toplamı pozitif , bu nedenle , - sıralaması matrislerinin toplamı
pozitif . Set halinde tam rütbe, sonra özdeğer özdeğerlerinin logaritma alınabilir, böylece olumludur. Böylece, objektif fonksiyon uygulanabilir kümenin iç kısmında iyi tanımlanmıştır.A ( c ) : = N ∑ i = 1 c i v i v T i v i Acben> 0
A ( c ) : = ∑i = 1N-cbenvbenvTben
vbenbir
Herhangi olarak İkincisi, , rütbe kaybeder en küçük özdeğer böylece sıfıra gider. Yani, , . türevi olarak patladığı için , uygulanabilir kümenin sınırına yaklaşan sıralı olarak daha iyi ve daha iyi noktalar dizisi olamaz. Dolayısıyla problem iyi tanımlanmıştır ve ayrıca eşitsizlik kısıtlamaları aktif değildir.A A σ m i n ( A ( c ) ) → 0 c i → 0 - σ günlüğü ( σ ) σ → 0 c i ≥ 0cben→ 0birbirσm i n( A ( c ) ) → 0cben→ 0- σgünlük( σ)σ→ 0cben≥ 0
Entropi fonksiyonunun frechet türevleri
Uygulanabilir bölgenin iç kısmında entropi fonksiyonu her yerde Frechet ile ayırt edilebilir ve özdeğerlerin tekrarlanmadığı her yerde iki kez Frechet ayırt edilebilir. Newton'un yöntemini yapmak için, matrisin özdeğerlerine bağlı olan matris entropisinin türevlerini hesaplamamız gerekir. Bu, bir matrisin özdeğer ayrışmasının matristeki değişikliklere göre duyarlılıklarının hesaplanmasını gerektirir.
Özdeğer ayrışması olan bir matris için , orijinal matristeki değişikliklere göre özdeğer matrisinin türevinin
ve özvektörler matrisin türevi,
olan Hadamard ürün katsayısı matrisi ile,
A = U Λ U T d Λ = I ∘ ( U T d A U ) , d U = U C ( d A ) , ∘ C = { u T i d A u jbirA = UΛ UT
dΛ = I∘ ( UTdA U) ,
dU= UC( dA ) ,
∘C= { uTbendbir ujλj- λben,0 ,i = ji = j
Bu tür formüller, özdeğer denklemini farklılaştırarak türetilir ve formüller, özdeğerler farklı olduğunda tutunur. Tekrarlanan özdeğerler olduğunda, formülü , özdeş olmayan özvektörler dikkatle seçildiği sürece uzatılabilen çıkarılabilir bir süreksizliğe sahiptir. Bununla ilgili ayrıntılar için aşağıdaki sunuma ve makaleye bakın .d ΛA U= Λ UdΛ
İkinci türev daha sonra tekrar farklılaştırılarak bulunur,
d2Λ= d( Ben∘ ( UTdbir1U) )= Ben∘ ( dUT2dbir1U+ UTdbir1dU2)= 2 I∘ ( dUT2dbir1U) .
Özdeğer matris birinci türevi tekrar özdeğerler sürekli yapılabilir olmakla birlikte, ikinci türev olamaz çünkü bağlıdır bağlıdır, özdeğerler birbirine doğru dejenere olarak patlar. Bununla birlikte, gerçek çözüm tekrarlanan özdeğerlere sahip olmadığı sürece, sorun olmaz. Sayısal deneyler , bu noktada bir kanıtım olmamasına rağmen, bu genel için geçerli olduğunu düşündürmektedir . Bunu anlamak gerçekten önemlidir, çünkü entropiyi maksimuma çıkarmak genellikle özdeğerleri mümkünse birbirine yaklaştırmaya çalışır.d2ΛdU2Cvben
Eşitlik kısıtlamasını ortadan kaldırmak
kısıtlamasını yalnızca ilk katsayıları üzerinde çalışarak ve ayarlayarak ortadan
ΣN-i = 1cben= 1N-- 1
cN-= 1 - ∑i = 1N-- 1cben.
Genel olarak, yaklaşık 4 sayfa matris hesaplamalarından sonra, ilk katsayılarındaki değişikliklere göre objektif fonksiyonun azaltılmış birinci ve ikinci türevleri ,
burada
N-- 1
df= dCT1MT[ Ben∘ ( VTUB UTV) ]
ddf= dCT1MT[ Ben∘ ( VT[ 2 dU2BbirUT+ UBbUT] V) ] ,
M= ⎡⎣⎢⎢⎢⎢⎢⎢⎢1- 11- 1⋱...1- 1⎤⎦⎥⎥⎥⎥⎥⎥⎥,
Bbir= d i a g ( 1 + günlükλ1, 1 + günlükλ2, … , 1 + günlüğüλN-) ,
Bb= d i a g ( d2λ1λ1, … , D2λN-λN-) .
Kısıtlamayı ortadan kaldırdıktan sonra Newton yöntemi
Eşitsizlik kısıtlamaları etkin olmadığından, iç mekan maksimum değerine kuadratik yakınsama için sadece uygulanabilir kümede başlar ve güven bölgesi veya satır arama hatalı newton-CG çalıştırırız.
Yöntem aşağıdaki gibidir (güven bölgesi / satır arama ayrıntıları dahil değil)
- başlayın .c~= [ 1 / N, 1 / N, … , 1 / N]
- Son katsayıyı oluşturun, .c = [ c~, 1 - ∑N-- 1i = 1cben]
- Konstrukt .A = ∑bencbenvbenvTben
- Özvektörler ve Özdeğer ait .UΛbir
- Degrade .G = MT[ Ben∘ ( VTUB UTV) ]
- Çözün için konjugat gradyan ile (uygulamak için sadece yeteneği değil, gerçek girdileri gerektirir). vektörü uygulanır bularak , ve ve daha sonra, formül, takıp
'HG = pp'H'Hδc~dU2BbirBb
MT[ Ben∘ ( VT[ 2 dU2BbirUT+ UBbUT] V) ]
- Ayar .c~← c~- p
- Git 2.
Sonuçlar
Rasgele , steplength için linesearch ile yöntem çok hızlı bir şekilde yakınsar. Örneğin, (100 ) ile aşağıdaki sonuçlar tipiktir - yöntem kuadratik olarak yakınsar.vbenN-= 100vben
>> N = 100;
>> V = randn (N, N);
>> k = 1 için: NV (:, k) = V (:, k) / norm (V (:, k)); son
>> maxEntropyMatrix (V);
Newton yinelemesi = 1, norm (grad f) = 0.67748
Newton yinelemesi = 2, norm (grad f) = 0.03644
Newton yinelemesi = 3, norm (grad f) = 0.0012167
Newton yinelemesi = 4, norm (grad f) = 1.3239e-06
Newton iterasyonu = 5, norm (grad f) = 7.7114e-13
Hesaplanan optimal noktanın aslında maksimum olduğunu görmek için, burada optimal nokta rastgele bozulduğunda entropinin nasıl değiştiğinin bir grafiği. Tüm düzensizlikler entropiyi azaltır.
Matlab kodu
Entropiyi en aza indirmek için hepsi bir arada işlev (bu gönderiye yeni eklendi):
https://github.com/NickAlger/various_scripts/blob/master/maxEntropyMatrix.m