for l=1:M
% 训练支持向量机
Wc=[Ws;Wt];
Wc=Wc/(sum(Wc))';
svm = svmTrain('svc_c',X,Y,ker,C,Wc);
Ydt = svmSim(svm,xt);
Yt=sign(Ydt);
Result = ~~abs(Yt-yt) ; % 错误分类显示为1
p=Wt'.*Result;
e(l) = sum(p);
if e(l)>0.5;
e(l)=0.5;
end
a(l)=e(l)/(1-e(l));
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
% 目标集测试
YL = svmSim(svm,Tx);
L=L+(exp(1-a(l)))*YL;
LL=sign(L);
ResultL = ~abs(LL-Ty); %正确分类显示为1
PP(l) = sum(ResultL)/length(ResultL)
% 更新测试样本权重
if e(l)>0
WT=Wt'.*a(l).^Result;
else
WT=Wt';
end
% 测试样本权重归一化
Wt=(WT/sum(WT))';
% % % % % % % % % % % % % % % % % % % % % % % % % % % % %
Yds = svmSim(svm,x); % 源领域测试输出
YS=sign(Yds);
% 更新源领域1 样本权重
WS=Ws'.*exp((-as)*(~~abs(YS-y)));
WU=abs((WS/sum(WS))'-Ws);
SS=SS+sum(WU);
ss(l)=SS;
% 源领域1 样本权重归一化
Ws=(WS/sum(WS))';
end