/MathematicaSVM

A hands-on introduction to Support Vector Machines using Mathematica (c)

Primary LanguageMathematicaGNU General Public License v3.0GPL-3.0

MathematicaSVM - A hands-on introduction to Support Vector Machines using Mathematica (c)


Copyright (c) 2015 Marco Fornoni <marco.fornoni@alumni.epfl.ch>

This file is part of the MathematicaSVM Software.

MathematicaSVM is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 as published by the Free Software Foundation.

MathematicaSVM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with MathematicaSVM. If not, see <http://www.gnu.org/licenses/>.

About

One of the most successful machine learning tools used to solve classification and regression problems is the Support Vector Machine (SVM) [1].

This project presents the very basic theory of linear classifiers, max-margin classifiers and Support Vector Machines and explores the use of Mathematica (c) to solve the optimization problems that arise.

Following the presentation in [1], we explicitly derive, implement and compare several classifiers, demonstrating them on synthetic 2D-data generated by the user, with visualizations involving direct hyper-parameters manipulations. This project can thus be considered a hands-on introduction to the topic.

[1] Nello Cristianini and John Shawe-Taylor. An introduction to Support Vector Machines and other kernel-based learning methods. Cambridge university press, 2000

Usage

Open MathematicaSVM.nb with Mathematica (c) and follow the instructions. The main algorithms and implementations are also synthetically presented in Presentation.nb. A pdf version of the notebook is also available for previewing the material.