## Machine Learning

The Machine Learning course is given on the eighth semester of undergraduate studies.

### Goal

Introduce students to the basic concepts, elements, and techniques of Machine Learning.

### Outcome

By the end of the course, the student can:

- Define the following basic machine learning problems: Regression, Classification, Clustering, Dimensionality Reduction.
- Explain the main differences between these problems.
- Describe and implement important models and algorithms for each of these problems.
- Apply them to real-world problems.
- Compare their performances.
- Derive the theory behind ML methods taught in the course.

### Content

Main topics of the course:

- Supervised Learning
- Linear Regression
- Regularization, Overfitting, and Model Selection
- Non-parametric approach (Nearest Neighbor and Kernel Regression)
- Maximum Likelihood method
- Logistic Regression
- Perceptron
- Naive Bayes
- SVM
- Ensemble Learning
- Practical advice for applying Machine Learning algorithms

- Unsupervised Learning
- Clustering
- Dimensionality Reduction

- Learning Theory
- Union and Chernoff/Hoeffding bounds
- Bias/Variance tradeoffs
- VC dimension