Download Introduction

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Nonlinear dimensionality reduction wikipedia , lookup

K-nearest neighbors algorithm wikipedia , lookup

Transcript
Machine Learning
Usman Roshan
Dept. of Computer Science
NJIT
What is Machine Learning?
• “Machine learning is programming computers
to optimize a performance criterion using
example data or past experience.” Intro to
Machine Learning, Alpaydin, 2010
• Examples:
– Facial recognition
– Digit recognition
– Molecular classification
A little history
• 1946: First computer called ENIAC to perform numerical
computations
• 1950: Alan Turing proposes the Turing test. Can machines
think?
• 1952: First game playing program for checkers by Arthur
Samuel at IBM. Knowledge based systems such as ELIZA
and MYCIN.
• 1957: Perceptron developed by Frank Roseblatt. Can be
combined to form a neural network.
• Early 1990’s: Statistical learning theory. Emphasize learning
from data instead of rule-based inference.
• Current status: Used widely in industry, combination of
various approaches but data-driven is prevalent.
Example up-close
• Problem: Recognize images representing digits
0 through 9
• Input: High dimensional vectors representing
images
• Output: 0 through 9 indicating the digit the
image represents
• Learning: Build a model from “training data”
• Predict “test data” with model
Data model
• We assume that the data is represented by a set of
vectors each of fixed dimensionality.
• Vector: a set of ordered numbers
• We may refer to each vector as a datapoint and each
dimension as a feature
• Example:
– A bank wishes to classify humans as risky or safe for loan
– Each human is a datapoint and represented by a vector
– Features may be age, income, mortage/rent, education,
family, current loans, and so on
Machine learning resources
• Data
– NIPS 2003 feature selection contest
– mldata.org
– UCI machine learning repository
• Contests
– Kaggle
• Software
– Python sci-kit
–R
– Your own code
Machine Learning techniques we will
learn in the course
Bayesian classification:
Univariate and multivariate
Linear regression
Maximum likelihood estimation
Naïve-Bayes
Feature selection
Dimensionality reduction:
PCA
Fisher discriminant
Maximum margin criterion
Clustering
Nearest neighbor
Perceptron and neural networks
Linear discrimination:
Logistic regression
Support vector machines
Kernel methods
Regularized risk minimization
Hidden Markov models
Decision trees and random forests (if
time permits)
Advanced topics (if time permits):
Boosting
Deep learning
Textbook
• Not required but highly recommended for beginners
• Introduction to Machine Learning by Ethem Alpaydin
(2nd edition, 2010, MIT Press). Written by computer
scientist and material is accessible with basic
probability and linear algebra background
• Applied predictive modeling by Kuhn and Johnson
(2013, Springer). More recent book focuses on
practical modeling.
Some practical techniques
• Combination of various methods
• Parameter tuning
– Error trade-off vs model complexity
• Data pre-processing
– Normalization
– Standardization
• Feature selection
– Discarding noisy features
Background
• Basic linear algebra and probability
– Vectors
– Dot products
– Eigenvector and eigenvalue
• See Appendix of textbook for probability
background
– Mean
– Variance
– Gaussian/Normal distribution
Assignments
• Implementation of basic classification
algorithms with Perl and Python
– Nearest Means
– Naïve Bayes
– K nearest neighbor
– Cross validation scripts
• Experiment with various algorithms on
assigned datasets
Project
• Some ideas:
– Experiment with Kaggle and NIPS 2003 feature
selection datasets
– Experimental performance study of various
machine learning techniques on a given dataset.
For example comparison of feature selection
methods with a fixed classifier.
Exams
• One exam in the mid semester
• Final exam
• What to expect on the exams:
– Basic conceptual understanding of machine
learning techniques
– Be able to apply techniques to simple datasets
– Basic runtime and memory requirements
– Simple modifications
Grade breakdown
• Assignments and project worth 50%
• Exams worth 50%