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
marginmethod.
Note:
- The output of the
marginmethod 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
marginmethod to restrict it to binary class SVM objects. Training and prediction can still be done for multi-class classification. - MATLAB's
ClassificationSVMonly supports binary or one-class SVM. However, myclassdefsupports 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