EIEIOTECHNOVATION
← Training programmes

EIEIO / ARTIFICIAL INTELLIGENCE

Intro to Machine Learning with PyTorch Nanodegree Program

Course outline

Duration to discuss

Duration

Intro to Machine Learning with PyTorch Nanodegree Program

3 months (at 10hrs/week)

Prerequisites

To optimize your chances of success in this program, we recommend intermediate Python programming knowledge and basic knowledge of probability and statistics.

  • Intermediate Python programming knowledge, including:
  • At least 40hrs of programming experience
  • Familiarity with data structures like dictionaries and lists
  • Experience with libraries like NumPy and pandas
  • Basic knowledge of probability and statistics, including:
  • Experience calculating the probability of an event
  • Familiarity with terms like the mean and variance of a probability distribution

There are a few courses that can help prepare you for this program, depending on the areas you need to

  • AI Programming with Python Nanodegree Program
  • Intro to Programming Nanodegree Program

Program Overview

Learn foundational machine learning techniques - from data manipulation to unsupervised and supervised algorithms in PyTorch and scikit-learn.

A graduate of this program will be able to:

  • Use Python and SQL to access and analyze data from several different data sources.
  • Build predictive models using a variety of unsupervised and supervised machine learning techniques.
  • Perform feature engineering to improve the performance of machine learning models.
  • Optimize, tune, and improve algorithms according to specific metrics like accuracy and speed.
  • Compare the performances of learned models using suitable metrics.

This program is comprised of 3 courses and 3 projects. Each project you build will be an opportunity to demonstrate what you’ve learned in the lessons. Your completed projects will become part of a career portfolio that will demonstrate to potential employers that you have skills in data analysis and feature engineering, machine learning algorithms, and training and evaluating models.

Syllabus

Supervised Learning

In this lesson, you will learn about supervised learning, a common class of methods for model construction.

Deep Learning

In this lesson, you’ll learn the foundations of neural network design and training in PyTorch.

Unsupervised Learning

In this lesson, you will learn to implement unsupervised learning methods for different kinds of problem domains.

Course 1: Supervised Learning

Project Description:

One of our main goals at Udacity is to help you create a job-ready portfolio of completed projects. Building a project is one of the best ways to test the skills you’ve acquired and to demonstrate your newfound abilities to future employers or colleagues. Throughout this Nanodegree program, you’ll have the opportunity to prove your skills by building the following projects:

  • Finding Donors for CharityML
  • Apply supervised learning techniques on data collected for the US census to help CharityML (a fictitious charity organization) identify groups of people that are most likely to donate to their cause.
  • Create Your Own Image Classifier
  • Define and train a neural network in PyTorch that learns to classify images; going from image data exploration to network training and evaluation.
  • Identify Customer Segments with Arvato
  • Study a real dataset of customers for a company, and apply several unsupervised learning techniques in order to segment customers into similar groups and extract information that may be used for marketing or product improvement.

In the sections below, you’ll find detailed descriptions of each project along with the course material that presents the skills required to complete the project.

Course Project: Analyze NYSE Data

CharityML is a fictitious charity organization located in the heart of Silicon Valley that was established to provide financial support for people eager to learn machine learning. To expand their potential donor base, CharityML has decided to send letters to residents of California, but to only those most likely to donate to the charity. Your goal will be to evaluate and optimize several different supervised learning algorithms to determine which algorithm will provide the highest donation yield while under some marketing constraints.

  • Supervised learning
  • Model evaluation and comparison
  • Tuning models according to constraints

Lesson Title Learning Outcomes

Regression ➔ Learn the difference between Regression and Classification

➔ Train a Linear Regression model to predict values

➔ Learn to predict states using Logistic Regression

Perceptron Algorithms➔ Learn the definition of a perceptron as a building block for

neural networks, and the perceptron algorithm for classification.

Decision Trees ➔ Train Decision Trees to predict states

➔ Use Entropy to build decision trees, recursively

Naive Bayes’ ➔ Learn Bayes’ rule, and apply it to predict cases of spam messages

using the Naive Bayes algorithm

➔ Train models using Bayesian Learning

➔ Complete an exercise that uses Bayesian Learning for natural

language processing

Support Vector Machines➔ Learn to train a Support Vector Machines to separate data, linearly

➔ Use Kernel Methods in order to train SVMs on data that is not linearly

separable

Ensemble of Learners➔ Enhance traditional algorithms via boosting

➔ Learn and apply Random Forest algorithms

➔ Use AdaBoost and evaluate the performance of boosted models

Evaluation Metrics ➔ Learn about different metrics to measure model success

➔ Calculate accuracy, precision, and recall to measure the performance

of your models.

Training and Tuning Models➔ Train and test models with Scikit-learn.

➔ Choose the best model using evaluation techniques like

cross-validation and grid search.

Course 2: Neural Networks

Project Description:

Implementing an image classification application using a deep neural network. This application will train a

deep learning model on a dataset of images. It will then use the trained model to classify new images. You

will develop your code in a Jupyter notebook to ensure your implementation works well.

Course Project: Create an Image Classifier

Key Skills Demonstrated:

  • PyTorch and neural networks
  • Model validation and evaluation

Lesson Titles Learning Outcomes

Introduction to Neural Networks➔ Learn the foundations of deep learning and neural networks.

➔ Implement gradient descent and backpropagation in Python.

Implementing Gradient Descent➔ Implement gradient descent using NumPy matrix multiplication.

Training Neural Networks ➔ Learn several techniques to effectively train a neural network

➔ Prevent overfitting of training data and learn best practices for

minimizing the error of a network.

Deep Learning with PyTorch➔ Learn how to use PyTorch for building deep learning models.

Course 3: Creating Customer Segments

Project Description:

In this project, you will apply unsupervised learning techniques on product spending data collected for customers of a wholesale distributor in Lisbon, Portugal to identify customer segments hidden in the data. You will first explore and pre-process the data by scaling each product category and then identifying (and removing) unwanted outliers. With the cleaned customer spending data, you will apply PCA transformations to the data and implement clustering algorithms to segment the transformed customer data. Finally, you will compare the segmentation found with an additional labeling and consider ways this information could assist the wholesale distributor with future service changes.

Key Skills Demonstrated:

  • Data cleaning
  • Dimensionality reduction with PCA
  • Unsupervised clustering

Lesson Title Learning Outcomes

Clustering ➔ Learn the basics of clustering data

➔ Cluster data with the K-means algorithm

Hierarchical and Density-Based➔ Cluster data with Single Linkage Clustering

Clustering➔ Cluster data with DBSCAN, a clustering method that captures the

insight that clusters are dense group of points

Gaussian Mixture Models➔ Cluster data with Gaussian Mixture Models

➔ Optimize Gaussian Mixture Models with and Expectation Maximization

Dimensionality Reduction➔ Reduce the dimensionality of the data using Principal Component

Analysis and Independent Component Analysis

Programme scope, delivery arrangements and suitability are confirmed during enquiry.