# MECH-8290-43

Introduction to Machine Learning using Python

## Course Description

Broad introduction to machine learning, datamining, and statistical pattern recognition. The intention of the course is to familiarize students with different topics in the field, explain concepts, and implement the learning in numerous case-studies. This course will try to cover (i) Supervised learning (parametric/nonparametric algorithms, support vector machines, kernels, neural networks). (ii) Unsupervised learning (clustering, dimensionality reduction)

## Class and lab information

Lecture: 3 hours/week

Additional, approximate study hours: 5 hours/week, as student requires

Estimated division of Learning hours

hands-on labs and activities: 10%

group work: N/A

lecture: 20%

individual work (including homework, project, and tutorials): 50%

class discussion (during lecture time): 10%

Credit weight: 3.0

Course format: face-to-face content summaries, examples, and questions with online and textbook-based readings, videos, tutorials, etc.

Pre-requisites

You should understand basic probability and statistics, algebra, and calculus.

For programming, you should have some background in programming, and it would be helpful if you know Matlab or Python. During the course Python is mostly used and some tutorials will be done in class. Your project code must be in Python.

## Resources

Course Blackboard site: available via student Blackboard login

Interactive in-class activities via tools discussed at the beginning of the course.

There should be no costs to students for using these interactive tools.

Primary text

Additional resources

Murphy, K. P. (2013). Machine learning: A probabilistic perspective. Cambridge, MA: MIT Press.

Mello, R. F., & Ponti, M. A. (2018). Machine learning: A practical approach on the statistical learning theory. Cham, Switzerland: Springer.

Web resources

Organizations: Leddy Library, Knovel

The Python Gallery - collection of hundreds of charts made with Python

## Course Schedule

The following course schedule is approximate. (L) for lecture and (T) for tutorial. The readings are from Bishop.

Week

01

02

03

04

05

06

07

08

09

10

11

12

Topics

L 01: Course Introduction + Linear Regression

L 02: Probability + MLE + MAP + Gradient Descent + Cross Validation

L03: Linear Classification + Logistic Regression

L04: Non-parametric (Nearest Neighbor) + Multi-class Classification (KNN)

L 05: Probabilistic Classifiers (GDA + Naive Bayes)

L 06: Neural Networks (MLP)

L 07: Clustering (k-means) + Mixture of Gaussians (GMM, EM)

L 08: Principal Component Analysis (PCA) & Autoencoders

L 09: Support Vector Machines (SVM)

L 10: Ensemble Methods

L 11: Project Presentation

L 12: Final Exam Review

Readings

1.0, 1.1, 1.2, 3.1

2.0, 2.1, 2.3, 4.2.4, 1.3

pp. 179-195, 203-207

2.5, pp. 179-184, 4.1.2, 4.3.4

4.2.2, pp. 380-381

5.1-5.3

9.1, 9.2, 9.3, 2.3.9

12.1, 4.1

7.1, 4.1.1, 4.1.2, 6.1, 6.2, pp. 325-337

14.2-14.3

N/A

N/A