Skip to content

Commit e4fe691

Browse files
committed
fixed precrec_driver; readded paramsel_lambdaguesses calls;
1 parent 35d0b94 commit e4fe691

File tree

8 files changed

+25
-47
lines changed

8 files changed

+25
-47
lines changed

gurls/paramsel/paramsel_hodual.m

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -47,31 +47,23 @@
4747

4848
[n,T] = size(y(tr,:));
4949

50-
if strcmp(opt.kernel.type,'load')
51-
d = n;
52-
else
53-
[n, d] = size(X(tr,:));
50+
if strcmp(opt.kernel.type,'linear')
51+
d = size(X(tr,:),2);
52+
r = min(n,d);
53+
else
54+
r = n;
5455
end
5556

5657
[Q,L] = eig(opt.kernel.K(tr,tr));
5758
Q = double(Q);
5859
L = double(diag(L));
5960

60-
% Replaced with paramsel_lambdaguesses
61-
%tot = opt.nlambda;
62-
%filtered = L(L > 200*eps^0.5);
63-
%lmin = min(filtered)/n;
64-
%lmax = max(filtered)/n;
65-
%q = (lmax/lmin)^(1/tot);
66-
%guesses = zeros(1,tot);
67-
6861
tot = opt.nlambda;
69-
guesses = paramsel_lambdaguesses(L, min(n,d), n, opt);
62+
guesses = paramsel_lambdaguesses(L, r, n, opt);
7063

7164
ap = zeros(tot,T);
7265
QtY = Q'*y(tr,:);
7366
for i = 1:tot
74-
%guesses(i) = lmin*(q^i);
7567
%%%%%% REPLICATING CODE FROM RLS_DUAL %%%%%%%%
7668
opt.rls.C = rls_eigen(Q,L,QtY,guesses(i),n);
7769
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

gurls/paramsel/paramsel_hodualr.m

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,23 +50,23 @@
5050

5151
[n,T] = size(y(tr,:));
5252

53-
if strcmp(opt.kernel.type,'load')
54-
d = n; % Here U is same as Q
55-
else
56-
[n, d] = size(X(tr,:));
53+
if strcmp(opt.kernel.type,'linear')
54+
d = size(X(tr,:),2);
55+
r = min(n,d);
56+
else
57+
r = n;
5758
end
5859

5960
[Q,L,U] = tygert_svd(opt.kernel.K(tr,tr),n);
6061
Q = double(Q);
6162
L = double(diag(L));
6263

63-
guesses = paramsel_lambdaguesses(L, min(n,d), n, opt);
64+
guesses = paramsel_lambdaguesses(L, r, n, opt);
6465
tot = opt.nlambda;
6566
ap = zeros(tot,T);
6667

6768
QtY = Q'*y(tr,:);
6869
for i = 1:tot
69-
%guesses(i) = lmin*(q^i);
7070
%%%%%% REPLICATING CODE FROM RLS_DUAL %%%%%%%%
7171
opt.rls.C = rls_eigen(Q,L,QtY,guesses(i),n);
7272
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

gurls/paramsel/paramsel_hoprimal.m

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -57,17 +57,9 @@
5757
QtXtY = Q'*(X(tr,:)'*y(tr,:));
5858

5959
guesses = paramsel_lambdaguesses(L, min(n,d), n, opt);
60-
61-
% Replaced with new function paramsel_lambdaguesses
62-
%filtered = L(L > 200*eps^0.5);
63-
%lmin = min(filtered)/n;
64-
%lmax = max(filtered)/n;
65-
%q = (lmax/lmin)^(1/tot);
66-
%guesses = zeros(1,tot);
67-
60+
6861
ap = zeros(tot,T);
6962
for i = 1:tot
70-
% guesses(i) = lmin*(q^i); % replaced the computation with new function paramsel_lambdaguesses
7163
opt.rls.W = rls_eigen(Q,L,QtXtY,guesses(i),n);
7264
opt.pred = pred_primal(X(va,:),y(va,:),opt);
7365
opt.perf = opt.hoperf(X(va,:),y(va,:),opt);

gurls/paramsel/paramsel_hoprimalr.m

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -57,17 +57,10 @@
5757

5858
QtXtY = Q'*(X(tr,:)'*y(tr,:));
5959
guesses = paramsel_lambdaguesses(L, d, n, opt);
60-
% Replaced with new function paramsel_lambdaguesses
61-
%filtered = L(L > 200*eps^0.5);
62-
%lmin = min(filtered)/n;
63-
%lmax = max(filtered)/n;
64-
%q = (lmax/lmin)^(1/tot);
65-
%guesses = zeros(1,tot);
6660

6761
tot = opt.nlambda;
6862
ap = zeros(tot,T);
6963
for i = 1:tot
70-
% guesses(i) = lmin*(q^i); % replaced the computation with new function paramsel_lambdaguesses
7164
opt.rls.W = rls_eigen(Q,L,QtXtY,guesses(i),n);
7265
opt.pred = pred_primal(X(va,:),y(va,:),opt);
7366
opt.perf = opt.hoperf(X(va,:),y(va,:),opt);

gurls/paramsel/paramsel_loocvdual.m

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,16 @@
3535
Q = double(Q);
3636
L = double(diag(L));
3737
Qty = Q'*y;
38-
filtered = L(L > 200*eps^0.5);
39-
lmin = min(filtered)/n;
40-
lmax = max(filtered)/n;
41-
q = (lmax/lmin)^(1/tot);
42-
guesses = zeros(1,tot);
38+
39+
if strcmp(opt.kernel.type,'linear')
40+
d = size(X,2);
41+
r = min(n,d);
42+
else
43+
r = n;
44+
end
45+
guesses = paramsel_lambdaguesses(L, r, n, opt);
46+
4347
for i = 1:tot
44-
guesses(i) = lmin*(q^i);
45-
%C = rls_dual(K,y,guesses(i));
4648
C = rls_eigen(Q,L,Qty,guesses(i),n);
4749
Z = GInverseDiagonal(Q,L,guesses(i));
4850
opt.pred = zeros(n,T);

gurls/paramsel/paramsel_loocvprimal.m

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
K = X'*X;
3030
[n,T] = size(y);
3131
d = size(X,2);
32-
tot = opt.nlambda;
3332
[Q,L] = eig(K);
3433
L = double(diag(L));
3534

gurls/paramsel/paramsel_siglam.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
opt.sigmamax = eps;
5959
end
6060
q = (opt.sigmamax/opt.sigmamin)^(1/(opt.nsigma-1));
61-
LOOSQE = zeros(opt.nsigma,opt.nlambda,T);
61+
PERF = zeros(opt.nsigma,opt.nlambda,T);
6262
sigmas = zeros(1,opt.nsigma);
6363

6464
for i = 1:opt.nsigma

gurls/utils/precrec_driver.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323

2424
% compute average precision
2525
ap=0;
26-
for t=0:0.1:1
27-
p=max(prec(rec>=t));
26+
for t=0.0:0.1:1.0
27+
p=max(prec(rec>t | abs(rec - t) < eps));
2828
if isempty(p)
2929
p=0;
3030
end

0 commit comments

Comments
 (0)