S u pport Vectors L IN E AR C L ASSIFIE R S IN P YTH ON Michael ( - - PowerPoint PPT Presentation

s u pport vectors
SMART_READER_LITE
LIVE PREVIEW

S u pport Vectors L IN E AR C L ASSIFIE R S IN P YTH ON Michael ( - - PowerPoint PPT Presentation

S u pport Vectors L IN E AR C L ASSIFIE R S IN P YTH ON Michael ( Mike ) Gelbart Instr u ctor , The Uni v ersit y of British Col u mbia What is an SVM ? Linear classi ers ( so far ) Trained u sing the hinge loss and L 2 reg u lari z ation


slide-1
SLIDE 1

Support Vectors

L IN E AR C L ASSIFIE R S IN P YTH ON

Michael (Mike) Gelbart

Instructor, The University of British Columbia

slide-2
SLIDE 2

LINEAR CLASSIFIERS IN PYTHON

What is an SVM?

Linear classiers (so far) Trained using the hinge loss and L2 regularization

slide-3
SLIDE 3

LINEAR CLASSIFIERS IN PYTHON

Support vector: a training example not in the at part of the loss diagram Support vector: an example that is incorrectly classied or close to the boundary If an example is not a support vector, removing it has no eect on the model Having a small number of support vectors makes kernel SVMs really fast

slide-4
SLIDE 4

LINEAR CLASSIFIERS IN PYTHON

Max-margin viewpoint

The SVM maximizes the "margin" for linearly separable datasets Margin: distance from the boundary to the closest points

slide-5
SLIDE 5

LINEAR CLASSIFIERS IN PYTHON

Max-margin viewpoint

The SVM maximizes the "margin" for linearly separable datasets Margin: distance from the boundary to the closest points

slide-6
SLIDE 6

Let's practice!

L IN E AR C L ASSIFIE R S IN P YTH ON

slide-7
SLIDE 7

Kernel SVMs

L IN E AR C L ASSIFIE R S IN P YTH ON

Michael (Mike) Gelbart

Instructor, The University of British Columbia

slide-8
SLIDE 8

LINEAR CLASSIFIERS IN PYTHON

Transforming your features

slide-9
SLIDE 9

LINEAR CLASSIFIERS IN PYTHON

Transforming your features

slide-10
SLIDE 10

LINEAR CLASSIFIERS IN PYTHON

Transforming your features

transformed feature = (original feature)2

slide-11
SLIDE 11

LINEAR CLASSIFIERS IN PYTHON

Transforming your features

transformed feature = (original feature)2

slide-12
SLIDE 12

LINEAR CLASSIFIERS IN PYTHON

Transforming your features

transformed feature = (original feature)2

slide-13
SLIDE 13

LINEAR CLASSIFIERS IN PYTHON

Kernel SVMs

from sklearn.svm import SVC svm = SVC(gamma=1) # default is kernel="rbf"

slide-14
SLIDE 14

LINEAR CLASSIFIERS IN PYTHON

Kernel SVMs

from sklearn.svm import SVC svm = SVC(gamma=0.01) # default is kernel="rbf"

smaller gamma leads to smoother boundaries

slide-15
SLIDE 15

LINEAR CLASSIFIERS IN PYTHON

Kernel SVMs

from sklearn.svm import SVC svm = SVC(gamma=2) # default is kernel="rbf"

larger gamma leads to more complex boundaries

slide-16
SLIDE 16

Let's practice!

L IN E AR C L ASSIFIE R S IN P YTH ON

slide-17
SLIDE 17

Comparing logistic regression and SVM

L IN E AR C L ASSIFIE R S IN P YTH ON

Michael (Mike) Gelbart

Instructor, The University of British Columbia

slide-18
SLIDE 18

LINEAR CLASSIFIERS IN PYTHON

Logistic regression: Is a linear classier Can use with kernels, but slow Outputs meaningful probabilities Can be extended to multi- class All data points aect t L2 or L1 regularization Support vector machine (SVM): Is a linear classier Can use with kernels, and fast Does not naturally output probabilities Can be extended to multi- class Only "support vectors" aect t Conventionally just L2 regularization

slide-19
SLIDE 19

LINEAR CLASSIFIERS IN PYTHON

Use in scikit-learn

Logistic regression in sklearn:

linear_model.LogisticRegression

Key hyperparameters in sklearn:

C (inverse regularization strength) penalty (type of regularization) multi_class (type of multi-class)

SVM in sklearn:

svm.LinearSVC and svm.SVC

slide-20
SLIDE 20

LINEAR CLASSIFIERS IN PYTHON

Use in scikit-learn (cont.)

Key hyperparameters in sklearn:

C (inverse regularization strength) kernel (type of kernel) gamma (inverse RBF smoothness)

slide-21
SLIDE 21

LINEAR CLASSIFIERS IN PYTHON

SGDClassifier

SGDClassifier : scales well to large datasets from sklearn.linear_model import SGDClassifier logreg = SGDClassifier(loss='log') linsvm = SGDClassifier(loss='hinge') SGDClassifier hyperparameter alpha is like 1/C

slide-22
SLIDE 22

Let's practice!

L IN E AR C L ASSIFIE R S IN P YTH ON

slide-23
SLIDE 23

Conclusion

L IN E AR C L ASSIFIE R S IN P YTH ON

Michael (Mike) Gelbart

Instructor, The University of British Columbia

slide-24
SLIDE 24

LINEAR CLASSIFIERS IN PYTHON

How does this course fit into data science?

Data science

→ Machine learning →→ Supervised learning →→→ Classication →→→→ Linear classiers (this course)

slide-25
SLIDE 25

Congratulations & thanks!

L IN E AR C L ASSIFIE R S IN P YTH ON