- 97 Views
- Uploaded on
- Presentation posted in: General

Supervised Learning Regression, Classification Linear regression, k- NN classification

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Supervised LearningRegression, ClassificationLinear regression, k-NN classification

Debapriyo Majumdar

Data Mining – Fall 2014

Indian Statistical Institute Kolkata

August 11, 2014

- An unknown car has an engine of size 1800cc. What is likely to be the power of the engine?

Power (bhp)

Engine displacement (cc)

- Intuitively, the two variables have a relation
- Learn the relation from the given data
- Predict the target variable after learning

Power (bhp)

Target

Variable

Engine displacement (cc)

- Predict y for x = 2.5

y

x

- Assume: the relation is linear
- Then for a given x (=1800), predict the value of y

Training set

Power (bhp)

Engine displacement (cc)

- Linear regression
- Assume y = a . x + b
- Try to find suitable a and b

Power (bhp)

Engine displacement (cc)

Optional exercise

- Define a regression line of your choice
- Predict y for x = 2.5

y

x

- The data points: (x1, y1), (x2, y2), … , (xm, ym)
- The regression line: f(x) = y = a . x + b
- Least-square cost function: J =Σi ( f(xi) – yi)2
- Goal: minimize J over choices of a and b

Goal: minimizing the deviation from the actual data points

y

x

- Goal: minimize J for all values of a and b
- Start from some a = a0and b = b0
- Compute: J(a0,b0)
- Simultaneously change a and b towards the negative gradient and eventually hope to arrive an optimal
- Question: Can there be more than one optimal?

b

a

Δ

Y

- Given that a person’s age is 24, predict if (s)he has high blood sugar
- Discrete values of the target variable (Y / N)
- Many ways of approaching this problem

Training set

High blood sugar

N

Age

Y

- One approach: what other data points are nearest to the new point?
- Other approaches?

High blood sugar

N

?

24

Age

- The k-nearest neighbor classification
- Naïve Bayes classification
- Decision Tree
- Linear Discriminant Analysis
- Logistics Regression
- Support Vector Machine

Given data about some cars: engine size, number of seats, petrol / diesel, has airbag or not, price

- Problem 1: Given engine size of a new car, what is likely to be the price?
- Problem 2: Given the engine size of a new car, is it likely that the car is run by petrol?
- Problem 3: Given the engine size, is it likely that the car has airbags?

Classification

- Training set
- Owns a flat
- Does not own a flat

Monthly income (thousand rupees)

Age

- Given a new person’s age and income, predict – does (s)he own a flat?

- Training set
- Owns a flat
- Does not own a flat

Monthly income (thousand rupees)

Age

- Nearest neighbor approach
- Find nearest neighbors among the known data points and check their labels

- Training set
- Owns a flat
- Does not own a flat

Monthly income (thousand rupees)

Age

- The 1-Nearest Neighbor (1-NN) Algorithm:
- Find the closest point in the training set
- Output the label of the nearest neighbor

- Training set
- Owns a flat
- Does not own a flat

Monthly income (thousand rupees)

Age

- The k-Nearest Neighbor (k-NN) Algorithm:
- Find the closestk point in the training set
- Majority vote among the labels of the k points

- How to measure distance to find closest points?
- Euclidean: Distance between vectors x = (x1, … , xk)and y = (y1, … , yk)

- Manhattan distance:

- Generalized squared interpoint distance: S is the covariance matrix

The Maholanobis distance (1936)

- Training data / set: set of input data points and given answers for the data points
- Labels: the list of possible answers
- Test data / set: inputs to the classification algorithm for finding labels
- Used for evaluating the algorithm in case the answers are known (but known to the algorithm)

- Classification task: Determining labels of the data points for which the label is not known or not passed to the algorithm
- Features: attributes that represent the data

- Test set accuracy: the correct performance measure
- Accuracy = #of correctanswer / #of allanswers
- Need to know the true test labels
- Option: usetrainingset itself
- Parameterselection (fork-NN) byaccuracy on training set
- Overfitting: a classifier performs too good on training set compared to new (unlabeled) test data

- Leave one out:
- For each training data point x of training set D
- Construct training set D – x, test set {x}
- Train on D – x, test on x
- Overall accuracy = average over all such cases
- Expensive to compute

- Hold out set:
- Randomly choose x% (say 25-30%) of the training data, set aside as test set
- Train on the rest of training data, test on the test set
- Easy to compute, but tends to have higher variance

- Randomly divide the training data into k partitions D1,…,Dk : possibly equal division
- For each fold Di
- Train a classifier with training data = D – Di
- Test and validate with Di

- Overall accuracy: average accuracy over all cases

- Lecture videos by Prof. Andrew Ng, Stanford University
Available on Coursera (Course: Machine Learning)

- Data Mining Map: http://www.saedsayad.com/