亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? lpsvm.m

?? 該文件是Newton Method for LP Support Vector Machine 文章的程序
?? M
字號:
function [w,gamma,trainCorr, testCorr, cpu_time, nu]=lpsvm(A,d,k,nu,output,delta)
% version 1.3
% last revision: 07/07/03
%===========================================================================
% Usage: [w, gamma,trainCorr,testCorr,time,nu]=lpsvm(A,d,k,nu,output,delta);
%
% A and d are both required, everything else has a default
% An example: [w gamma train test time nu] = lpsvm(A,d,10);
%
% Input parameters:
%    A: Data points
%    d: 1's or -1's
%    k: way to divide the data set into test and training set
%       if k = 0: simply run the algorithm without any correctness
%         calculation, this is the default
%       if k = 1: run the algorithm and calculate correctness on
%         the whole data set
%       if k = any value less than the # of rows in the data set:
%         divide up the data set into test and training
%         using k-fold method
%       if k = # of rows in the data set: use the 'leave 1' method
%
%    output: 0 - no output, 1 - produce output, default is 0
%    nu:             weighted parameter
%                    -1 - easy estimation
%                    0  - hard estimation
%                    any other value - used as nu by the algorithm
%                    default - 0
%    delta:  default is 10^-3
%===================================================================
% Output parameters:
%
%       w:              the normal vector of the classifier
%       gamma:          the threshold
%       trainCorr:      training set correctness
%       testCorr:       test set correctness
%       cpu_time:       time elapsed
%       nu:             estimated value (or specified value) of nu
%==========================================================================

if nargin<6
delta=1e-3;
end

if nargin<5
output=0;
end

if ((nargin<4)|(nu==0))
     nu = EstNuLong(A,d);  % default is hard estimation
elseif nu==-1  % easy estimation
nu = EstNuShort(A,d);
end

if nargin<3
k=0;
end

r=randperm(size(d,1));d=d(r,:);A=A(r,:);    % random permutation

tic;

trainCorr=0;
testCorr=0;

if k==0
[w, gamma,iter] = core(A,d,nu,delta);
cpu_time=toc;
  if output==1
fprintf(1,'\nNumber of Iterations: %d',iter);
fprintf(1,'\nElapse time: %10.2f\n\n',cpu_time);
  end
  return
end

%if k==1 only training set correctness is calculated
if k==1
tic;
[w, gamma,iter] = core(A,d,nu,delta);
trainCorr = correctness(A,d,w,gamma);
cpu_time = toc;
  if output == 1
fprintf(1,'\nTraining set correctness: %3.2f%%',trainCorr);
fprintf(1,'\nNumber of Iterations: %d',iter);
fprintf(1,'\nElapse time: %10.2f\n\n',cpu_time);
  end
  return
end

[sm sn]=size(A);
accuIter = 0;

cpu_time = 0;
indx = [0:k];
indx = floor(sm*indx/k);    %last row numbers for all 'segments'
% split trainining set from test set
for i = 1:k
Ctest = []; dtest = [];Ctrain = []; dtrain = [];

Ctest = A((indx(i)+1:indx(i+1)),:);
dtest = d(indx(i)+1:indx(i+1));

Ctrain = A(1:indx(i),:);
Ctrain = [Ctrain;A(indx(i+1)+1:sm,:)];
dtrain = [d(1:indx(i));d(indx(i+1)+1:sm,:)];
tic;
[w, gamma,iter] = core(Ctrain,dtrain,nu,delta);
thisToc = toc;

tmpTrainCorr = correctness(Ctrain,dtrain,w,gamma);
tmpTestCorr = correctness(Ctest,dtest,w,gamma);

 if output==1
fprintf(1,'________________________________________________\n');
fprintf(1,'Fold %d\n',i);
fprintf(1,'Training set correctness: %3.2f%%\n',tmpTrainCorr);
fprintf(1,'Testing set correctness: %3.2f%%\n',tmpTestCorr);
fprintf(1,'Number of iterations: %d\n',iter);
fprintf(1,'Elapse time: %10.2f\n',thisToc);
end

trainCorr = trainCorr + tmpTrainCorr;
testCorr = testCorr + tmpTestCorr;
accuIter = accuIter + iter; % accumulative iterations
cpu_time = cpu_time + thisToc;

end % end of for (looping through test sets)

     trainCorr = trainCorr/k;
     testCorr = testCorr/k;
     cpu_time=cpu_time/k;

if output == 1
     fprintf(1,'==============================================');
fprintf(1,'\nTraining set correctness: %3.2f%%',trainCorr);
fprintf(1,'\nTesting set correctness: %3.2f%%',testCorr);
fprintf(1,'\nAverage number of iterations: %d',accuIter/k);
fprintf(1,'\nAverage cpu_time: %10.2f\n',cpu_time);
end

return;  % lpsvm function return

%%%%%%%%%%% core calculation function %%%%%%%%%%%%%%%%%%%%%
function [w, gamma, iter] = core(A,d,nu,delta);

[m,n]=size(A);

if m>=n
[w,gamma,iter]=lpsvm_with_smw(A,d,nu,delta);
else
[w,gamma,iter]=lpsvm_without_smw(A,d,nu,delta);
end

return

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%   lpsvm when m>=n                                   %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function [w,gamma,iter]=lpsvm_with_smw(A,d,nu,delta)
%with SMW without armijo
%parameters
epsi=10^(-3);alpha=10^(2);tol=10^(-5);maxiter=100;
[m,n]=size(A);
en=ones(n,1);
em=ones(m,1);

% initial u
u=ones(m,1);iter=0;
epsi=epsi*em;nu=nu*em;
diff=1;
DA=spdiags(d,0,m,m)*A;
while (diff>tol) & (iter<maxiter)
    uold=u;
    iter=iter+1;
    du=d.*u;Adu=A'*du;
    pp=max(Adu-en,0);np=max(-Adu-en,0);
    dd=sum(du)*d;unu=max(u-nu,0);uu=max(-u,0);
    %Gradient
    g=-epsi+(d.*(A*pp))-(d.*(A*np))+dd+unu-alpha*uu;
    %Hessian
    E=spdiags(sqrt(sign(np)+sign(pp)),0,n,n);
    H=[DA*E d];
    f=1./(delta+sign(unu)+alpha*sign(uu));
    F=spdiags(f,0,m,m);gg=f.*g;HT=H';
    di=(eye(n+1)+HT*(F*H))\(HT*gg);
    di=H*di;di=f.*di;di=-gg+di;u=u+di;
    diff=norm(g);
end

w=1/epsi(1)*(pp-np);
gamma=-(1/epsi(1))*sum(du);
iter
return



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%   lpsvm when m<n                                    %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [w,gamma,iter]=lpsvm_without_smw(A,d,nu,delta)
%without sherman and without armijo
%parameters
epsi=10^(-1);alpha=10^3;tol=10^(-3);maxiter=50;
[m,n]=size(A);
en=ones(n,1);
em=ones(m,1);
%initial u
u=ones(m,1);iter=0;
epsi=epsi*em;nu=nu*em;
diff=1;
DA=spdiags(d,0,m,m)*A;
while (diff>tol) & (iter<maxiter)
    uold=u;
    iter=iter+1;
    du=d.*u;Adu=A'*du;
    pp=max(Adu-en,0);np=max(-Adu-en,0);
    dd=sum(du)*d;unu=max(u-nu,0);uu=max(-u,0);
    %Gradient
    g=-epsi+(d.*(A*pp))-(d.*(A*np))+dd+unu-alpha*uu;
    %Hessian
    E=spdiags(sqrt(sign(np)+sign(pp)),0,n,n);
    H=[DA*E d];
    F=spdiags(delta+sign(unu)+alpha*sign(uu),0,m,m);
    di=-((H*H'+F)\g);
    u=u+di;
    diff=norm(g);
end
du=d.*u;Adu=A'*du;
pp=max(Adu-en,0);np=max(-Adu-en,0);
w=1/epsi(1)*(pp-np);gamma=-(1/epsi(1))*sum(du);
return

%%%%%%%%%%%%%%%% correctness calculation %%%%%%%%%%%%%%%%

function corr = correctness(AA,dd,w,gamma)

p=sign(AA*w-gamma);
corr=length(find(p==dd))/size(AA,1)*100;
return

%%%%%%%%%%%%%%EstNuLong%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% hard way to estimate nu if not specified by the user
function value = EstNuLong(C,d)

[m,n]=size(C);e=ones(m,1);
H=[C -e];
if m<201
H2=H;d2=d;
else
r=rand(m,1);
[s1,s2]=sort(r);
H2=H(s2(1:200),:);
d2=d(s2(1:200));
end

lamda=1;
[vu,u]=eig(H2*H2');u=diag(u);p=length(u);
yt=d2'*vu;
lamdaO=lamda+1;

cnt=0;
while (abs(lamdaO-lamda)>10e-4) &(cnt<100)
     cnt=cnt+1;
     nu1=0;pr=0;ee=0;waw=0;
     lamdaO=lamda;
     for i=1:p
     nu1= nu1 + lamda/(u(i)+lamda);
pr= pr + u(i)/(u(i)+lamda)^2;
ee= ee + u(i)*yt(i)^2/(u(i)+lamda)^3;
waw= waw + lamda^2*yt(i)^2/(u(i)+lamda)^2;
   end
lamda=nu1*ee/(pr*waw);
end

value = lamda;
if cnt==100
    value=1;
end

return

%%%%%%%%%%%%%%%%%EstNuShort%%%%%%%%%%%%%%%%%%%%%%%

% easy way to estimate nu if not specified by the user
function value = EstNuShort(C,d)

value = 1/(sum(sum(C.^2))/size(C,2));
return

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人综合亚洲网站| 亚洲精品第一国产综合野| 欧美a一区二区| 在线综合视频播放| 久久爱www久久做| 久久精品一区二区三区不卡 | 日本亚洲免费观看| 欧美一区二区三区成人| 精品一区二区三区在线播放视频| 精品国产成人在线影院| 国产aⅴ综合色| 一区二区在线观看视频| 欧美天堂亚洲电影院在线播放| 亚洲18色成人| 精品国产第一区二区三区观看体验| 国产激情视频一区二区三区欧美| 国产精品狼人久久影院观看方式| 欧洲亚洲精品在线| 蜜桃一区二区三区在线观看| 久久久久久久久蜜桃| 91麻豆6部合集magnet| 日韩在线播放一区二区| 久久蜜桃香蕉精品一区二区三区| 成人aaaa免费全部观看| 午夜精品久久一牛影视| 久久精品一区二区三区不卡| 在线日韩av片| 国产高清久久久久| 亚洲国产精品视频| 国产亚洲福利社区一区| 欧美亚洲综合久久| 成人免费视频视频| 日本一道高清亚洲日美韩| 亚洲欧洲日韩综合一区二区| 日韩一二三区视频| 91视视频在线观看入口直接观看www | 欧美日韩国产高清一区二区| 国产美女主播视频一区| 亚洲第一av色| 1024精品合集| 久久嫩草精品久久久精品一| 欧美日韩成人在线| av在线综合网| 黑人巨大精品欧美黑白配亚洲| 亚洲激情成人在线| 精品国产伦一区二区三区观看体验| 91视频在线观看| 国产精品一区二区三区乱码| 午夜国产精品影院在线观看| 一色桃子久久精品亚洲| 精品国产伦理网| 91精品午夜视频| 欧美色图在线观看| 91免费视频大全| 国产.精品.日韩.另类.中文.在线.播放| 日韩福利视频网| 国产精品亚洲综合一区在线观看| 欧美日韩国产天堂| 国产精品嫩草99a| 日韩视频中午一区| 欧美日韩久久一区二区| 91网站黄www| 国产成人亚洲综合a∨猫咪| 日本欧美久久久久免费播放网| 中文字幕永久在线不卡| 国产欧美一区二区在线| 精品久久久三级丝袜| 欧美精品vⅰdeose4hd| 色老汉av一区二区三区| 日本道精品一区二区三区| 97精品久久久久中文字幕| 高清免费成人av| 国产iv一区二区三区| 精品一二三四区| 狠狠狠色丁香婷婷综合久久五月| 国产精品香蕉一区二区三区| 日韩成人一区二区| 日韩高清在线电影| 偷偷要91色婷婷| 免费黄网站欧美| 美女mm1313爽爽久久久蜜臀| 蜜臀va亚洲va欧美va天堂| 秋霞电影网一区二区| 美女爽到高潮91| 激情综合五月婷婷| 国产美女精品人人做人人爽| 国产精品996| 成人激情午夜影院| 色婷婷一区二区三区四区| 日本高清成人免费播放| 欧美日韩中字一区| 日韩无一区二区| 久久婷婷一区二区三区| 国产精品系列在线| 亚洲精品欧美综合四区| 天天综合色天天综合色h| 奇米精品一区二区三区在线观看一| 开心九九激情九九欧美日韩精美视频电影 | 91丨九色丨国产丨porny| 91麻豆免费观看| 欧美日韩精品福利| 精品少妇一区二区三区视频免付费 | av成人动漫在线观看| 在线一区二区观看| 欧美一区二区三区在| 久久久精品一品道一区| 亚洲日本韩国一区| 日本一区中文字幕| 国产精品一区2区| 91国偷自产一区二区开放时间| 欧美日韩高清一区二区三区| 精品99一区二区三区| 中文字幕欧美一| 热久久国产精品| 成人国产一区二区三区精品| 欧美日韩久久一区| 国产日韩欧美精品综合| 亚洲香肠在线观看| 加勒比av一区二区| 欧美中文字幕一区| 久久精品视频免费| 亚洲国产精品视频| 粉嫩绯色av一区二区在线观看| 欧洲色大大久久| 久久精品人人做人人综合| 夜夜嗨av一区二区三区四季av| 精品一区二区免费在线观看| 色综合色狠狠综合色| 欧美草草影院在线视频| 亚洲综合免费观看高清完整版在线| 麻豆高清免费国产一区| 色婷婷综合久久久久中文 | 国产九色sp调教91| 欧美人与禽zozo性伦| 国产精品家庭影院| 91在线视频免费观看| 555www色欧美视频| 亚洲精品综合在线| 国产成人福利片| 日韩一区二区在线看| 一区二区三区在线观看动漫| 国产成人综合自拍| 欧美大片免费久久精品三p| 亚洲宅男天堂在线观看无病毒| 国产精品白丝av| 日韩一二三四区| 午夜影视日本亚洲欧洲精品| 色综合中文字幕国产| 欧美韩日一区二区三区四区| 精品亚洲成av人在线观看| 911精品国产一区二区在线| 一区二区免费在线播放| 97se亚洲国产综合自在线观| 国产视频在线观看一区二区三区| 看国产成人h片视频| 777奇米成人网| 一区二区免费在线| 色综合天天综合网国产成人综合天| 国产丝袜在线精品| 国产精品一区二区在线观看不卡 | 高清国产一区二区三区| 精品国产露脸精彩对白| 老鸭窝一区二区久久精品| 欧美人xxxx| 亚洲va天堂va国产va久| 欧美日韩色综合| 亚洲国产精品久久艾草纯爱| 欧美亚洲动漫另类| 一区二区在线观看视频在线观看| 97久久超碰精品国产| 亚洲欧美日韩精品久久久久| jvid福利写真一区二区三区| 成人欧美一区二区三区视频网页| 成人sese在线| 亚洲欧美电影一区二区| 欧日韩精品视频| 午夜精品免费在线| 日韩午夜电影av| 国内一区二区视频| 国产日韩影视精品| 99免费精品视频| 又紧又大又爽精品一区二区| 欧美中文字幕不卡| 日日夜夜免费精品视频| 欧美成人性福生活免费看| 韩国av一区二区三区在线观看| 国产亚洲成年网址在线观看| 成年人午夜久久久| 亚洲一区二区视频| 日韩视频免费直播| 国产盗摄女厕一区二区三区| 中文字幕中文字幕在线一区| 欧美在线影院一区二区| 日本在线不卡视频一二三区| 精品99一区二区| 北条麻妃国产九九精品视频| 亚洲一区二区免费视频| 日韩一区二区免费在线观看| 国产传媒欧美日韩成人| 伊人性伊人情综合网|