Twin Support Vector Machines

The Twin SVM generates two non-parallel hyper-planes by solving two smaller-sized QPPs such that each hyper-plane is closer to one class and as far as possible from the other. Several extensions of the Twin SVM have been proposed. A comprehensive review of the variants and applications of Twin SVM has been presented by Ding et al.

The Twin SVM is insenstive to imbalance in the class sizes. This is because it solves two smaller sized QPPs in order to find two non-parallel hyperplanes that pass through the respective classes. The first QPP tries to find a hyperplane that passes through points of class (+1) and is at least at a unit distance from the points of the other class. Only samples of class (-1) contribute to the constraints of this problem. The second optimization problem tries to find a hyperplane that passes through samples of class (-1) and is at a distance of at least one from samples of class (+1).

While details of the Twin SVM may be found in the original paper [link], the relative sizes of the two datasets are immaterial in this formulation. One solves for the two hyperplanes and then, for a test sample, determines which is the closer hyperplane and assigns the point to that class. The Twin SVM works very well on multiclass problems, which inherently lead to unbalanced binary classification tasks in a one-versus-rest setting.

The Twin SVM is currently [cite] publications. Chapters on the Twin SVM comprise a number of books.

The Twin SVM code can be downloaded from the Downloads section.