Rozważ standardowy problem regresji OLS : Mam macierze i i chcę znaleźć aby zminimalizować L = \ | \ Y- \ X \ B \ | ^ 2.
Rozwiązanie podano przez \ hat \ B = \ argmin_ \ B \ {L \} = (\ X ^ \ top \ X) ^ + \ X ^ \ top \ Y.
Mogę również stanowić problem „odwrotny”: biorąc pod uwagę Y
Aktualizacja wyjaśnienia: Jak wyjaśnił @ GeoMatt22 w swojej odpowiedzi, jeśli Y
Jestem zainteresowany rozwiązaniem problemu „odwrotnego” regresji grzbietu. Mianowicie, moją funkcją utraty jest teraz L=‖Y−Xβ‖2+μ‖β‖2
Problem „wstecz” polega na znalezieniu ˆX=argminX{‖argminβ{L}−β∗‖2}=?
Ponownie mam macierz odpowiedzi Y
W rzeczywistości istnieją dwie powiązane formuły:
- Znajdź ˆX
X^ dany YY i β∗β∗ i μμ . - Znajdź ˆX
X^ i ˆμμ^ podano YY i β∗β∗ .
Czy któryś z nich ma bezpośrednie rozwiązanie?
Oto krótki fragment Matlaba ilustrujący problem:
% generate some data
n = 10; % number of samples
p = 20; % number of predictors
q = 30; % number of responses
Y = rand(n,q);
X = rand(n,p);
mu = 0;
I = eye(p);
% solve the forward problem: find beta given y,X,mu
betahat = pinv(X'*X + mu*I) * X'*Y;
% backward problem: find X given y,beta,mu
% this formula works correctly only when mu=0
Xhat = Y*betahat'*pinv(betahat*betahat');
% verify if Xhat indeed yields betahat
betahathat = pinv(Xhat'*Xhat + mu*I)*Xhat'*Y;
max(abs(betahathat(:) - betahat(:)))
Ten kod generuje zero, jeśli mu=0
nie inaczej.
źródło
Odpowiedzi:
Teraz, gdy pytanie skupiło się na bardziej precyzyjnym sformułowaniu interesującego nas problemu, znalazłem rozwiązanie dla przypadku 1 (znany parametr grzbietu). Powinno to również pomóc w przypadku 2 (nie do końca rozwiązanie analityczne, ale prosta formuła i niektóre ograniczenia).
(Wyprowadzenie jest nieco długie, więc TL, DR: na końcu jest działający kod Matlab.)
Nieokreślony przypadek („OLS”)
Problem przesyłania dalej to gdzie , iminB‖XB−Y‖2
Na podstawie zaktualizowanego pytanie, będziemy zakładać, , więc jest ustalana pod podany i . Podobnie jak w kwestii, to przyjmujemy "domyślne" (minimalna -norm) Roztwór , gdzie jest pseudoinverse z .n<p<qn<p<q BB XX YY L2L2 B=X+Y
Z rozkładu wartości pojedynczej ( SVD ) , podanego przez * pseudoinwersję można obliczyć jako ** (* Pierwsze wyrażenia używają pełnego SVD, podczas gdy drugie wyrażenia używają zmniejszonego SVD. ** Dla uproszczenia zakładam, że ma pełną pozycję, tj.XX X=USVT=US0VT0
Tak więc problem naprzód ma rozwiązanie W przyszłości, zauważam, że , gdzieB≡X+Y=(V0S−10UT)Y
W odwrotnym problemem, daje nam i . Wiemy, że pochodzi z powyższego procesu, ale nie wiemy, . Następnie należy ustalić odpowiedniYY BB BB XX .
Jak zaznaczono w zaktualizowanym pytanie, w tym przypadku możemy odzyskać stosując zasadniczo takie samo podejście, tzn teraz używając pseudoinverse z .XX0=YB+
Przereklamowany przypadek (estymator grzbietu)
W przypadku „OLS” niedostatecznie określony problem został rozwiązany poprzez wybranie rozwiązania o minimalnej normie , tj. Nasze „unikalne” rozwiązanie zostało domyślnie uregulowane .
Zamiast wybierać rozwiązanie normy minimalnej , tutaj wprowadzamy parametr aby kontrolować „jak małą” powinna być norma, tzn. Używamy regresji grzbietu .ω
W tym przypadku mamy serię problemów do przodu dla , , które są podane przez Zebranie różnych wektorów po lewej i prawej stronie do ta kolekcja problemy można sprowadzić do następującego problemu „OLS” gdzie wprowadziliśmy rozszerzone macierze βkk=1,…,q
minβ‖Xβ−yk‖2+ω2‖β‖2
W tym przereklamowanym przypadku rozwiązanie jest nadal podawane przez pseudo-odwrotność ale pseudo-odwrotność jest teraz zmieniana, w wyniku czego * gdzie nowa macierz „spektrum osobliwości” ma (odwrotną) przekątną ** (* Nieco obliczenia wymagane do uzyskania tego zostały pominięte ze względu na zwięzłość. Jest to podobne do opisu tutaj dla przypadku . ** Tutaj wpisy wektor jest wyrażany w kategoriach wektora , gdzie wszystkie operacje są wprowadzane).Bω=X+Y
Teraz w tym problemie nadal możemy formalnie odzyskać „rozwiązanie podstawowe” jako ale to już nie jest prawdziwe rozwiązanie.Xω=YB+ω
Jednak analogia nadal utrzymuje się w tym, że to „rozwiązanie” ma SVD z pojedynczymi wartościami podanymi powyżej.Xω=US2ωVT0
Możemy więc wyprowadzić równanie kwadratowe dotyczące pożądanych wartości pojedynczych z do odzyskania wartościami pojedynczymi i parametrem regularyzacji . Rozwiązaniem jest zatem σ0σ2ωωσ0=ˉσ±Δσ,ˉσ=12σ2ω,Δσ=√(ˉσ+ω)(ˉσ−ω)
Poniższe demo Matlaba (przetestowane online przez Octave ) pokazuje, że ta metoda rozwiązania wydaje się działać zarówno w praktyce, jak i teorii. Ostatni wiersz pokazuje, że wszystkie pojedyncze wartości znajdują się w rekonstrukcji , ale nie do końca ustaliłem, który root wybrać ( = vs. ). Dla zawsze będzie to root. Wydaje się, że ogólnie dotyczy to „małego” , podczas gdy dla „dużego” wydaje się, że root. (Poniższa wersja demonstracyjna jest obecnie ustawiona na „dużą” wielkość).Xˉσ±Δσ
sgn
+−ω=0+ωω−Nie mogę powiedzieć, jak solidne jest to rozwiązanie, ponieważ odwrotne problemy są na ogół źle postawione, a rozwiązania analityczne mogą być bardzo kruche. Jednak pobieżne eksperymenty zanieczyszczające szumem Gaussa (tj. Mają pełną rangę porównaniu ze zmniejszoną rangą ) wydają się wskazywać, że metoda jest właściwie zachowana.Bpn
Co do problemu 2 (tj nieznany), powyżej daje przynajmniej górna granica w . Aby kwadratowy dyskryminator był nieujemny, musimy mieć ωωω≤ωmax=ˉσn=min[12σ2ω]
W przypadku dwuznaczności znaku kwadratowego-root poniższy fragment kodu pokazuje, że niezależnie od znaku każdy da to samo rozwiązanie grzbietu przód , nawet jeśli różni się od .ˆXBσ0SVD[X]
źródło
pinv
nie jest dobrą rzeczą, zgadzasz się?