既然问题已经集中在对所关注问题的更精确表述上,我已经找到了情况1(已知的岭参数)的解决方案。这也将对情况2有所帮助(不是确切的分析解决方案,而是一个简单的公式和一些约束条件)。
简介:两个逆问题公式都没有唯一的答案。在情况2中,脊参数是未知的,对于,存在无限多个解。在情况1中,在那里给出,存在用于解决方案的有限数量,由于在奇异值频谱歧义。X ω ω ∈ [ 0 ,ω 最大值 ] ω X ωμ ≡ ω2Xωω ∈ [ 0 ,ω最高]ωXω
(派生有点长,所以TL,DR:最后有一个有效的Matlab代码。)
未确定的情况(“ OLS”)
正向问题是
,其中,和。 X∈ [R Ñ × p乙∈ [R p × q ý∈ [R Ñ × q
分乙∥ XB − Y∥2
X∈ [RÑ × p乙∈ řp × qÿ∈ [Rn × q
基于更新后的问题,我们将假设,因此在给定和情况下是确定的。如该问题,我们将假定的“默认”(最小范数)溶液
,其中是伪逆的。B X Y L 2 B = X + Y X + Xn < p < q乙Xÿ大号2
B = X+ÿ
X+X
根据的奇异值分解(SVD),由*
,伪逆可计算为**
(*第一个表达式使用完整的SVD,而第二个表达式使用简化的SVD。**为简单起见,我假设具有完整的排名,即存在。)X = U S V T = U S 0 V T 0 X + = V S + U T = V 0 S − 1 0 U T X S − 1 0X
X= U小号VŤ= U小号0VŤ0
X+= V小号+üŤ= V0小号− 10üŤ
X小号− 10
因此,正向问题具有解
为了便于将来参考,我注意到,其中是奇异值的向量。小号0 = ð 我一克(σ 0)σ 0 > 0
乙≡ X+ÿ= (V0小号− 10üŤ) Y
小号0= d a a g(σ0)σ0> 0
在反问题,我们给出和。我们知道,从上述过程来了,但我们不知道。该任务就是确定适当的。B B X Xÿ乙乙XX
如更新的问题中所述,在这种情况下,我们可以使用基本上相同的方法来恢复,即
现在使用的伪逆来恢复。X 0 = Y B + BX
X0= Y乙+
乙
案件超额确定(Ridge估计量)
在“ OLS”情况下,通过选择最小范数解解决了欠定问题,即我们的“唯一”解被隐式正则化了。
而不是选择最小范数解,这里我们引入参数来控制范数应该是“多小”,即,我们使用岭回归。ω
在这种情况下,对于,有一系列正向问题,问题由
收集的不同的左和右侧载体引入
此集合的问题可以简化为以下“ OLS”问题
,我们在其中引入了增强矩阵
ķ = 1 ,... ,q 分钟β ‖ X β - ý ķ ‖ 2 + ω 2 ‖ β ‖ 2 乙ω = [ β 1,... ,β ķ ]βķk = 1 ,… ,q
分β∥ Xβ- ÿķ∥2+ ω2∥ β∥2
分钟乙 ‖ X ω乙- ý ‖ 2 X ω = [ X ω 我 ]乙ω= [ β1个,… ,βķ],ÿ= [ y1个,… ,yķ]
分乙∥ Xω乙- ÿ ∥2
Xω= [ Xω 我],Y = [ Y0]
在这种超定情况下,解决方案仍由伪逆
但伪逆现在已更改,从而导致*
,其中新的“奇异谱”矩阵具有(对角)对角线**
(*为简洁起见,省略了为获得此结果而需要的一些计算。这与此处的情况类似。**此处向量以向量的形式表示,其中所有操作都是入门方式。)乙ω = (V 0 小号- 2 ω Ù Ť ) ý σ 2 ω = σ 2 0 + ω 2
乙ω= X+ÿ
乙ω= (V0小号− 2ωüŤ) Y
p≤Ñσωσ0σ2ω= σ20+ ω2σ0
p ≤ ñσωσ0
现在,在此问题中,我们仍然可以正式恢复“基本解决方案”为
但这不再是真正的解决方案。
Xω= Y乙+ω
但是,类比仍然保持,即此“解决方案”具有SVD
且具有上面给出的奇异值。 σ 2 ω
Xω= U小号2ωVŤ0
σ2ω
因此,我们可以得出将期望的奇异值与可恢复的奇异值和正则化参数关联的二次方程。那么解决方案是
σ0σ2ωω
σ0= σ¯± Δ σ,σ¯= 12σ2ω,Δ σ= (σ¯+ ω )(σ¯- ω )------------√
下面的Matlab演示(通过Octave在线测试)表明,这种解决方法在实践和理论上都可行。的最后一行显示的所有奇异值是在重建,但我还没有完全想出走哪根(=对)。对于,它将始终是根。这似乎通常适用于“小”,而对于“大”,根似乎可以接管。(下面的演示当前设置为“大”情况。)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?
我不能说这个解决方案的鲁棒性,因为反问题通常是不适当的,而且分析解决方案可能非常脆弱。但是,用高斯噪声污染粗略实验(即,它具有完整的等级与降低的等级)似乎表明该方法的行为合理。乙pñ
对于问题2(即 unknown),以上内容至少给出了的上限。为了使二次判别式为非负数,我们必须具有
ωω
ω ≤ ω最高= σ¯ñ= 分钟[ 12σ2ω]
对于二次根符号歧义,以下代码段显示,即使与不同,任何都将独立于符号而给出相同的正向脊解。X^乙σ0小号V d [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