Week 2 (June 3 – June 9) Progress
Added the
margin
method to the classdef ClassificationSVM
.This week, I completed my work on the margin
method. I used the following resources:
- Libsvm PDF by CSIE: It contains the mathematical formulations implemented in LIBSVM, which I used to cross-check against MATLAB's documentation.
- README provided with the LIBSVM package for MATLAB/Octave.
- Matlab's Documentation on the
margin
method.
Note:
- The output of the
margin
method is not matching because of differences in the internal optimizations of MATLAB's implementation and LIBSVM. - In the MATLAB documentation, I only found the formula for binary classification. However, LIBSVM supports multi-class classification as well. Therefore, I had to add a condition in the
margin
method to restrict it to binary class SVM objects. Training and prediction can still be done for multi-class classification. - MATLAB's
ClassificationSVM
only supports binary or one-class SVM. However, myclassdef
supports multi-class SVM as well. I will be discussing this with Andreas in the meeting on 11th June 2024 to decide whether to stick to MATLAB compatibility and restrict usage to binary classes only or provide extra options (multi-class classification) to users.
In the next week, i.e., Week 3 (June 10 – June 16), I will be working on the Loss
method, which, according to the timeline, was targeted for Week 4. I am trying to create a frontlog, as a frontlog is always better than a backlog. 😉
Comments
Post a Comment