天天看點

吉洪諾夫 matlab,使用三種方法求解吉洪諾夫正則化參數,為什麼結果相同

問題主要是使用了三種不同的方法去求解吉洪諾夫正則化的參數,具體過程在附件,但是求解的結果不怎麼對勁

%以下為L曲線驗證

[L,W]=get_l(76,2);

[UU,sm,XX] = cgsvd (A_living,L);

reg_corner = l_curve (UU,sm,b_living);

x_living = tikhonov(UU,sm,XX,b_living,reg_corner);

C_living_anti1=bedroom2_livingroom*x_living*30.68/85.8;

C_bedroom1_anti1=bedroom2_bedroom1*x_living*30.68/38.22;

%以下為GCV驗證,

[U,s,V] = csvd (A_living);

lambda = gcv (U,s,b_living);

x_lambda_living = tikhonov (U,s,V,b_living,lambda);

C_living_anti2=A_living*x_lambda_living;

C_bedroom1_anti2=A_bedroom1*x_lambda_living;

%以下為quasiopt驗證

[L,W]=get_l(76,2);

[UU,sm,XX] = cgsvd (A_living,L);

lambda_opt_living = quasiopt (UU,sm,b_living);

x_qua_living = tikhonov(UU,sm,XX,b_living,lambda_opt_living);

C_living_anti3=A_living*x_qua_living;

C_bedroom1_anti3=A_bedroom1*x_qua_living;

為什麼使用了三種不同的方法去求解中間的參數,得出的結果,關于x_living使用L曲線和使用quasiopt方法求解結果相同

另外,關于C_living_anti以及C_bedroom1_anti為什麼三種結果是一樣的啊,講道理不應該有差别才對的嘛

吉洪諾夫 matlab,使用三種方法求解吉洪諾夫正則化參數,為什麼結果相同

2018-6-26 18:20 上傳

點選檔案名下載下傳附件

10.35 KB, 下載下傳次數: 50

程式包