Cooles Problem! Wie die Ableitung von Xi'an zeigt, hängt sie mit der Minimierung der KL-Divergenz von Q zu P. zusammen. Cliff bietet auch einen wichtigen Kontext.
Das Problem kann trivial mit einer Optimierungssoftware gelöst werden, aber ich sehe keine Möglichkeit, eine geschlossene Formel für die allgemeine Lösung zu schreiben. Wenn niemals bindet, gibt es eine intuitive Formel.qi≥0
Mit ziemlicher Sicherheit optimal (obwohl meine Beispieldiagramme am Ende zu sehen sind, könnte es nahe sein). Und ist nicht dasselbe Problem wie . Beachten Sie, dass kein äquivalentes Ziel ist wie . Es ist keine monotone Transformation. Erwartung ist eine Summe und das Protokoll geht in die Summe ein, es ist also keine monotone Transformation der Zielfunktion.q≠pmaxE[x]maxE[log(x)]x+ylog(x)+log(y)
KKT-Bedingungen (dh notwendige und ausreichende Bedingungen) für eine Lösung:
Definiere und . Das Problem ist:
q0=0qn+1=0
maximize (over qi)subject to∑ni=1pilog(qi−1+qi+qi+1)qi≥0∑ni=1qi=1
Lagrange:
Dies ist ein konvexes Optimierungsproblem, bei dem Slaters Bedingung gilt, daher sind die KKT-Bedingungen notwendig und ausreichende Bedingungen für ein Optimum. Bedingung erster Ordnung:
L=∑ipilog(qi−1+qi+qi+1)+∑iμiqi−λ(∑iqi−1)
pi−1qi−2+qi−1+qi+piqi−1+qi+qi+1+pi+1qi+qi+1+qi+2=λ−μi
Komplementäre Schlaffheit:
Und natürlich . (Aus meinen Tests geht hervor, dass aber ich verstehe nicht sofort, warum.) und sind Lagrange-Multiplikatoren.
μiqi=0
μi≥0λ=1μiλ
Lösung, wenn niemals bindet.qi≥0
Dann überlegen Sie sich eine Lösung
pi=qi−1+qi+qi+13μi=0λ=1
Wenn wir uns in die Bedingung erster Ordnung einfügen, erhalten wir . So funktioniert es (solange und ebenfalls erfüllt sind).
13+13+13=1∑iqi=1qi≥0
So schreiben Sie das Problem mit Matrizen:
Sei und Vektoren. Sei eine Tri-Band-Diagonalmatrix von Einsen. Z.B. fürpqAn=5
A=⎡⎣⎢⎢⎢⎢⎢⎢1100011100011100011100011⎤⎦⎥⎥⎥⎥⎥⎥
Problem kann mit mehr Matrixnotation geschrieben werden:
maximize (over q)subject top′log(Aq)qi≥0∑iqi=1
Dies kann numerisch schnell gelöst werden, aber ich sehe keinen Weg zu einer sauberen Lösung in geschlossener Form?
Die Lösung ist gekennzeichnet durch:
aber ich sehe nicht, wie schrecklich hilfreich das ist, außer Ihre Optimierungssoftware zu überprüfen.
Ay=λ−ux=Aqyi=pixi
Code zur Lösung mit CVX und MATLAB
A = eye(n) + diag(ones(n-1,1),1) + diag(ones(n-1,1),-1);
cvx_begin
variable q(n)
dual variable u;
dual variable l;
maximize(p'*log(A*q))
subject to:
u: q >= 0;
l: sum(q) <= 1;
cvx_end
Z.B. Eingänge:
p = 0.0724 0.0383 0.0968 0.1040 0.1384 0.1657 0.0279 0.0856 0.2614 0.0095
hat Lösung:
q = 0.0000 0.1929 0.0000 0.0341 0.3886 0.0000 0.0000 0.2865 0.0979 0.0000
Lösung Ich bekomme (blau), wenn ich eine Tonne Mülleimer habe, die im Grunde dem normalen PDF folgen (rot):
Ein weiteres willkürlicheres Problem:
Sehr locker, für Sie , aber wenn sich um eine Tonne bewegt, werden einige knifflige Dinge ausgeführt, bei denen die Optimierung versucht, das zu setzen Masse auf 's in der Nähe von Masse, strategisch zwischen ' s mit Masse platzieren.pi−1≈pi≈pi+1qi≈pipiqipipi
Ein weiterer konzeptioneller Punkt ist, dass die Unsicherheit in Ihrer Prognose Ihre Schätzung von effektiv glättet und ein glatteres eine Lösung , die näher an . (Ich denke das ist richtig.)ppqp