📄 rspoly2.m~
字号:
function red_model = redquadh(model)% REDQUADH reduced SVM classifier with homogeneous quadratic kernel.%% Synopsis:% red_model = redquadh(model)%% Description:% It uses reduced set techique (Burges) to compute % simpler SVM binary rule with homogeneous quadratic kernel (x'*y)^2.% % Input:% model.Alpha [nsv x 1] Weights of kernel expansion.% model.b [scalar] Bias.% model.sv.X [dim x nsv] Support vectors.% model.options.ker = 'poly'% model.options.arg = [2 0]%% Output:% red_model.Alpha [new_nsv x 1] New weights.% red_model.b [scalar] Bias.% red_model.sv.X [dim x new_nsv] New "support vectors".% ...%% Example:% trn = load('riply_trn');% model = smo(trn,{'ker','poly','arg',[2 0],'C',10});% red_model = redquadh( model );% figure; ppatterns(trn); psvm(model);% figure; ppatterns(trn); psvm(red_model);%% Modifications:% 28-nov-2003, VFdim=size(model.sv.X,1);nsv = model.nsv;S = zeros(dim,dim);for i=1:dim, for j=i:dim, S(i,j) = (model.sv.X(i,:).*model.sv.X(j,:) )*model.Alpha(:); S(j,i) = S(i,j); endend[V,D] = eig(S);D=real(diag(D));[dummy,inx] = sort(-abs(D));D=D(inx);V=V(:,inx);inx = find(D ~= 0);red_model.nsv = length(inx);red_model.Alpha = zeros(red_model.nsv,1);red_model.b = model.b;red_model.sv.X = zeros(dim,red_model.nsv);red_model.options = model.options;red_model.classifier = 'svmclass';red_model.eigval = D(inx);cnt = 0;for i=inx(:)', cnt = cnt+1; red_model.sv.X(:,cnt) = V(:,i); red_model.Alpha(cnt) = D(i)/(red_model.sv.X(:,cnt)'*red_model.sv.X(:,cnt));endreturn;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -