The goal of this course is to introduce data analysis from the machine learning perspective, in particular how to design and evaluate data-driven solutions for real problems in different domains. Students will gain familiarity with the workings of common machine learning models and will learn how noise and bias in the data affect their results. The course assumes knowledge of Python, calculus, basic probability and mathematical statistics.

The Basics of Machine Learning and Background

- Introduction to Machine Learning
- The Process of Learning and Key Cocepts
- Background I: Linear Algebra and Vector Calculus
- Background II: Convex Analysis and Optimization
- Exploratory Data Analysis

Supervised Learning

- Regression
- Nearest Neighbors
- Artificial Neural Networks (Perceptron & Deep Neural Netwroks)
- Logistic Regression
- Decision Trees
- Support Vector Machines
- Ensemble methods: Bagging and Boosting

Unsupervised Learning

Reinforcement Learning