Nachdem sich die Frage auf eine genauere Formulierung des interessierenden Problems konzentriert hat, habe ich eine Lösung für Fall 1 (bekannter Kammparameter) gefunden. Dies sollte auch für Fall 2 hilfreich sein (keine exakte analytische Lösung, sondern eine einfache Formel und einige Einschränkungen).
Zusammenfassung: Keine der beiden inversen Problemformulierungen hat eine eindeutige Antwort. In Fall 2 , in dem der Kammparameter unbekannt ist, gibt es unendlich viele Lösungen für . In Fall 1, in dem angegeben ist, gibt es aufgrund der Mehrdeutigkeit im Singularwertspektrum eine endliche Anzahl von Lösungen für .μ≡ω2Xωω∈[0,ωmax]ωXω
(Die Ableitung ist etwas langwierig, also TL, DR: Am Ende befindet sich ein funktionierender Matlab-Code.)
Unterbestimmter Fall ("OLS")
Das Vorwärtsproblem ist
wobei , und .
minB∥XB−Y∥2
X∈Rn×pB∈Rp×qY∈Rn×q
Basierend auf der aktualisierten Frage nehmen wir an, dass , so dass bei und . Wie in der Frage wird die "Standard" (Minimum )
wobei die Pseudoinverse von .n<p<qBXYL2
B=X+Y
X+X
Aus der Singularwertzerlegung ( SVD ) von , gegeben durch *
die Pseudoinverse berechnet werden als **
(* Die ersten Ausdrücke verwenden die vollständige SVD, während die zweiten Ausdrücke die reduzierte SVD verwenden. ** Der Einfachheit halber gehe ich davon aus, dass den vollen Rang hat, dh existiert.)X
X=USVT=US0VT0
X+=VS+UT=V0S−10UT
XS−10
So ist die Vorwärts-Problem hat Lösung
Für die Zukunft stelle ich fest , dass , wo ist der Vektor der Singularwerte.
B≡X+Y=(V0S−10UT)Y
S0=diag(σ0)σ0>0
Bei dem inversen Problem werden wir gegeben und . Wir wissen, dass aus dem obigen Prozess stammt, aber wir kennen . Die Aufgabe besteht dann darin, das entsprechende zu bestimmen .YBBXX
Wie in der aktualisierten Frage erwähnt, in diesem Fall können wir erholen im Wesentlichen mit dem gleichen Ansatz, dh
jetzt der Pseudo - Inverse der Verwendung .X
X0=YB+
B
Überbestimmter Fall (Ridge Estimator)
Im "OLS" -Fall wurde das unterbestimmte Problem durch die Wahl der Minimum-Norm-Lösung gelöst , dh unsere "einzigartige" Lösung wurde implizit geregelt .
Anstatt die minimale Normlösung zu wählen , führen wir hier einen Parameter zu steuern, "wie klein" die Norm sein soll, dh wir verwenden die Kammregression .ω
In diesem Fall haben wir eine Reihe von Vorwärtsproblemen für , , die durch
Sammeln der verschiedenen Vektoren der linken und rechten Seite in
diese Sammlung von Probleme können auf das folgende "OLS" -Problem
bei dem wir die erweiterten Matrizen
βkk=1,…,q
minβ∥Xβ−yk∥2+ω2∥β∥2
Bω=[β1,…,βk],Y=[y1,…,yk]
minB∥XωB−Y∥2
Xω=[XωI],Y=[Y0]
In diesem überbestimmten Fall wird die Lösung immer noch durch das pseudoinverse
aber das pseudoinverse wird jetzt geändert, was zu *
wobei die neue Matrix "Singularitätsspektrum" eine (inverse) Diagonale **
(* Die etwas Berechnung, die erforderlich ist, um dies abzuleiten, wurde der Kürze halber weggelassen. Sie ähnelt der Darstellung hier für den Fall . ** Hier die Einträge des Vektor werden als Vektor , bei dem alle Operationen sind.)
Bω=X+Y
Bω=(V0S−2ωUT)Y
σ2ω=σ20+ω2σ0
p≤nσωσ0
Jetzt können wir in diesem Problem noch formal eine "Basislösung" als
aber dies ist keine echte Lösung mehr.
Xω=YB+ω
Die Analogie gilt jedoch immer noch, dass diese "Lösung" SVD
mit den oben angegebenen singulären Werten .
Xω=US2ωVT0
σ2ω
Wir können also eine quadratische Gleichung ableiten, die die gewünschten Singularwerte mit den wiederherstellbaren Singularwerten und dem Regularisierungsparameter . Die Lösung wird dann
σ0σ2ωω
σ0=σ¯±Δσ,σ¯=12σ2ω,Δσ=(σ¯+ω)(σ¯−ω)−−−−−−−−−−−−√
Die folgende Matlab-Demo (online über Octave getestet ) zeigt, dass diese Lösungsmethode sowohl in der Praxis als auch in der Theorie funktioniert. Die letzte Zeile zeigt, dass alle singulären Werte von in der Rekonstruktion , aber ich habe nicht vollständig herausgefunden, welche Wurzel ich nehmen soll ( = vs. ). Bei dies immer die Wurzel . Diese Regel scheint für „klein“ zu halten , während für „große“ der Wurzel scheint zu übernehmen. (Demo unten ist derzeit auf "Groß" eingestellt.)Xσ¯±Δσsgn
+−ω=0+ωω−
% Matlab demo of "Reverse Ridge Regression"
n = 3; p = 5; q = 8; w = 1*sqrt(1e+1); sgn = -1;
Y = rand(n,q); X = rand(n,p);
I = eye(p); Z = zeros(p,q);
err = @(a,b)norm(a(:)-b(:),Inf);
B = pinv([X;w*I])*[Y;Z];
Xhat0 = Y*pinv(B);
dBres0 = err( pinv([Xhat0;w*I])*[Y;Z] , B )
[Uw,Sw2,Vw0] = svd(Xhat0, 'econ');
sw2 = diag(Sw2); s0mid = sw2/2;
ds0 = sqrt(max( 0 , s0mid.^2 - w^2 ));
s0 = s0mid + sgn * ds0;
Xhat = Uw*diag(s0)*Vw0';
dBres = err( pinv([Xhat;w*I])*[Y;Z] , B )
dXerr = err( Xhat , X )
sigX = svd(X)', sigHat = [s0mid+ds0,s0mid-ds0]' % all there, but which sign?
Ich kann nicht sagen, wie robust diese Lösung ist, da inverse Probleme im Allgemeinen schlecht gestellt sind und analytische Lösungen sehr fragil sein können. Allerdings scheinen flüchtige Experimente, die mit Gaußschem Rauschen belasten (dh es hat den vollen Rang gegenüber dem reduzierten Rang ), darauf hinzudeuten, dass sich die Methode angemessen verhält.Bpn
Für Problem 2 (dh unbekannt) gibt das Obige mindestens eine Obergrenze für . Damit die quadratische Diskriminante nicht negativ ist, muss
ωω
ω≤ωmax=σ¯n=min[12σ2ω]
Für die Mehrdeutigkeit des quadratischen Wurzelzeichens zeigt der folgende Codeausschnitt, dass unabhängig vom Vorzeichen jedes dieselbe Vorwärts- Grat-Lösung ergibt, auch wenn von abweicht .X^Bσ0SVD[X]
Xrnd=Uw*diag(s0mid+sign(randn(n,1)).*ds0)*Vw0'; % random signs
dBrnd=err(pinv([Xrnd;w*I])*[Y;Z],B) % B is always consistent ...
dXrnd=err(Xrnd,X) % ... even when X is not