問題が対象の問題のより正確な定式化に収束したので、ケース1(既知のリッジパラメーター)の解決策を見つけました。これは、ケース2(正確な分析ソリューションではなく、単純な式といくつかの制約)にも役立ちます。
要約: 2つの逆問題定式化のどちらにも固有の答えはありません。でケース2リッジパラメータ、不明で、無限に多くのソリューションがありますため、。が指定されているケース1では、特異値スペクトルのあいまいさが原因で、有限数の解があります。μ≡ω2Xωω∈[0,ωmax]ωXω
(派生は少し長いので、TL、DR:最後に機能するMatlabコードがあります。)
未決定のケース(「OLS」)
前方問題は
ここで、、および。
minB∥XB−Y∥2
X∈Rn×pB∈Rp×qY∈Rn×q
更新された質問に基づいて、であると仮定します。したがって、と与えられた場合、は決定です。質問のように、私たちは「デフォルト」を仮定します(最小ノルム)解
ある擬似逆の。n<p<qBXYL2
B=X+Y
X+X
*で与えられる
の特異値分解(SVD)から
、擬似逆は**として計算できます。
(第2の式が減少SVDを使用しながら、*最初の式は、フルSVDを使用**簡単にするために、私が想定しています。フルランクを有する、すなわちが存在します。)X
X=USVT=US0VT0
X+=VS+UT=V0S−10UT
S − 1 0XS−10
順問題は、溶液持つように
将来の参考のために、Iノートその、は特異値のベクトルです。S 0 =はdをI G(σ 0)σ 0 > 0
B≡X+Y=(V0S−10UT)Y
S0=diag(σ0)σ0>0
逆問題では、とが与えられます。は上記のプロセスから来たことを知っていますが、ません。タスクは適切なを決定することです。B B X XYBBXX
更新された質問で述べたように、この場合、本質的に同じアプローチを使用してを回復できます。つまり
、逆を使用してなります。X 0 = Y B + BX
X0=YB+
B
過剰決定ケース(リッジ推定器)
「OLS」の場合、最小ノルムのソリューションを選択することで、未決定の問題が解決されました。つまり、「一意の」ソリューションが暗黙的に正則化されました。
最小ノルムのソリューションを選択するのではなく、ここでパラメーターを導入して、ノルムの「小ささ」を制御します。つまり、リッジ回帰を使用します。ω
この場合、与えられる、一連の前方問題があります
左右の異なるベクトルを
収集する問題は、次の「OLS」問題に還元できます。
ここで、拡張行列
、K = 1 、... 、Q 分間β ‖ X β - Y K ‖ 2βkk=1,…,q
B ω = [ β 1、··· 、β K ]
minβ∥Xβ−yk∥2+ω2∥β∥2
分B ‖ X ω B - Y ‖ 2 X ω = [ X ω I ]Bω=[β1,…,βk],Y=[y1,…,yk]
minB∥XωB−Y∥2
Xω=[XωI],Y=[Y0]
この過剰決定の場合、解はまだ擬似逆によって与えられ
が、擬似逆は現在変更されており、結果は*
ここで、新しい「特異点スペクトル」行列は(逆)対角線を持ちます**
(*幾分関与計算は、これは簡潔にするために省略されている導出するために必要な。それは博覧会に類似して、ここのためケース。**ここでのエントリベクトルは、ベクトルで表されます。すべての操作はエントリ単位です。B ω = (V 0 S - 2 ω U T ) Y σ
Bω=X+Y
Bω=(V0S−2ωUT)Y
σ2ω=σ20+ω2σ0
σ ω σ 0p≤nσωσ0
この問題では、として「基本ソリューション」を正式に回復できます
が、これはもはや真のソリューションではありません。
Xω=YB+ω
ただし、この「解決策」はSVD
持ち、上記の特異値持つという類似性がまだあります
。 σ 2 ω
Xω=US2ωVT0
σ2ω
したがって、目的の特異値を回復可能な特異値および正則化パラメーター関連付ける2次方程式を導出できます。解は
σ 2σ0 ωσ0= ˉ σ ±Δσσ2ωω
σ0=σ¯±Δσ,σ¯=12σ2ω,Δσ=(σ¯+ω)(σ¯−ω)−−−−−−−−−−−−√
以下のMatlabデモ(Octaveを介してオンラインでテスト済み)は、この解決方法が理論と同様に実際に機能するように見えることを示しています。最後の行のショーは、すべての特異値という復興している、私は完全に取るためにどのルート考え出したていない(=対)。それは常になりますルート。これは一般に「小さい」に当てはまるようですが、「大きい」はルートが引き継ぐようです。(以下のデモは現在「大」ケースに設定されています。)ˉ σ ± Δ σ + - ω = 0Xσ¯±Δσ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?
逆問題は一般的に不適切であり、分析的ソリューションは非常に脆弱であるため、このソリューションがどれほど堅牢であるかを言うことはできません。しかし、をガウスノイズで汚染する大雑把な実験(つまり、フルランクと低減ランク持っている)は、メソッドが適切に動作していることを示しているようです。p nBpn
問題2(IE用として不明)、上記少なくとも与え上限に。二次判別式が非負であるためには、
ω ω ≤ ω 最大 = ˉ σ N = 分[ 1ωω
ω≤ωmax=σ¯n=min[12σ2ω]
二次ルート符号のあいまいさについて、次のコードスニペットは、がと異なる場合でも、符号に関係なく、すべてのが同じ前方リッジ解を与えることを示しています。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