Lirong Xia

35
Lirong Xia MIRA, SVM, k-NN Tue, April 15, 2014

description

MIRA, SVM, k-NN. Lirong Xia. Tue , April 15, 2014. Linear Classifiers ( perceptrons ). Inputs are feature values Each feature has a weight Sum is the activation If the activation is: Positive: output +1 Negative, output -1. Classification: Weights. - PowerPoint PPT Presentation

Transcript of Lirong Xia

Page 1: Lirong  Xia

Lirong Xia

MIRA, SVM, k-NN

Tue, April 15, 2014

Page 2: Lirong  Xia

Linear Classifiers (perceptrons)

2

• Inputs are feature values• Each feature has a weight• Sum is the activation

• If the activation is:– Positive: output +1– Negative, output -1

Page 3: Lirong  Xia

Classification: Weights

3

• Binary case: compare features to a weight vector• Learning: figure out the weight vector from examples

Page 4: Lirong  Xia

Binary Decision Rule

4

• In the space of feature vectors– Examples are points– Any weight vector is a hyperplane– One side corresponds to Y = +1– Other corresponds to Y = -1

Page 5: Lirong  Xia

Learning: Binary Perceptron

5

• Start with weights = 0• For each training instance:

– Classify with current weights

– If correct (i.e. y=y*), no change!– If wrong: adjust the weight vector

by adding or subtracting the feature vector. Subtract if y* is -1.

Page 6: Lirong  Xia

Multiclass Decision Rule

6

• If we have multiple classes:– A weight vector for each class:

– Score (activation) of a class y:

– Prediction highest score wins

yw

Binary = multiclass where the negative class has weight zero

Page 7: Lirong  Xia

Learning: Multiclass Perceptron

7

• Start with all weights = 0• Pick up training examples one by one• Predict with current weights

• If correct, no change!• If wrong: lower score of wrong

answer, raise score of right answer

* *

y y

y y

w w f xw w f x

Page 8: Lirong  Xia

Today

9

• Fixing the Perceptron: MIRA

• Support Vector Machines

• k-nearest neighbor (KNN)

Page 9: Lirong  Xia

Properties of Perceptrons

10

• Separability: some parameters get the training set perfectly correct

• Convergence: if the training is separable, perceptron will eventually converge (binary case)

• Mistake Bound: the maximum number of mistakes (binary case) related to the margin or degree of separability

2mistakes

k

Page 10: Lirong  Xia

Examples: Perceptron

11

• Non-Separable Case

Page 11: Lirong  Xia

Problems with the Perceptron

12

• Noise: if the data isn’t separable, weights might thrash– Averaging weight vectors over time

can help (averaged perceptron)

• Mediocre generalization: finds a “barely” separating solution

• Overtraining: test / held-out accuracy usually rises, then falls– Overtraining is a kind of overfitting

Page 12: Lirong  Xia

Fixing the Perceptron

13

• Idea: adjust the weight update to mitigate these effects

• MIRA*: choose an update size that fixes the current mistake

• …but, minimizes the change to w

• The +1 helps to generalize

*Margin Infused Relaxed Algorithm

Page 13: Lirong  Xia

Minimum Correcting Update

14

min not τ=0, or would not have made an error, so min will be where equality holds

* *

''

y y

y y

w w f xw w f x

Page 14: Lirong  Xia

Maximum Step Size

15

• In practice, it’s also bad to make updates that are too large– Example may be labeled incorrectly– You may not have enough features– Solution: cap the maximum possible

value of τ with some constant C

– Corresponds to an optimization that assumes non-separable data

– Usually converges faster than perceptron

– Usually better, especially on noisy data

Page 15: Lirong  Xia

Outline

16

• Fixing the Perceptron: MIRA

• Support Vector Machines

• k-nearest neighbor (KNN)

Page 16: Lirong  Xia

Linear Separators

17

• Which of these linear separators is optimal?

Page 17: Lirong  Xia

Support Vector Machines

18

• Maximizing the margin: good according to intuition, theory, practice

• Only support vectors matter; other training examples are ignorable

• Support vector machines (SVMs) find the separator with max margin

• Basically, SVMs are MIRA where you optimize over all examples at once

MIRA

SVM

Page 18: Lirong  Xia

Classification: Comparison

19

• Naive Bayes– Builds a model training data– Gives prediction probabilities– Strong assumptions about feature independence– One pass through data (counting)

• Perceptrons / MIRA:– Makes less assumptions about data– Mistake-driven learning– Multiple passes through data (prediction)– Often more accurate

Page 19: Lirong  Xia

Extension: Web Search

20

• Information retrieval:– Given information needs,

produce information– Includes, e.g. web search,

question answering, and classic IR

• Web search: not exactly classification, but rather ranking

x = “Apple Computers”

Page 20: Lirong  Xia

Feature-Based Ranking

21

x = “Apple Computers”

Page 21: Lirong  Xia

Perceptron for Ranking

22

• Input x• Candidates y• Many feature vectors: f(x,y)• One weight vector: w

– Prediction:

– Update (if wrong):

, * ,w w f x y f x y

Page 22: Lirong  Xia

Pacman Apprenticeship!

23

• Examples are states s

• Candidates are pairs (s,a)• “correct” actions: those taken by expert• Features defined over (s,a) pairs: f(s,a)• Score of a q-state (s,a) given by: w×f(s,a)• How is this VERY different from reinforcement

learning?

Page 23: Lirong  Xia

Outline

24

• Fixing the Perceptron: MIRA

• Support Vector Machines

• k-nearest neighbor (KNN)

Page 24: Lirong  Xia

Case-Based Reasoning

25

• Similarity for classification– Case-based reasoning– Predict an instance’s label using

similar instances

• Nearest-neighbor classification– 1-NN: copy the label of the most

similar data point– K-NN: let the k nearest neighbors

vote (have to devise a weighting scheme)

– Key issue: how to define similarity– Trade-off:

• Small k gives relevant neighbors• Large k gives smoother functions

Generated data

1-NN

.

. .

.

. .

Page 25: Lirong  Xia

Parametric / Non-parametric

26

• Parametric models:– Fixed set of parameters– More data means better settings

• Non-parametric models:– Complexity of the classifier increases with

data– Better in the limit, often worse in the non-limit

• (K)NN is non-parametric

Page 26: Lirong  Xia

Nearest-Neighbor Classification

27

• Nearest neighbor for digits:– Take new image– Compare to all training images– Assign based on closest example

• Encoding: image is vector of intensities:

• What’s the similarity function?– Dot product of two images vectors?

– Usually normalize vectors so ||x||=1– min = 0 (when?), max = 1(when?)

Page 27: Lirong  Xia

Basic Similarity

28

• Many similarities based on feature dot products:

• If features are just the pixels:

• Note: not all similarities are of this form

Page 28: Lirong  Xia

Invariant Metrics

29

• Better distances use knowledge about vision• Invariant metrics:

– Similarities are invariant under certain transformations– Rotation, scaling, translation, stroke-thickness…– E.g.:

• 16*16=256 pixels; a point in 256-dim space

• Small similarity in R256 (why?)

– How to incorporate invariance into similarities?

This and next few slides adapted from Xiao Hu, UIUC

Page 29: Lirong  Xia

Invariant Metrics

30

• Each example is now a curve in R256

• Rotation invariant similarity:

s’=max s(r( ),r( ))

• E.g. highest similarity between images’ rotation lines

Page 30: Lirong  Xia

Invariant Metrics

31

• Problems with s’:– Hard to compute– Allows large

transformations(6→9)

• Tangent distance:– 1st order approximation at

original points.• Easy to compute

• Models small rotations

Page 31: Lirong  Xia

A Tale of Two Approaches…

33

• Nearest neighbor-like approaches– Can use fancy similarity functions– Don’t actually get to do explicit learning

• Perceptron-like approaches– Explicit training to reduce empirical error– Can’t use fancy similarity, only linear– Or can they? Let’s find out!

Page 32: Lirong  Xia

Perceptron Weights

34

• What is the final value of a weight wy of a perceptron?– Can it be any real vector?– No! it’s build by adding up inputs

• Can reconstruct weight vectors (the primal representation) from update counts (the dual representation)

1 5

,

0 ...y

y i y ii

w f x f xw a f x

primal

dual

Page 33: Lirong  Xia

Dual Perceptron

35

• How to classify a new example x?

• If someone tells us the value of K for each pair of examples, never need to build the weight vectors!

Page 34: Lirong  Xia

Dual Perceptron

36

• Start with zero counts (alpha)• Pick up training instances one by one

• Try to classify xn,

• If correct, no change!• If wrong: lower count of wrong class (for this

instance), raise score of right class (for this instance)

Page 35: Lirong  Xia

Kernelized Perceptron

37

• If we had a black box (kernel) which told us the dot product of two examples x and y:– Could work entirely with the dual representation– No need to ever take dot products (“kernel trick”)

• Like nearest neighbor – work with black-box similarities

• Downside: slow if many examples get nonzero alpha