cd /afs/cs.cmu.edu/project/lemur-1/lkontor/Archive/CURRENT/matlab_work/string_proc/combinatorics addpcurdir cd /afs/cs.cmu.edu/project/lemur-1/lkontor/Archive/CURRENT/matlab_work/bounds addpcurdir cd ../fsa/ M = read_dfsa('random4.txt'); %M = read_dfsa('random7.txt'); global ALF ALF = M.ALF; global Tgram Tgram = 500; %Tgram = 100; lambda = 10; ntrain = 100; %ntrain = 20; %ntest = 20; %ntest = 1000; %[X,Y] = reglang_posneg_dense(0,5,M); [X,Y] = reglang_posneg_sparse(M,lambda,ntrain); H0 = approx_gram(X,Y); if 0 while 1 H0 = approx_gram(X,Y); save tmpH X Y H0 minL = min(eig(H0)) if minL < -1e-8 Tgram = round(Tgram*1.5); else break end end H = H0; end if 0 hh = sort(unique(H0(:))); mh = hh(2); H = H0; while 1 H = makeposdef(H); minL = min(eig(H0)) if minL >= 0 break end end end H = H0/max(max(H0)); H = H + 1e-8*eye(size(H)); %H = makeposdef(H0); %H = abs(H).* (Y*Y'); %H = gram_matrix(X,@ptkermx,Y); %[nsv, alpha, b0] = svc_gram(H,Y); alpha = mysvm(H,Y); b0 = 0; %ii=find(alpha>1e-5); aa = abs(alpha); aa = aa/max(aa); ii = find(aa > 1e-6); %ii = find(alpha); aa=alpha(ii).*Y(ii); Xii=X(ii); print_xa(Xii,aa) %[Xt,Yt] = reglang_posneg_sparse(Mcor); Tgram = 300; ntest = 1000; [Xt,Yt] = reglang_posneg_sparse(M,lambda,ntest); y_hat = approx_yhat(Xii,Xt,aa,b0); Nerr = length(find(y_hat~=Yt))