CS 188: Artificial Intelligence Fall 2007 Lecture 25: Kernels 11/27/2007 Dan Klein – UC Berkeley.

Slides:



Advertisements
Similar presentations
Projects Project 4 due tonight Project 5 (last project!) out later
Advertisements

Classification Classification Examples
Lecture 9 Support Vector Machines
Image classification Given the bag-of-features representations of images from different classes, how do we learn a model for distinguishing them?
SVM - Support Vector Machines A new classification method for both linear and nonlinear data It uses a nonlinear mapping to transform the original training.
Linear Classifiers (perceptrons)
An Introduction of Support Vector Machine
Support Vector Machines
SVM—Support Vector Machines
Support vector machine
Search Engines Information Retrieval in Practice All slides ©Addison Wesley, 2008.
Machine learning continued Image source:
CSCI 347 / CS 4206: Data Mining Module 07: Implementations Topic 03: Linear Models.
Discriminative and generative methods for bags of features
Support Vector Machines and Kernel Methods
Image classification Given the bag-of-features representations of images from different classes, how do we learn a model for distinguishing them?
CS 188: Artificial Intelligence Fall 2009
CS 188: Artificial Intelligence Spring 2007 Lecture 19: Perceptrons 4/2/2007 Srini Narayanan – ICSI and UC Berkeley.
Announcements See Chapter 5 of Duda, Hart, and Stork. Tutorial by Burge linked to on web page. “Learning quickly when irrelevant attributes abound,” by.
1 Classification: Definition Given a collection of records (training set ) Each record contains a set of attributes, one of the attributes is the class.
Binary Classification Problem Learn a Classifier from the Training Set
Support Vector Machines
CS 188: Artificial Intelligence Fall 2009 Lecture 23: Perceptrons 11/17/2009 Dan Klein – UC Berkeley TexPoint fonts used in EMF. Read the TexPoint manual.
Review Rong Jin. Comparison of Different Classification Models  The goal of all classifiers Predicating class label y for an input x Estimate p(y|x)
An Introduction to Support Vector Machines Martin Law.
Crash Course on Machine Learning
Classification III Tamara Berg CS Artificial Intelligence Many slides throughout the course adapted from Svetlana Lazebnik, Dan Klein, Stuart Russell,
Ch. Eick: Support Vector Machines: The Main Ideas Reading Material Support Vector Machines: 1.Textbook 2. First 3 columns of Smola/Schönkopf article on.
More Machine Learning Linear Regression Squared Error L1 and L2 Regularization Gradient Descent.
Support Vector Machines Piyush Kumar. Perceptrons revisited Class 1 : (+1) Class 2 : (-1) Is this unique?
This week: overview on pattern recognition (related to machine learning)
Support Vector Machine & Image Classification Applications
CS 8751 ML & KDDSupport Vector Machines1 Support Vector Machines (SVMs) Learning mechanism based on linear programming Chooses a separating plane based.
CSE 473/573 Computer Vision and Image Processing (CVIP) Ifeoma Nwogu Lecture 24 – Classifiers 1.
Support Vector Machines Mei-Chen Yeh 04/20/2010. The Classification Problem Label instances, usually represented by feature vectors, into one of the predefined.
1 SUPPORT VECTOR MACHINES İsmail GÜNEŞ. 2 What is SVM? A new generation learning system. A new generation learning system. Based on recent advances in.
INTRODUCTION TO ARTIFICIAL INTELLIGENCE Massimo Poesio LECTURE: Support Vector Machines.
CSE 446 Perceptron Learning Winter 2012 Dan Weld Some slides from Carlos Guestrin, Luke Zettlemoyer.
Classification: Feature Vectors
SVM Support Vector Machines Presented by: Anas Assiri Supervisor Prof. Dr. Mohamed Batouche.
Machine Learning in Ad-hoc IR. Machine Learning for ad hoc IR We’ve looked at methods for ranking documents in IR using factors like –Cosine similarity,
Support Vector Machines Reading: Ben-Hur and Weston, “A User’s Guide to Support Vector Machines” (linked from class web page)
Classification: Feature Vectors Hello, Do you want free printr cartriges? Why pay more when you can get them ABSOLUTELY FREE! Just # free : 2 YOUR_NAME.
Classifiers Given a feature representation for images, how do we learn a model for distinguishing features from different classes? Zebra Non-zebra Decision.
An Introduction to Support Vector Machines (M. Law)
CISC667, F05, Lec22, Liao1 CISC 667 Intro to Bioinformatics (Fall 2005) Support Vector Machines I.
CS 1699: Intro to Computer Vision Support Vector Machines Prof. Adriana Kovashka University of Pittsburgh October 29, 2015.
Classification (slides adapted from Rob Schapire) Eran Segal Weizmann Institute.
University of Texas at Austin Machine Learning Group Department of Computer Sciences University of Texas at Austin Support Vector Machines.
Classification Course web page: vision.cis.udel.edu/~cv May 14, 2003  Lecture 34.
CSE 446 Logistic Regression Perceptron Learning Winter 2012 Dan Weld Some slides from Carlos Guestrin, Luke Zettlemoyer.
Support Vector Machines Reading: Ben-Hur and Weston, “A User’s Guide to Support Vector Machines” (linked from class web page)
Announcements  Midterm 2  Monday 4/20, 6-9pm  Rooms:  2040 Valley LSB [Last names beginning with A-C]  2060 Valley LSB [Last names beginning with.
CS 188: Artificial Intelligence Fall 2008 Lecture 24: Perceptrons II 11/24/2008 Dan Klein – UC Berkeley 1.
SUPERVISED AND UNSUPERVISED LEARNING Presentation by Ege Saygıner CENG 784.
Fun with Hyperplanes: Perceptrons, SVMs, and Friends
Artificial Intelligence
MIRA, SVM, k-NN Lirong Xia. MIRA, SVM, k-NN Lirong Xia.
Perceptrons Lirong Xia.
CS 188: Artificial Intelligence Fall 2008
CS 4/527: Artificial Intelligence
CS 188: Artificial Intelligence
CS 188: Artificial Intelligence Spring 2007
CS 188: Artificial Intelligence Fall 2008
Support Vector Machines
CS 188: Artificial Intelligence Spring 2006
CS 188: Artificial Intelligence Fall 2008
CS 188: Artificial Intelligence
MIRA, SVM, k-NN Lirong Xia. MIRA, SVM, k-NN Lirong Xia.
Perceptrons Lirong Xia.
Presentation transcript:

CS 188: Artificial Intelligence Fall 2007 Lecture 25: Kernels 11/27/2007 Dan Klein – UC Berkeley

Feature Extractors  A feature extractor maps inputs to feature vectors  Many classifiers take feature vectors as inputs  Feature vectors usually very sparse, use sparse encodings (i.e. only represent non-zero keys) Dear Sir. First, I must solicit your confidence in this transaction, this is by virture of its nature as being utterly confidencial and top secret. … W=dear : 1 W=sir : 1 W=this : 2... W=wish : 0... MISSPELLED : 2 NAMELESS : 1 ALL_CAPS : 0 NUM_URLS : 0...

The Binary Perceptron  Inputs are features  Each feature has a weight  Sum is the activation  If the activation is:  Positive, output 1  Negative, output 0  f1f1 f2f2 f3f3 w1w1 w2w2 w3w3 >0?

Example: Spam  Imagine 4 features:  Free (number of occurrences of “free”)  Money (occurrences of “money”)  BIAS (always has value 1) BIAS : -3 free : 4 money : 2 the : 0... BIAS : 1 free : 1 money : 1 the : 0... “free money”

Binary Decision Rule  In the space of feature vectors  Any weight vector is a hyperplane  One side will be class 1  Other will be class 0 BIAS : -3 free : 4 money : 2 the : free money 1 = SPAM 0 = HAM

The Multiclass Perceptron  If we have more than two classes:  Have a weight vector for each class  Calculate an activation for each class  Highest activation wins

Example BIAS : -2 win : 4 game : 4 vote : 0 the : 0... BIAS : 1 win : 2 game : 0 vote : 4 the : 0... BIAS : 2 win : 0 game : 2 vote : 0 the : 0... “win the vote” BIAS : 1 win : 1 game : 0 vote : 1 the : 1...

The Perceptron Update Rule  Start with zero weights  Pick up training instances one by one  Try to classify  If correct, no change!  If wrong: lower score of wrong answer, raise score of right answer

Example BIAS : win : game : vote : the :... BIAS : win : game : vote : the :... BIAS : win : game : vote : the :... “win the vote” “win the election” “win the game”

Examples: Perceptron  Separable Case

Examples: Perceptron  Separable Case

Mistake-Driven Classification  In naïve Bayes, parameters:  From data statistics  Have a causal interpretation  One pass through the data  For the perceptron parameters:  From reactions to mistakes  Have a discriminative interpretation  Go through the data until held-out accuracy maxes out Training Data Held-Out Data Test Data

Properties of Perceptrons  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 Separable Non-Separable

Examples: Perceptron  Non-Separable Case

Examples: Perceptron  Non-Separable Case

Issues with Perceptrons  Overtraining: test / held-out accuracy usually rises, then falls  Overtraining isn’t quite as bad as overfitting, but is similar  Regularization: if the data isn’t separable, weights might thrash around  Averaging weight vectors over time can help (averaged perceptron)  Mediocre generalization: finds a “barely” separating solution

Linear Separators  Which of these linear separators is optimal?

Support Vector Machines  Maximizing the margin: good according to intuition and PAC theory.  Only support vectors matter; other training examples are ignorable.  Support vector machines (SVMs) find the separator with max margin  Mathematically, gives a quadratic program to solve  Basically, SVMs are perceptrons with smarter update counts!

Summary  Naïve Bayes  Build classifiers using model of training data  Smoothing estimates is important in real systems  Classifier confidences are useful, when you can get them  Perceptrons:  Make less assumptions about data  Mistake-driven learning  Multiple passes through data

Similarity Functions  Similarity functions are very important in machine learning  Topic for next class: kernels  Similarity functions with special properties  The basis for a lot of advance machine learning (e.g. SVMs)

Case-Based Reasoning  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  Sound familiar?  [DEMO]

Parametric / Non-parametric  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 Truth 2 Examples 10 Examples100 Examples10000 Examples

Collaborative Filtering  Ever wonder how online merchants decide what products to recommend to you?  Simplest idea: recommend the most popular items to everyone  Not entirely crazy! (Why)  Can do better if you know something about the customer (e.g. what they’ve bought)  Better idea: recommend items that similar customers bought  A popular technique: collaborative filtering  Define a similarity function over customers (how?)  Look at purchases made by people with high similarity  Trade-off: relevance of comparison set vs confidence in predictions  How can this go wrong? You are here

Nearest-Neighbor Classification  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?)

Basic Similarity  Many similarities based on feature dot products:  If features are just the pixels:  Note: not all similarities are of this form

Invariant Metrics This and next few slides adapted from Xiao Hu, UIUC  Better distances use knowledge about vision  Invariant metrics:  Similarities are invariant under certain transformations  Rotation, scaling, translation, stroke-thickness…  E.g:  16 x 16 = 256 pixels; a point in 256-dim space  Small similarity in R 256 (why?)  How to incorporate invariance into similarities?

Rotation Invariant Metrics  Each example is now a curve in R 256  Rotation invariant similarity: s’=max s( r( ), r( ))  E.g. highest similarity between images’ rotation lines

Tangent Families  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

Template Deformation  Deformable templates:  An “ideal” version of each category  Best-fit to image using min variance  Cost for high distortion of template  Cost for image points being far from distorted template  Used in many commercial digit recognizers Examples from [Hastie 94]

A Tale of Two Approaches…  Nearest neighbor-like approaches  Can use fancy kernels (similarity functions)  Don’t actually get to do explicit learning  Perceptron-like approaches  Explicit training to reduce empirical error  Can’t use fancy kernels (why not?)  Or can you? Let’s find out!

The Perceptron, Again  Start with zero weights  Pick up training instances one by one  Try to classify  If correct, no change!  If wrong: lower score of wrong answer, raise score of right answer

Perceptron Weights  What is the final value of a weight w c ?  Can it be any real vector?  No! It’s built by adding up inputs.  Can reconstruct weight vectors (the primal representation) from update counts (the dual representation)

Dual Perceptron  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!

Dual Perceptron  Start with zero counts (alpha)  Pick up training instances one by one  Try to classify x n,  If correct, no change!  If wrong: lower count of wrong class (for this instance), raise score of right class (for this instance)

Kernelized Perceptron  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

Kernelized Perceptron Structure

Kernels: Who Cares?  So far: a very strange way of doing a very simple calculation  “Kernel trick”: we can substitute any* similarity function in place of the dot product  Lets us learn new kinds of hypothesis * Fine print: if your kernel doesn’t satisfy certain technical requirements, lots of proofs break. E.g. convergence, mistake bounds. In practice, illegal kernels sometimes work (but not always).

Properties of Perceptrons  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 Separable Non-Separable

Non-Linear Separators  Data that is linearly separable (with some noise) works out great:  But what are we going to do if the dataset is just too hard?  How about… mapping data to a higher-dimensional space: x2x2 x x x This and next few slides adapted from Ray Mooney, UT

Non-Linear Separators  General idea: the original feature space can always be mapped to some higher-dimensional feature space where the training set is separable: Φ: x → φ(x)

Some Kernels  Kernels implicitly map original vectors to higher dimensional spaces, take the dot product there, and hand the result back  Linear kernel:  Quadratic kernel:  RBF: infinite dimensional representation  Discrete kernels: e.g. string kernels