Binary and Multi-class SVM

版本3.1.0.1(21 kb) Karl Ezra Pilario
将2D数据分类为2个或更多类的SVM,将3D/2D可视化作为输出。

1.7K Downloads

更新23 Apr 2019

View License

This code is intended to help visualize the learned classifier, when training nonlinear C-SVMs for classifying 2-dimensional data (2 features) to 2 or more classes. The case when C = Inf gives the hard margin classifier, while C < Inf gives the 1-norm soft margin classifier. (See Proposition 6.12 and Eq. (7.1) in Ref. [2])

MATLAB's quadprog is used to solve the dual variables, a. The solver is set to use the interior-point method. The Gaussian radial basis function (RBF) kernel is used to generate nonlinear boundaries.

在二进制分类文件(svmtrial.m)中:有6种不同的培训集可以使用。输出是分类器的3D网格图和支持向量的数量。金宝app

二进制分类的数据集:
(1) TYPICAL
(2) SADDLE
(3) RANDOM
(4) RANDOM, IN ELLIPSE W/ 1 OUTLIER
(5)螺旋
(6) IMBALANCED + OVERLAP

In the Multi-class classification file (DAGsvm.m): There are 5 different training sets to play with. Outputs are the 3D mesh plots of the K*(K-1)/2 classifiers, a plot of the training set, and a list of misclassified training samples. You can also have the code estimate the RBF kernel width, according to [4]. I have used the DAG-SVM algorithm from [3] for multi-class classification. The output mesh plots are, thus, arranged in a directed acyclic graph (DAG).

Data sets for multi-class classification:
(1)(3类)Fisher Iris-花瓣
(2) (4 classes) FAN W/ 4 ARMS
(3)(6个类)随机圆
(4)(5个类)东南亚地图
(5)(7堂)彩虹

You can start by simply running either SVMtrial.m or DAGsvm.m. With these, the user can change certain data points or hyperparameters (kernel width and box constraint) and directly see the effects to the 3D manifold visually. I hope this is useful for educational purposes. This implementation was used in Ref. [5].

References:

[1] Coursera - Machine Learning by Andrew Ng.
[2] Support Vector Machines, Cristianini & Shawe-Taylor, 2000
[3] Platt et al. Large Margin DAGs for Multiclass Classification, Advances in NIPS, 2000.
[4] Karatzoglou et al. Support Vector Machines in R, Journal of Statistical Software, 15(9), 2006.
[5] Eyo et al。一个实时Ob”发展jective Flow Regime Identifier using Kernel Methods", IEEE Trans. on Cybernetics, DOI 10.1109/TCYB.2019.2910257.

Cite As

Karl Ezra Pilario (2022).Binary and Multi-class SVM(//www.tatmou.com/matlabcentral/fileexchange/65232-binary-and-multi-class-svm), MATLAB Central File Exchange. Retrieved.

MATLAB释放兼容性
Created with R2013b
与任何版本兼容
Platform Compatibility
视窗 苹果系统 Linux
Acknowledgements

Inspired by:Red Blue Colormap,SVM

Community Treasure Hunt

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

开始狩猎!