# Introduction to Machine Learning

#### Summary

This course provides an overview of machine learning fundamentals on modern Intel® architecture. Topics covered include:

- Reviewing the types of problems that can be solved
- Understanding building blocks
- Learning the fundamentals of building models in machine learning
- Exploring key algorithms

By the end of this course, students will have practical knowledge of:

- Supervised learning algorithms
- Key concepts like under- and over-fitting, regularization, and cross-validation
- How to identify the type of problem to be solved, choose the right algorithm, tune parameters, and validate a model

The course is structured around 12 weeks of lectures and exercises. Each week requires three hours to complete. The exercises are implemented in Python*, so familiarity with the language is encouraged (you can learn along the way).

#### Prerequisites

Python programming

Calculus

Linear algebra

Statistics

##### Week 1

This class introduces the basic data science toolset:

- Jupyter* Notebook for interactive coding
- NumPy, SciPy, and pandas for numerical computation
- Matplotlib and seaborn for data visualization
- Scikit-learn* for machine-learning libraries

You’ll use these tools to work through the exercises each week.

##### Week 2

This class introduces the basic concepts and vocabulary of machine learning:

- Supervised learning and how it can be applied to regression and classification problems
- K-Nearest Neighbor (KNN) algorithm for classification

##### Week 3

This class reviews the principles of core model generalization:

- The difference between over-fitting and under-fitting a model
- Bias-variance trade-offs
- Finding the optimal training and test dataset splits, cross-validation, and model complexity versus error
- Introduction to the linear regression model for supervised learning

##### Week 4

This class builds on concepts taught in previous weeks. Additionally you will:

- Learn about cost functions, regularization, feature selection, and hyperparameters
- Understand more complex statistical optimization algorithms like gradient descent and its application to linear regression

##### Week 5

This class discusses the following:

- Logistic regression and how it differs from linear regression
- Metrics for classification errors and scenarios in which they can be used

##### Week 6

During this session, we review:

- The basics of probability theory and its application to the Naïve Bayes classifier
- The different types of Naïve Bayes classifiers and how to train a model using this algorithm

##### Week 7

This week covers:

- Support vector machines (SVMs)—a popular algorithm used for classification problems
- Examples to learn SVM similarity to logistic regression
- How to calculate the cost function of SVMs
- Regularization in SVMs and some tips to obtain nonlinear classifications with SVMs

##### Week 8

Continuing with the topic of advanced supervised learning algorithms, this class covers:

- Decision trees and how to use them for classification problems
- How to identify the best split and the factors for splitting
- Strengths and weaknesses of decision trees
- Regression trees that help with classifying continuous values

##### Week 9

Following on what was learned in Week 8, this class teaches:

- The concepts of bootstrapping and aggregating (commonly known as “bagging”) to reduce variance
- The Random Forest algorithm that further reduces the correlation seen in bagging models

##### Week 11

So far, the course has been heavily focused on supervised learning algorithms. This week, learn about unsupervised learning algorithms and how they can be applied to clustering and dimensionality reduction problems.

##### Week 12

Dimensionality refers to the number of features in the dataset. Theoretically, more features should mean better models, but this is not true in practice. Too many features could result in spurious correlations, more noise, and slower performance. This week, learn algorithms that can be used to achieve a reduction in dimensionality, such as:

- Principal component analysis (PCA)
- Multidimensional scaling (MDS)