Multi-Class SVM. Binary Decision Tree. Issues with LIBSVM
ML System Design practice on Codemia
Design recommenders, ranking systems and training pipelines the way ML interviews actually ask for them, with worked solutions.
Multi-Class SVM
Support Vector Machine (SVM) is primarily designed for binary classification tasks, differentiating between two classes. However, many real-world problems involve more than two classes, making multi-class classification necessary. Various strategies have been developed to extend the binary SVM to multi-class problems.
Approaches to Multi-Class SVM
- One-vs-Rest (OvR): This approach involves training a separate SVM for each class. Each classifier distinguishes one class from all others. For a problem with classes, binary classifiers are trained. During prediction, the classifier that outputs the highest decision value assigns the class for the new instance.
- One-vs-One (OvO): In this method, a classifier is trained for every possible pair of classes. For classes, binary classifiers are established. The final class is determined using a voting scheme among all classifiers.
- Directed Acyclic Graph SVM (DAGSVM): This uses the results from OvO classifiers in a directed acyclic graph structure, leading to faster predictions compared to evaluating every OvO classifier.
- Error-Correcting Output Codes (ECOC): A matrix of binary classifiers is constructed where each class is encoded by a binary string. Errors are corrected by using redundant classifiers.
Benefits and Drawbacks
| Approach | Pros | Cons |
| OvR | Simpler to implement, scales linearly with classes | Potentially less accurate, imbalanced due to larger negative class |
| OvO | More accurate, suitable for large datasets | Computationally expensive for large numbers of classes |
| DAGSVM | Faster than OvO during predictions | Complexity in graph construction |
| ECOC | Higher accuracy due to redundancy | Increased computational cost, design complexity |
Binary Decision Tree
A decision tree is a flowchart-like structure used for making decisions, providing a clear follow-through from root to leaves. Each node represents a test on an attribute, each branch represents the outcome of the test, and each leaf node represents a class label.
Construction of a Binary Decision Tree
- Select Best Split: At each node, choose the best attribute to split the data. Use criteria like Gini impurity or Information Gain.
- Recursive Partitioning: Split the data into subsets based on the attribute, and repeat the process for each subset recursively.
- Stopping Criteria: The recursion stops when a stop condition is reached, such as:
- Maximum tree depth
- Minimum number of samples at a node
- No further information gain
Advantages and Limitations
- Advantages:
- Easy to interpret and visualize
- Non-parametric: no assumptions on space distribution
- Handles both numerical and categorical data
- Limitations:
- Prone to overfitting
- Can become complex and hard to interpret with many features
- Computational costly with large datasets
Example Scenario
A retailer wishes to classify customer data into different purchasing categories using purchase history. A binary decision tree could help by splitting customers into segments based on purchase behaviors, demographics, etc.
Issues with LIBSVM
LIBSVM is a popular open-source library used for SVM that provides a simple interface for SVM methods. Despite its robustness, LIBSVM has several limitations:
- Scalability:
- LIBSVM can struggle with very large datasets due to high computation and memory demands.
- Multi-Class Classification:
- Native support is primarily for binary classification. Multi-class support extensions can be cumbersome to integrate and manage.
- Sparse Data:
- Performance may degrade when dealing with highly sparse datasets, common in NLP and text classification tasks.
- Kernel Selection:
- The choice of kernel and associated parameters can significantly impact performance; however, there’s no built-in mechanism to automate this choice in LIBSVM.
Mitigation Strategies
- Preprocessing and Feature Selection: Employ methods to reduce dataset dimensionality and size before applying LIBSVM.
- Use of LinearSVM for Large Datasets: LinearSVM is an alternative for large-scale linear problems, leveraging the sparse nature of data more effectively.
- Cross-Validation for Kernel Selection: Implement cross-validation to systematically trial different kernel functions and hyperparameters.
Conclusion
Despite these limitations, LIBSVM remains a valuable tool in the machine learning community, particularly for educational purposes and small to medium-sized datasets. Choosing the correct problem formulation and SVM approach can help utilize the potential of LIBSVM effectively.
Related reading
- Multi-Class SVM one versus all
- Multi-label classification Keras metrics
- multi-layer perceptron MLP architecture criteria for choosing number of hidden layers and size of the hidden layer?
- Multi-output neural network combining regression and classification
- Multi-start and Multi-end shortest path set
- multi-way merge vs 2-way merge
- Multi-output regression
- Multi class sparse_categorical_crossentropy TruePositives metric Incompatible shapes 2,128 vs. 2,64

DSA Fundamentals
Master algorithmic patterns and data structures through hands-on LeetCode-style problems - from arrays and hashing to dynamic programming and advanced graphs.
View the courseTrack what you have practised
A free account saves your progress, solutions and study plan across every problem on Codemia.
ML System Design practice on Codemia
Design recommenders, ranking systems and training pipelines the way ML interviews actually ask for them, with worked solutions.