How to use W vector in adaboost SVM?

2 views (last 30 days)
Fateme Jalali
Fateme Jalali on 20 Aug 2016
Commented: Image Analyst on 20 Aug 2016
Hello,I wrote this code for multiclass classification using svm and adaboost. I do not know how to use W vector for libsvm option (cmd). because W in cmd must be a number, not a vector.can any one help me plz? Thanks.
N = length(X); % X training labels
W = 1/N * ones(N,1); %Weights initialization
M = 10; % Number of boosting iterations
for m=1:M
C = 10; %The cost parameters of the linear SVM, you can...
perform a grid search for the optimal value as well
%Calculate the error and alpha in adaBoost with cross validation
cmd = ['-c ', num2str(C), ' -w ', num2str(W)];
model = svmtrain(X, Y, cmd);
[Xout, acc, ~] = svmpredict(X,Y,cmd);
err = sum(.5 * W .* acc * N)/sum(W);
alpha = log( (1-err)/err );
% update the weight
W = W.*exp( - alpha.*Xout.*X );
W = W/norm(W);
end
  1 Comment
Image Analyst
Image Analyst on 20 Aug 2016
You might want to include your X and Y so people can run your code.

Sign in to comment.

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!