TF/04_Support_Vector_Machines/01_Introduction

Ch 4: Support Vector Machines

This chapter shows how to implement various SVM methods with TensorFlow. We first create a linear SVM and also show how it can be used for regression. We then introduce kernels (RBF Gaussian kernel) and show how to use it to split up non-linear data. We finish with a multi-dimensional implementation of non-linear SVMs to work with multiple classes.

  1. Introduction
    • We introduce the concept of SVMs and how we will go about implementing them in the TensorFlow framework.
  2. Working with Linear SVMs
    • We create a linear SVM to separate I. setosa based on sepal length and pedal width in the Iris data set.
  3. Reduction to Linear Regression
    • The heart of SVMs is separating classes with a line. We change tweek the algorithm slightly to perform SVM regression.
  4. Working with Kernels in TensorFlow
    • In order to extend SVMs into non-linear data, we explain and show how to implement different kernels in TensorFlow.
  5. Implementing Non-Linear SVMs
    • We use the Gaussian kernel (RBF) to separate non-linear classes.
  6. Implementing Multi-class SVMs
    • SVMs are inherently binary predictors. We show how to extend them in a one-vs-all strategy in TensorFlow.

Support Vector Machine Introduction

TF/04_Support_Vector_Machines/01_Introduction

Support Vector Machines (SVMs) are a machine learning method to separate binary classes. This is accomplished by maximizing a margin width between two classes. It is extended to allow for noise in the data, when the two classes are not explicitly linear separable. SVMs can be extended to separate non linear classes by using non-linear kernels. After this, we finish this chapter by showing how to extend these binary classifies into multi-class problems via a one-vs-all method.