Inputs
|
Dataset: D = {(x
J,y
J)}, J = {1,…,m}; Base kernel: kerbase; |
Pool size: poolsize; Max. iterations: maxiter; |
Output
|
bestw
|
Algorithm
|
n = dim(x
1); |
W = rand_matrix_01 (poolsize,n) |
repeat for (t = 1, top = 0; t<maxiter; t++) |
[S,U] = random_split (J,n/2) |
repeat for each row w in W |
K = compute_wkernel (w,x
J,kerbase) |
h = train_kperceptron(KS,y
S) |
scorew = 0.99*test_kperceptron (h,KU,y
U)+0.01*len(w) |
if(scorew>top) |
top = scorew; bestw = w; |
end_if |
end_repeat |
B = select_half_best (W,scorei = 1:poolsize); |
μ = mean(B); σ = std_dev(B); |
[δ,ξ] = skewness_schedule (t,top); |
Wnew = μ+((σ+ξ)*rand_matrix_skewed_01 (poolsize,n,δ)) |
Wnew
1 = bestw; W = Wnew
|
end_repeat |