Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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%