Skip to content

Instantly share code, notes, and snippets.

@Saurabh7
Created March 18, 2014 01:30
Show Gist options
  • Save Saurabh7/9611913 to your computer and use it in GitHub Desktop.
Save Saurabh7/9611913 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "multiclass_reduction"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "heading",
"level": 1,
"metadata": {},
"source": [
"Multiclass Reductions"
]
},
{
"cell_type": "heading",
"level": 4,
"metadata": {},
"source": [
"by Chiyuan Zhang and Sören Sonnenburg"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Since binary classification problems are one of the most thoroughly studied\n",
"problems in machine learning, it is very appealing to consider reducing\n",
"multiclass problems to binary ones. Then many advanced learning and\n",
"optimization techniques as well as generalization bound analysis for binary\n",
"classification can be utilized."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"\n",
"In `SHOGUN`, the strategies of reducing a multiclass problem to binary\n",
"classification problems are described by an instance of\n",
"`CMulticlassStrategy`. A multiclass strategy describes\n",
"\n",
"* How to train the multiclass machine as a number of binary machines?\n",
" * How many binary machines are needed?\n",
" * For each binary machine, what subset of the training samples are used, and how are they colored? In multiclass problems, we use *coloring* to refer partitioning the classes into two groups: $+1$ and $-1$, or black and white, or any other meaningful names.\n",
"* How to combine the prediction results of binary machines into the final multiclass prediction?\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The user can derive from the virtual class [CMulticlassStrategy](http://www.shogun-toolbox.org/doc/en/latest/classshogun_1_1CMulticlassStrategy.html) to\n",
"implement a customized multiclass strategy. But usually the built-in strategies\n",
"are enough for general problems. We will describe the built-in *One-vs-Rest*,\n",
"*One-vs-One* and *Error-Correcting Output Codes* strategies in this tutorial.\n",
"\n",
"The basic routine to use a multiclass machine with reduction to binary problems\n",
"in shogun is to create a generic multiclass machine and then assign a particular\n",
"multiclass strategy and a base binary machine."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## One-vs-Rest and One-vs-One\n",
"\n",
"The *One-vs-Rest* strategy is implemented in\n",
"`CMulticlassOneVsRestStrategy`. As indicated by the name, this\n",
"strategy reduce a $K$-class problem to $K$ binary sub-problems. For the $k$-th\n",
"problem, where $k\\in\\{1,\\ldots,K\\}$, the samples from class $k$ are colored as\n",
"$+1$, and the samples from other classes are colored as $-1$. The multiclass\n",
"prediction is given as\n",
"\n",
"$$\n",
"f(x) = \\operatorname*{argmax}_{k\\in\\{1,\\ldots,K\\}}\\; f_k(x)\n",
"$$\n",
"\n",
"where $f_k(x)$ is the prediction of the $k$-th binary machines.\n",
"\n",
"The One-vs-Rest strategy is easy to implement yet produces excellent performance\n",
"in many cases. One interesting paper, [Rifkin, R. M. and Klautau, A. (2004). *In defense of one-vs-all classification*. Journal of Machine\n",
"Learning Research, 5:101\u2013141](http://jmlr.org/papers/v5/rifkin04a.html), it was shown that the\n",
"One-vs-Rest strategy can be\n",
"\n",
"> as accurate as any other approach, assuming that the underlying binary\n",
"classifiers are well-tuned regularized classifiers such as support vector\n",
"machines.\n",
"\n",
"Implemented in [CMulticlassOneVsOneStrategy](http://www.shogun-toolbox.org/doc/en/latest/classshogun_1_1CMulticlassOneVsOneStrategy.html), the \n",
"*One-vs-One* strategy is another simple and intuitive \n",
"strategy: it basically produces one binary problem for each pair of classes. So there will be $\\binom{K}{2}$ binary problems. At prediction time, the \n",
"output of every binary classifiers are collected to do voting for the $K$ \n",
"classes. The class with the highest vote becomes the final prediction.\n",
"\n",
"Compared with the One-vs-Rest strategy, the One-vs-One strategy is usually more\n",
"costly to train and evaluate because more binary machines are used.\n",
"\n",
"In the following, we demonstrate how to use `SHOGUN`'s One-vs-Rest and \n",
"One-vs-One multiclass learning strategy on the USPS dataset. For \n",
"demonstration, we randomly 200 samples from each class for training and 200 \n",
"samples from each class for testing.\n",
"\n",
"The [CLibLinear](http://www.shogun-toolbox.org/doc/en/latest/classshogun_1_1CLibLinear.html) is used as the base binary classifier in a [CLinearMulticlassMachine](http://www.shogun-toolbox.org/doc/en/latest/classshogun_1_1CLinearMulticlassMachine.html), with One-vs-Rest and One-vs-One strategies. The running time and performance (on my machine) is reported below:"
]
},
{
"cell_type": "raw",
"metadata": {},
"source": [
"-------------------------------------------------\n",
"Strategy Training Time Test Time Accuracy\n",
"------------- ------------- --------- --------\n",
"One-vs-Rest 12.68 0.27 92.00%\n",
"One-vs-One 11.54 1.50 93.90%\n",
"-------------------------------------------------\n",
"Table: Comparison of One-vs-Rest and One-vs-One multiclass reduction strategy on the USPS dataset."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"First we load the data and initialize random splitting:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import numpy as np\n",
"\n",
"from numpy import random\n",
"from scipy.io import loadmat\n",
"\n",
"mat = loadmat('../../../data/multiclass/usps.mat')\n",
"Xall = mat['data']\n",
"\n",
"#normalize examples to have norm one\n",
"Xall = Xall / np.sqrt(sum(Xall**2,0))\n",
"Yall = mat['label'].squeeze()\n",
"\n",
"# map from 1..10 to 0..9, since shogun\n",
"# requires multiclass labels to be\n",
"# 0, 1, ..., K-1\n",
"Yall = Yall - 1\n",
"\n",
"N_train_per_class = 200\n",
"N_test_per_class = 200\n",
"N_class = 10\n",
"\n",
"# to make the results reproducable\n",
"random.seed(0)\n",
"\n",
"# index for subsampling\n",
"index = np.zeros((N_train_per_class+N_test_per_class, N_class), 'i')\n",
"for k in range(N_class):\n",
" Ik = (Yall == k).nonzero()[0] # index for samples of class k\n",
" I_subsample = random.permutation(len(Ik))[:N_train_per_class+N_test_per_class]\n",
" index[:, k] = Ik[I_subsample]\n",
"\n",
"idx_train = index[:N_train_per_class, :].reshape(N_train_per_class*N_class)\n",
"idx_test = index[N_train_per_class:, :].reshape(N_test_per_class*N_class)\n",
"\n",
"random.shuffle(idx_train)\n",
"random.shuffle(idx_test)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"import SHOGUN components and convert features into SHOGUN format:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from modshogun import RealFeatures, MulticlassLabels\n",
"from modshogun import LibLinear, L2R_L2LOSS_SVC, LinearMulticlassMachine\n",
"from modshogun import MulticlassOneVsOneStrategy, MulticlassOneVsRestStrategy\n",
"from modshogun import MulticlassAccuracy\n",
"\n",
"import time\n",
"\n",
"feats_train = RealFeatures(Xall[:, idx_train])\n",
"feats_test = RealFeatures(Xall[:, idx_test])\n",
"\n",
"lab_train = MulticlassLabels(Yall[idx_train].astype('d'))\n",
"lab_test = MulticlassLabels(Yall[idx_test].astype('d'))"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"define a helper function to train and evaluate multiclass machine given a strategy:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def evaluate(strategy, C):\n",
" bin_machine = LibLinear()\n",
" bin_machine.set_bias_enabled(True)\n",
" bin_machine.set_C(C, C)\n",
"\n",
" mc_machine = LinearMulticlassMachine(strategy, feats_train, bin_machine, lab_train)\n",
"\n",
" t_begin = time.clock()\n",
" mc_machine.train()\n",
" t_train = time.clock() - t_begin\n",
"\n",
" t_begin = time.clock()\n",
" pred_test = mc_machine.apply_multiclass(feats_test)\n",
" t_test = time.clock() - t_begin\n",
"\n",
" evaluator = MulticlassAccuracy()\n",
" acc = evaluator.evaluate(pred_test, lab_test)\n",
"\n",
" print \"training time: %.4f\" % t_train\n",
" print \"testing time: %.4f\" % t_test\n",
" print \"accuracy: %.4f\" % acc"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 3
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Test on One-vs-Rest and One-vs-One strategies."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"print \"\\nOne-vs-Rest\"\n",
"print \"=\"*60\n",
"evaluate(MulticlassOneVsRestStrategy(), 5.0)\n",
"\n",
"print \"\\nOne-vs-One\"\n",
"print \"=\"*60\n",
"evaluate(MulticlassOneVsOneStrategy(), 2.0)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"One-vs-Rest\n",
"============================================================\n",
"training time: 0.3000"
]
},
{
"output_type": "stream",
"stream": "stderr",
"text": [
"-c:9: RuntimeWarning: \u001b[1;34m[WARN]\u001b[0m In file /home/saurabh/dev/shogun-develop/src/shogun/classifier/svm/LibLinear.cpp line 416: reaching max number of iterations\n",
"Using -s 2 may be faster(also see liblinear FAQ)\n",
"\n",
"\n",
"-c:7: RuntimeWarning: \u001b[1;34m[WARN]\u001b[0m In file /home/saurabh/dev/shogun-develop/src/shogun/multiclass/MulticlassOneVsOneStrategy.cpp line 33: MulticlassOneVsOneStrategy::CMulticlassOneVsOneStrategy(): register parameters!\n",
"\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"testing time: 0.0100\n",
"accuracy: 0.9265\n",
"\n",
"One-vs-One\n",
"============================================================\n",
"training time: 0.4100"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"testing time: 0.0800\n",
"accuracy: 0.9430\n"
]
}
],
"prompt_number": 4
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"LibLinear also has a true multiclass SVM implemenentation - so it is worthwhile to compare training time and accuracy with the above reduction schemes:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from modshogun import MulticlassLibLinear\n",
"mcsvm = MulticlassLibLinear(5.0, feats_train, lab_train)\n",
"mcsvm.set_use_bias(True)\n",
"\n",
"t_begin = time.clock()\n",
"mcsvm.train(feats_train)\n",
"t_train = time.clock() - t_begin\n",
"\n",
"t_begin = time.clock()\n",
"pred_test = mcsvm.apply_multiclass(feats_test)\n",
"t_test = time.clock() - t_begin\n",
"\n",
"evaluator = MulticlassAccuracy()\n",
"acc = evaluator.evaluate(pred_test, lab_test)\n",
"\n",
"print \"training time: %.4f\" % t_train\n",
"print \"testing time: %.4f\" % t_test\n",
"print \"accuracy: %.4f\" % acc"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"training time: 0.8500\n",
"testing time: 0.0200\n",
"accuracy: 0.9300\n"
]
}
],
"prompt_number": 5
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As you can see performance of all the three is very much the same though the multiclass svm is a bit faster in training. Usually training time of the true multiclass SVM is much slower than one-vs-rest approach. It should be noted that classification performance of one-vs-one is known to be slightly superior to one-vs-rest since the machines do not have to be properly scaled like in the one-vs-rest approach. However, with larger number of classes one-vs-one quickly becomes prohibitive and so one-vs-rest is the only suitable approach - or other schemes presented below."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Error-Correcting Output Codes\n",
"\n",
"*Error-Correcting Output Codes* (ECOC) is a\n",
"generalization of the One-vs-Rest and One-vs-One strategies. For example, we\n",
"can represent the One-vs-Rest strategy with the following $K\\times K$ coding \n",
"matrix, or a codebook:\n",
"\n",
"$$\n",
" \\begin{bmatrix}\n",
" +1 & -1 & -1 & \\ldots & -1 & -1 \\\\\\\\\n",
" -1 & +1 & -1 & \\ldots & -1 & -1\\\\\\\\\n",
" -1 & -1 & +1 & \\ldots & -1 & -1\\\\\\\\\n",
" \\vdots & \\vdots & \\vdots & \\ddots & \\vdots & \\vdots \\\\\\\\\n",
" -1 & -1 & -1 & \\ldots & +1 & -1 \\\\\\\\\n",
" -1 & -1 & -1 & \\ldots & -1 & +1\n",
" \\end{bmatrix}\n",
"$$\n",
"\n",
"Denote the codebook by $B$, there is one column of the codebook associated with\n",
"each of the $K$ classes. For example, the code for class $1$ is\n",
"$[+1,-1,-1,\\ldots,-1]$. Each row of the codebook corresponds to a binary\n",
"coloring of all the $K$ classes. For example, in the first row, the class $1$\n",
"is colored as $+1$, while the rest of the classes are all colored as $-1$.\n",
"Associated with each row, there is a binary classifier trained according to the\n",
"coloring. For example, the binary classifier associated with the first row is\n",
"trained by treating all the examples of class $1$ as positive examples, and all\n",
"the examples of the rest of the classes as negative examples.\n",
"\n",
"In this special case, there are $K$ rows in the codebook. The number of rows in\n",
"the codebook is usually called the *code length*. As we can see, this\n",
"codebook exactly describes how the One-vs-Rest strategy trains the binary\n",
"sub-machines."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"OvR=-np.ones((10,10))\n",
"fill_diagonal(OvR, +1)\n",
"\n",
"_=gray()\n",
"_=imshow(OvR, interpolation='nearest')\n",
"_=gca().set_xticks([])\n",
"_=gca().set_yticks([])"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAO0AAADtCAYAAABTTfKPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAA1RJREFUeJzt3cFqwlAURdGX0v//5XRebKyVq9npWlMRMtleQThu+77v\nC8j4ePcDAI8RLcSIFmJECzGihRjRQszn0Yvbtr3qOYBvfvo19jDaozc+w4cB/J2vxxAjWogRLcSI\nFmJECzGihRjRQoxoIUa0ECNaiBEtxIgWYkQLMaKFGNFCjGghRrQQI1qIES3E3N2Imthzmvz7IPtT\nXJ1LCzGihRjRQoxoIUa0ECNaiBEtxIgWYkQLMaKFGNFCjGghRrQQI1qIES3EiBZiRAsxooUY0UKM\naCFGtBAjWoi5O6E6YXLmdGqe1TQrZ+HSQoxoIUa0ECNaiBEtxIgWYkQLMaKFGNFCjGghRrQQI1qI\nES3EiBZiRAsxooUY0UKMaCFGtBAjWogRLcS8ZY1x0tRq4tTK41qWHnmMSwsxooUY0UKMaCFGtBAj\nWogRLcSIFmJECzGihRjRQoxoIUa0ECNaiBEtxIgWYkQLMaKFGNFCjGghRrQQI1qIudyE6pTJmdOp\neVbTrNfk0kKMaCFGtBAjWogRLcSIFmJECzGihRjRQoxoIUa0ECNaiBEtxIgWYkQLMaKFGNFCjGgh\nRrQQI1qIES3EWGM8ganVRCuP1+TSQoxoIUa0ECNaiBEtxIgWYkQLMaKFGNFCjGghRrQQI1qIES3E\niBZiRAsxooUY0UKMaCFGtBAjWogRLcRYY7yw2srjWpYef8OlhRjRQoxoIUa0ECNaiBEtxIgWYkQL\nMaKFGNFCjGghRrQQI1qIES3EiBZiRAsxooUY0UKMaCFGtBAjWogRLcSYUOVhkzOnU/OsV5pmdWkh\nRrQQI1qIES3EiBZiRAsxooUY0UKMaCFGtBAjWogRLcSIFmJECzGihRjRQoxoIUa0ECNaiBEtxIgW\nYqwxcipTq4lTK49rvX7p0aWFGNFCjGghRrQQI1qIES3EiBZiRAsxooUY0UKMaCFGtBAjWogRLcSI\nFmJECzGihRjRQoxoIUa0ECNaiBEtxJhQ5V+YnDmdmGc9el6XFmJECzGihRjRQoxoIUa0ECNaiBEt\nxIgWYkQLMaKFGNFCjGghRrQQI1qIES3EiBZiRAsxooUY0UKMaCHGGiM8aXLp8ZbDaCemIYHn+HoM\nMaKFGNFCjGghRrQQ8wU9wyoL4eAloAAAAABJRU5ErkJggg==\n"
}
],
"prompt_number": 6
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"A further generalization is to allow $0$-values in the codebook. A $0$ for a\n",
"class $k$ in a row means we ignore (the examples of) class $k$ when training\n",
"the binary classifiers associated with this row. With this generalization, we\n",
"can also easily describes the One-vs-One strategy with a $\\binom{K}{2}\\times K$\n",
"codebook:\n",
"\n",
"$$\n",
"\\begin{bmatrix}\n",
"+1 & -1 & 0 & \\ldots & 0 & 0 \\\\\\\\\n",
"+1 & 0 & -1 & \\ldots & 0 & 0 \\\\\\\\\n",
"\\vdots & \\vdots & \\vdots & \\ddots & \\vdots & 0 \\\\\\\\\n",
"+1 & 0 & 0 & \\ldots & -1 & 0 \\\\\\\\\n",
"0 & +1 & -1 & \\ldots & 0 & 0 \\\\\\\\\n",
"\\vdots & \\vdots & \\vdots & & \\vdots & \\vdots \\\\\\\\\n",
"0 & 0 & 0 & \\ldots & +1 & -1\n",
"\\end{bmatrix}\n",
"$$\n",
"\n",
"Here each of the $\\binom{K}{2}$ rows describes a binary classifier trained with\n",
"a pair of classes. The resultant binary classifiers will be identical as those\n",
"described by a One-vs-One strategy.\n",
"\n",
"Since $0$ is allowed in the codebook to ignore some classes, this kind of\n",
"codebooks are usually called *sparse codebook*, while the codebooks with\n",
"only $+1$ and $-1$ are usually called *dense codebook*.\n",
"\n",
"In general case, we can specify any code length and fill the codebook\n",
"arbitrarily. However, some rules should be followed:\n",
"\n",
"* Each row must describe a *valid* binary coloring. In other words, both $+1$ and $-1$ should appear at least once in each row. Or else a binary classifier cannot be obtained for this row.\n",
"* It is good to avoid duplicated rows. There is generally no harm to have duplicated rows, but the resultant binary classifiers are completely identical provided the training algorithm for the binary classifiers are deterministic. So this can be a waste of computational resource.\n",
"* Negative rows are also duplicated. Simply inversing the sign of a code row does not produce a \"new\" code row. Because the resultant binary classifier will simply be the negative classifier associated with the original row."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Though you can certainly generate your own codebook, it is usually easier to\n",
"use the `SHOGUN` built-in procedures to generate codebook automatically. There\n",
"are various codebook generators (called *encoders*) in `SHOGUN`. However,\n",
"before describing those encoders in details, let us notice that a codebook \n",
"only describes how the sub-machines are trained. But we still need a\n",
"way to specify how the binary classification results of the sub-machines can be\n",
"combined to get a multiclass classification result.\n",
"\n",
"Review the codebook again: corresponding to each class, there is a column. We\n",
"call the codebook column the (binary) *code* for that class. For a new\n",
"sample $x$, by applying the binary classifiers associated with each row\n",
"successively, we get a prediction vector of the same length as the\n",
"*code*. Deciding the multiclass label from the prediction vector (called\n",
"*decoding*) can be done by minimizing the *distance* between the\n",
"codes and the prediction vector. Different *decoders* define different \n",
"choices of distance functions. For this reason, it is usually good to make the\n",
"mutual distance between codes of different classes large. In this way, even\n",
"though several binary classifiers make wrong predictions, the distance of\n",
"the resultant prediction vector to the code of the *true* class is likely\n",
"to be still smaller than the distance to other classes. So correct results can\n",
"still be obtained even when some of the binary classifiers make mistakes. This\n",
"is the reason for the name *Error-Correcting Output Codes*.\n",
"\n",
"In `SHOGUN`, encoding schemes are described by subclasses of\n",
"[CECOCEncoder](http://www.shogun-toolbox.org/doc/en/latest/classshogun_1_1CECOCEncoder.html), while decoding schemes are described by subclasses\n",
"of [CECOCDecoder](http://www.shogun-toolbox.org/doc/en/latest/classshogun_1_1CECOCDecoder.html). Theoretically, any combinations of\n",
"encoder-decoder pairs can be used. Here we will introduce several common\n",
"encoder/decoders in shogun."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* [CECOCRandomDenseEncoder](http://www.shogun-toolbox.org/doc/en/latest/classshogun_1_1CECOCRandomDenseEncoder.html): This encoder generate random dense ($+1$/$-1$) codebooks and choose the one with the largest *minimum mutual distance* among the classes. The recommended code length for this encoder is $10\\log K$. \n",
"* [CECOCRandomSparseEncoder](http://www.shogun-toolbox.org/doc/en/latest/classshogun_1_1CECOCRandomSparseEncoder.html): This is similar to the random dense encoder, except that sparse ($+1$/$-1$/$0$) codebooks are generated. The recommended code length for this encoder is $15\\log K$.\n",
"* [CECOCOVREncoder](http://www.shogun-toolbox.org/doc/en/latest/classshogun_1_1CECOCOVREncoder.html), [CECOCOVOEncoder](http://www.shogun-toolbox.org/doc/en/latest/classshogun_1_1CECOCOVOEncoder.html): These two encoders mimic the One-vs-Rest and One-vs-One strategies respectively. They are implemented mainly for demonstrative purpose. When suitable decoders are used, the results will be equivalent to the corresponding strategies, respectively."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Using ECOC Strategy in `SHOGUN` is similar to ordinary one-vs-rest or one-vs-one. You need to choose an encoder and a decoder, and then construct a `ECOCStrategy`, as demonstrated below:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from modshogun import ECOCStrategy, ECOCRandomDenseEncoder, ECOCLLBDecoder\n",
"\n",
"print \"\\nRandom Dense Encoder + Margin Loss based Decoder\"\n",
"print \"=\"*60\n",
"evaluate(ECOCStrategy(ECOCRandomDenseEncoder(), ECOCLLBDecoder()), 2.0)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Random Dense Encoder + Margin Loss based Decoder\n",
"============================================================\n",
"training time: 0.9800"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"testing time: 0.0500\n",
"accuracy: 0.8795\n"
]
}
],
"prompt_number": 7
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"Using a kernel multiclass machine"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Expanding on the idea of creating a generic multiclass machine and then assigning a particular multiclass strategy and a base binary machine, one can also use the [KernelMulticlassMachine](http://www.shogun-toolbox.org/doc/en/current/classshogun_1_1CKernelMulticlassMachine.html) with a kernel of choice.\n",
"\n",
"Here we will use a [GaussianKernel](http://www.shogun-toolbox.org/doc/en/3.0.0/classshogun_1_1CGaussianKernel.html) with LibSVM as the classifer.\n",
"All we have to do is define a new helper evaluate function with the features defined as in the above examples."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def evaluate_multiclass_kernel(strategy):\n",
" from modshogun import KernelMulticlassMachine, LibSVM, GaussianKernel\n",
" width=2.1\n",
" epsilon=1e-5\n",
" \n",
" kernel=GaussianKernel(feats_train, feats_train, width)\n",
" \n",
" classifier = LibSVM()\n",
" classifier.set_epsilon(epsilon)\n",
"\n",
" mc_machine = KernelMulticlassMachine(strategy, kernel, classifier, lab_train)\n",
"\n",
" t_begin = time.clock()\n",
" mc_machine.train()\n",
" t_train = time.clock() - t_begin\n",
"\n",
" t_begin = time.clock()\n",
" pred_test = mc_machine.apply_multiclass(feats_test)\n",
" t_test = time.clock() - t_begin\n",
"\n",
" evaluator = MulticlassAccuracy()\n",
" acc = evaluator.evaluate(pred_test, lab_test)\n",
"\n",
" print \"training time: %.4f\" % t_train\n",
" print \"testing time: %.4f\" % t_test\n",
" print \"accuracy: %.4f\" % acc\n",
"\n",
"print \"\\nOne-vs-Rest\"\n",
"print \"=\"*60\n",
"evaluate_multiclass_kernel(MulticlassOneVsRestStrategy())\n",
"\n"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"One-vs-Rest\n",
"============================================================\n",
"training time: 4.2700"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"testing time: 2.2200\n",
"accuracy: 0.9270\n"
]
}
],
"prompt_number": 8
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"So we have seen that we can classify multiclass samples using a base binary machine. If we dwell on this a bit more, we can easily spot the intuition behind this.\n",
"\n",
"The MulticlassOneVsRestStrategy classifies one class against the rest of the classes. This is done for each and every class by training a separate classifier for it.So we will have total $k$ classifiers where $k$ is the number of classes.\n",
"\n",
"Just to see this in action lets create some data using the gaussian mixture model class ([GMM](http://www.shogun-toolbox.org/doc/en/3.0.0/classshogun_1_1CGMM.html)) from which we sample the data points.Four different classes are created and plotted."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from modshogun import *\n",
"from numpy import *\n",
"\n",
"num=1000;\n",
"dist=1.0;\n",
"\n",
"gmm=GMM(4)\n",
"gmm.set_nth_mean(array([-dist*4,-dist]),0)\n",
"gmm.set_nth_mean(array([-dist*4,dist*4]),1)\n",
"gmm.set_nth_mean(array([dist*4,dist*4]),2)\n",
"gmm.set_nth_mean(array([dist*4,-dist]),3)\n",
"gmm.set_nth_cov(array([[1.0,0.0],[0.0,1.0]]),0)\n",
"gmm.set_nth_cov(array([[1.0,0.0],[0.0,1.0]]),1)\n",
"gmm.set_nth_cov(array([[1.0,0.0],[0.0,1.0]]),2)\n",
"gmm.set_nth_cov(array([[1.0,0.0],[0.0,1.0]]),3)\n",
"\n",
"gmm.set_coef(array([1.0,0.0,0.0,0.0]))\n",
"x0=array([gmm.sample() for i in xrange(num)]).T\n",
"x0t=array([gmm.sample() for i in xrange(num)]).T\n",
"\n",
"gmm.set_coef(array([0.0,1.0,0.0,0.0]))\n",
"x1=array([gmm.sample() for i in xrange(num)]).T\n",
"x1t=array([gmm.sample() for i in xrange(num)]).T\n",
"\n",
"gmm.set_coef(array([0.0,0.0,1.0,0.0]))\n",
"x2=array([gmm.sample() for i in xrange(num)]).T\n",
"x2t=array([gmm.sample() for i in xrange(num)]).T\n",
"\n",
"gmm.set_coef(array([0.0,0.0,0.0,1.0]))\n",
"x3=array([gmm.sample() for i in xrange(num)]).T\n",
"x3t=array([gmm.sample() for i in xrange(num)]).T\n",
"\n",
"\n",
"traindata=concatenate((x0,x1,x2,x3), axis=1)\n",
"testdata=concatenate((x0t,x1t,x2t,x3t), axis=1)\n",
"\n",
"l0 = array([0.0 for i in xrange(num)])\n",
"l1 = array([1.0 for i in xrange(num)])\n",
"l2 = array([2.0 for i in xrange(num)])\n",
"l3 = array([3.0 for i in xrange(num)])\n",
"\n",
"trainlab=concatenate((l0,l1,l2,l3))\n",
"testlab=concatenate((l0,l1,l2,l3))"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 9
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"_=scatter(traindata[0,:], traindata[1,:], c=trainlab, s=100)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "display_data",
"png": "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\n/wDA6b94klEvvgAAAABJRU5ErkJggg==\n"
}
],
"prompt_number": 10
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now that we have the data ready , lets convert it to shogun format features."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"feats_tr=RealFeatures(traindata)\n",
"labels=MulticlassLabels(trainlab)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 11
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The [KernelMulticlassMachine](http://www.shogun-toolbox.org/doc/en/current/classshogun_1_1CKernelMulticlassMachine.html) is used with LibSVM as the classifer just as in the above example.\n",
"\n",
"Now we have four different classes, so as explained above we will have four classifiers which in shogun terms are submachines.\n",
"\n",
"We can see the outputs of two of the four individual submachines (specified by the index) and of the main machine. The plots clearly show how the submachine classify each class as if it is a binary classification problem and this provides the base for the whole multiclass classification."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from modshogun import KernelMulticlassMachine, LibSVM, GaussianKernel\n",
"\n",
"width=2.1\n",
"epsilon=1e-5\n",
" \n",
"kernel=GaussianKernel(feats_tr, feats_tr, width)\n",
" \n",
"classifier=LibSVM()\n",
"classifier.set_epsilon(epsilon)\n",
"\n",
"mc_machine=KernelMulticlassMachine(MulticlassOneVsRestStrategy(), kernel, classifier, labels)\n",
"\n",
"mc_machine.train()\n",
"\n",
"size=100\n",
"x1=linspace(-10, 10, size)\n",
"x2=linspace(-10, 10, size)\n",
"x, y=meshgrid(x1, x2)\n",
"grid=RealFeatures(array((ravel(x), ravel(y)))) #test features\n",
"\n",
"out=mc_machine.apply_multiclass(grid) #main output\n",
"z=out.get_labels().reshape((size, size))\n",
"\n",
"sub_out0=mc_machine.get_submachine_outputs(0) #first submachine\n",
"sub_out1=mc_machine.get_submachine_outputs(1) #second submachine\n",
"\n",
"z0=sub_out0.get_labels().reshape((size, size))\n",
"z1=sub_out1.get_labels().reshape((size, size))\n",
"\n",
"figure(figsize=(20,5))\n",
"subplot(131, title=\"Submachine 1\")\n",
"c0=pcolor(x, y, z0)\n",
"_=contour(x, y, z0, linewidths=1, colors='black', hold=True)\n",
"_=colorbar(c0)\n",
"\n",
"subplot(132, title=\"Submachine 2\")\n",
"c1=pcolor(x, y, z1)\n",
"_=contour(x, y, z1, linewidths=1, colors='black', hold=True)\n",
"_=colorbar(c1)\n",
"\n",
"subplot(133, title=\"Multiclass output\")\n",
"c2=pcolor(x, y, z)\n",
"_=contour(x, y, z, linewidths=1, colors='black', hold=True)\n",
"_=colorbar(c2)\n"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "display_data",
"png": "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\n"
}
],
"prompt_number": 12
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment