This course provides a concise introduction to the fundamental concepts in machine learning and popular machine learning algorithms. We will cover the standard and most popular supervised learning algorithms including linear regression, logistic regression, decision trees, k-nearest neighbour, an introduction to Bayesian learning and the naïve Bayes algorithm, support vector machines and kernels and neural networks with an introduction to Deep Learning. We will also cover the basic clustering algorithms. Feature reduction methods will also be discussed. We will introduce the basics of computational learning theory. In the course we will discuss various issues related to the application of machine learning algorithms. We will discuss hypothesis space, overfitting, bias and variance, tradeoffs between representational power and learnability, evaluation strategies and cross-validation. The course will be accompanied by hands-on problem solving with programming in Python and some tutorial sessions.INTENDED AUDIENCE Elective course for UG, PG, BE, ME, MS, M.Sc, PhDPRE-REQUISITES Basic programming skills (in Python), algorithm design, basics of probability & statisticsINDUSTRY SUPPORT Data science companies and many other industries value machine learning skills.
Week 1:Introduction: Basic definitions, types of learning, hypothesis space and inductive bias, evaluation, cross-validation Week 2:Linear regression, Decision trees, overfitting Week 3:Instance based learning, Feature reduction, Collaborative filtering based recommendation Week 4:Probability and Bayes learning Week 5:Logistic Regression, Support Vector Machine, Kernel function and Kernel SVM Week 6:Neural network: Perceptron, multilayer network, backpropagation, introduction to deep neural network Week 7:Computational learning theory, PAC learning model, Sample complexity, VC Dimension, Ensemble learning Week 8:Clustering: k-means, adaptive hierarchical clustering, Gaussian mixture model