ตอนนี้คำถามได้มาบรรจบกับการกำหนดปัญหาที่น่าสนใจมากขึ้นฉันได้พบวิธีแก้ปัญหาสำหรับกรณีที่ 1 (พารามิเตอร์ริดจ์ที่รู้จัก) สิ่งนี้จะช่วยในกรณีที่ 2 (ไม่ใช่โซลูชันเชิงวิเคราะห์ แต่เป็นสูตรที่เรียบง่ายและข้อ จำกัด บางอย่าง)
สรุป:ทั้งสองสูตรปัญหาผกผันไม่มีคำตอบที่ไม่ซ้ำกัน ในกรณีที่ 2ที่สันเขาพารามิเตอร์เป็นที่รู้จักมีเพียบหลายโซลูชั่นX ωสำหรับω ∈ [ 0 , ω สูงสุด ] ในกรณีที่ 1 ซึ่งให้ωมีจำนวน จำกัด ของวิธีแก้ปัญหาสำหรับX ωเนื่องจากความคลุมเครือในสเปกตรัมค่าเอกพจน์μ≡ω2Xωω∈[0,ωmax]ωXω
(รากศัพท์นั้นยาวไปหน่อยดังนั้น TL, DR: จะมีรหัส Matlab ที่ใช้งานได้ในตอนท้าย)
กรณีที่ไม่ได้รับการพิจารณา ("OLS")
ปัญหาที่เกิดขึ้นข้างหน้าเป็น
ที่X ∈ R n × P , B ∈ R P × QและY ∈ R n × Q
minB∥XB−Y∥2
X∈Rn×pB∈Rp×qY∈Rn×q
ขึ้นอยู่กับคำถามที่ปรับปรุงแล้วเราจะถือว่าดังนั้นBอยู่ภายใต้การกำหนดให้XและY ในฐานะที่เป็นคำถามที่เราจะถือว่า "เริ่มต้น" (ขั้นต่ำL 2 -norm) สารละลาย
B = X + Y
ที่X +เป็นpseudoinverseของXn<p<qBXYL2
B=X+Y
X+X
จากการสลายตัวของเอกพจน์ ( SVD ) ของซึ่งกำหนดโดย *
X = U S V T = U S 0 V T 0
pseudoinverse สามารถคำนวณได้เป็น **
X + = V S + U T = V 0 S - 1 0 U T
(* นิพจน์แรกใช้ SVD แบบเต็มในขณะที่นิพจน์ที่สองใช้ SVD ที่ลดลง ** สำหรับความเรียบง่ายฉันถือว่าXมีระดับเต็มเช่นS - 1 0X
X=USVT=US0VT0
X+=VS+UT=V0S−10UT
XS−10มีอยู่)
ดังนั้นปัญหาไปข้างหน้ามีทางออก
สำหรับการอ้างอิงในอนาคตฉันทราบว่าS 0 = d ฉันa g ( σ 0 )โดยที่σ 0 > 0
B≡X+Y=(V0S−10UT)Y
S0=diag(σ0)σ0>0เป็นเวกเตอร์ ของค่าเอกพจน์
ในตรงกันข้ามปัญหาเราจะได้รับและB เรารู้ว่าBมาจากกระบวนการข้างต้น แต่เราไม่ทราบว่าX จากนั้นภารกิจคือการพิจารณาXที่เหมาะสมYBBXX X
ดังที่ระบุไว้ในคำถามที่ปรับปรุงแล้วในกรณีนี้เราสามารถกู้คืนโดยใช้วิธีการเดียวกันโดยพื้นฐานคือ
X 0 = Y B +X
X0=YB+
ตอนนี้ใช้ pseudoinverse ของB
B
กรณีที่กำหนดมากเกินไป (ตัวประมาณแบบสัน)
ในกรณี "OLS" ปัญหาภายใต้การพิจารณาถูกแก้ไขโดยการเลือก วิธีแก้ปัญหาขั้นต่ำเช่นวิธีการ "เฉพาะ" ของเรานั้นโดยปริยายทำให้เป็นระเบียบ regularized
แทนที่จะเลือกวิธีแก้ปัญหาบรรทัดฐานขั้นต่ำที่นี่เราแนะนำพารามิเตอร์เพื่อควบคุม "บรรทัดฐาน" ควรจะเล็กแค่ไหนเช่นเราใช้ωการถดถอยของสันการถดถอยสันเขา
ในกรณีนี้เรามีชุดของปัญหาไปข้างหน้าสำหรับ , k = 1 , ... , คิวที่จะได้รับจากนาทีβ ‖ X β - Y k ‖ 2 + ω 2 ‖ β ‖ 2
การจัดเก็บภาษีซ้ายที่แตกต่างกันและขวา เวกเตอร์ข้างมือเป็น
B ω = [ β 1 , … , β kβkk=1,…,q
minβ∥Xβ−yk∥2+ω2∥β∥2
คอลเลกชันของปัญหานี้สามารถลดลงได้ต่อไปนี้ "OLS" ปัญหา
นาทีB ‖ X ω B - Y ‖ 2
ที่เราได้แนะนำเติมเมทริกซ์
X ω = [ X ω ฉัน ]Bω=[β1,…,βk],Y=[y1,…,yk]
minB∥XωB−Y∥2
Xω=[XωI],Y=[Y0]
Bω=X+Y
Bω=(V0S−2ωUT)Y
σ2ω=σ20+ω2σ0
p≤nσω vector are expressed in terms of the
σ0 vector, where all operations are entry-wise.)
Now in this problem we can still formally recover a "base solution" as
Xω=YB+ω
but this is not a true solution anymore.
However, the analogy still holds in that this "solution" has SVD
Xω=US2ωVT0
with the singular values
σ2ω given above.
So we can derive a quadratic equation relating the desired singular values σ0 to the recoverable singular values σ2ω and the regularization parameter ω. The solution is then
σ0=σ¯±Δσ,σ¯=12σ2ω,Δσ=(σ¯+ω)(σ¯−ω)−−−−−−−−−−−−√
The Matlab demo below (tested online via Octave) shows that this solution method appears to work in practice as well as theory. The last line shows that all the singular values of X are in the reconstruction σ¯±Δσ, but I have not completely figured out which root to take (sgn
= + vs. −). For ω=0 it will always be the + root. This generally seems to hold for "small" ω, whereas for "large" ω the − root seems to take over. (Demo below is set to "large" case currently.)
% 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?
I cannot say how robust this solution is, as inverse problems are generally ill-posed, and analytical solutions can be very fragile. However cursory experiments polluting B with Gaussian noise (i.e. so it has full rank p vs. reduced rank n) seem to indicate the method is reasonably well behaved.
As for problem 2 (i.e. ω unknown), the above gives at least an upper bound on ω. For the quadratic discriminant to be non-negative we must have
ω≤ωmax=σ¯n=min[12σ2ω]
For the quadratic-root sign ambiguity, the following code snippet shows that independent of sign, any X^ will give the same forward B ridge-solution, even when σ0 differs from SVD[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