Sunteți pe pagina 1din 13

Deep Learning Nanodegree Syllabus

Project: Find Donors for CharityML


Supporting Lesson Content: Supervised Learning

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 ➔ Learn the definition of a perceptron as a building block for
Algorithms 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 ➔ Learn to train a Support Vector Machines to separate data,
Machines linearly
➔ Use Kernel Methods in order to train SVMs on data that is not
linearly separable
Ensemble of ➔ Enhance traditional algorithms via boosting
Learners
➔ 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 ➔ Train and test models with Scikit-learn.
Models ➔ Choose the best model using evaluation techniques like cross-
validation and grid search.

Project Description:
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 evaluate and optimize several
different supervised learning algorithms to determine which algorithm will
provide the highest donation yield while under some marketing constraints.

Key Skills Demonstrated:

● Supervised learning

● Model evaluation and comparison

● Tuning models according to constraints


Project: Create an Image Classifier
Supporting Lesson Content: Neural Networks

Lesson Title Learning Outcomes

Introduction to Neural ➔ Learn the foundations of deep learning and neural networks.
Networks ➔ Implement gradient descent and backpropagation in Python.

Implementing Gradient ➔ Implement gradient descent using NumPy matrix


Descent 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 ➔ Learn how to use PyTorch for building deep learning models.
PyTorch

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.

Key Skills Demonstrated:

● PyTorch and neural networks

● Model validation and evaluation


Project: Creating Customer Segments
Supporting Lesson Content: Unsupervised Learning

Lesson Title Learning Outcomes


Clustering ➔ Learn the basics of clustering data
➔ Cluster data with the K-means algorithm
Hierarchical and ➔ Cluster data with Single Linkage Clustering
Density-Based ➔ Cluster data with DBSCAN, a clustering method that
Clustering captures the insight that clusters are dense group of points
Gaussian Mixture ➔ Cluster data with Gaussian Mixture Models
Models ➔ Optimize Gaussian Mixture Models with and Expectation
Maximization
Dimensionality ➔ Reduce the dimensionality of the data using Principal
Reduction Component Analysis and Independent Component Analysis

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
Portfolio Exercise: Build a Python Package
Supporting Lesson Content: Software Engineering
Lesson Title Learning Outcomes

Software Engineering ➔ Write clean, modular, and well-documented code


Practices ➔ Refactor code for efficiency
➔ Create unit tests to test programs
➔ Track actions and results of processes with logging
➔ Conduct and receive code reviews
Object Oriented ➔ Understand when to use object oriented programming
Programming ➔ Build and use classes
➔ Learn how large, modular Python packages and use object
oriented programming
Upload a Package to PyPI ➔ Portfolio Exercise: Build your own Python package

Exercise Description:
This program is all about understanding how to build machine learning
algorithms and prepare them for scalable, production systems. A first step
towards building these systems is to gain an understanding of writing
production level code, which you have the option of doing by writing a Python
package of your own.

Key Skills Demonstrated:

● Object-oriented programming

● Clean and modular code

● Code documentation
Project: Deploy a Sentiment Analysis Model
Supporting Lesson Content: Model Deployment
Lesson Title Learning Outcomes

Introduction to ➔ Gain familiarity with cloud and deployment terminology


Deployment ➔ Understand the machine learning workflow in production
➔ Learn about workplace use cases of machine learning
Deploy a Model ➔ Deploy a model within SageMaker
➔ Predict housing prices in Boston using XGBoost on SageMaker
➔ Determine movie review sentiment using XGBoost on
SageMaker
Web Hosting ➔ Learn to provide access to an endpoint from a website
➔ Use API Gateway and Lambda to integrate ML models into a web
app
Model Monitoring ➔ Learn how to monitor the behavior of your models over time
➔ Tune hyperparameters of an XGBoost model using SageMaker’s
automatic hyperparameter tuning tools
➔ Run an A/B test on SageMaker to compare the tuned model to
the untuned model
Updating a Model ➔ Update your model to account for changes in the data that were
discovered during model monitoring
➔ Explore how to handle new phrases introduced to your model
during your sentiment analysis
Project Description:
In this project you will use a recurrent neural network for the purpose of
determining the sentiment of a movie review using a dataset of text from
IMdB. You will create and deploy this model using Amazon SageMaker. After
deploying your model, you will construct a simple web app which will interact
with the deployed model and categorize any new, input review.

Key Skills Demonstrated:

● Text analysis
● Model deployment via SageMaker
● APIs for web deployment
Project: Plagiarism Detector
Supporting Lesson Content: Machine Learning Case Studies

Lesson Title Learning Outcomes

Population Segmentation ➔ Learn the breadth of algorithms available using AWS SageMaker.
with SageMaker ➔ Understand how you can use unsupervised algorithms to analyze
data with SageMaker.
➔ Deploy an unsupervised model using SageMaker.
➔ Draw insights about your data by extracting model attributes.
Detecting Credit Card Fraud ➔ Build and improve a linear model to identify cases of payment
fraud.
➔ Handle cases of class imbalance in the training data.
➔ Tune a model in SageMaker to improve its performance
according to a specific metric.
Deploying Custom Models ➔ Deploy a custom PyTorch model using SageMaker.
➔ Write a custom training script to train a model of your own
design.
Time-Series Forecasting ➔ Process time-series data and format it for training a machine
learing model.
➔ Use SageMaker’s DeepAR algorithm for time-series forecasting.
➔ Deploy a model and use it to predict future data points.

Project Description:
Use your machine learning skills to compare two text sources and identify
cases of plagiarism. In this project, you will extract relevant text features and
train a model of your own design to do plagiarism detection. Then, you will
deploy your trained model using Amazon SageMaker.

Key Skills Demonstrated:

● Feature engineering

● Model design and evaluation

● Model deployment via SageMaker


Project: Capstone & Proposal
Supporting Lesson Content: Project Options

Supporting Lessons Learning Outcomes

Elective 1: Starbucks ➔ Use purchasing habits to arrive at a discount measures to


obtain and retain customers.
➔ Identify groups of individuals that are most likely to be
responsive to rebates.
Elective 2: Arvato Financial ➔ Work through a real-world dataset and challenge provided by
Services Arvato Financial Services, a Bertelsmann company.
➔ Top performers have a chance at an interview with Arvato or
another Bertelsmann company!
Elective 3: Convolutional ➔ Complete a project to identify dog breeds based on images.
Neural Network
Elective 4: Your Choice ➔ Build a new project entirely of your own choosing.

Project Description:
In this capstone project, you will leverage what you’ve learned throughout the
program to build a machine learning project of your choosing. You will define
the problem you want to solve, investigate and explore the data, identify and
explore the data, then perform your analyses and develop a set of conclusions.
You will present the analysis and your conclusions in a blog post and github
repository. This project will serve as a demonstration of your ability as a
machine learning engineer, and will be an important piece of your job ready
portfolio.

Key Skills Demonstrated:

● All of the machine learning workflow, from data exploration to model


training and evaluation
Deep Learning Nanodegree Syllabus
Project 1: Predicting Bike-Sharing Patterns
Learn neural networks basics, and build your first network with Python and
NumPy. You’ll define and train a multi-layer neural network, and use it to
analyze real data. In this project, you will build and train neural networks from
scratch to predict the number of bike-share users on a given day.
Project 2: Dog Breed Classifier
In this project, you will define a Convolutional Neural Network that performs
better than the average human when given the task: identifying dog breeds.
Given an image of a dog, your algorithm will produce an estimate of the dog’s
breed. If supplied an image of a human, the code will *also* produce an
estimate of the closest-resembling dog breed. Along with exploring state-of-
the-art CNN models for classification, you will make important design
decisions about the user experience for your app.
Project 3: Generate TV Scripts
In this project, you will build your own Recurrent Networks and Long Short-
Term Memory Networks with PyTorch. You’ll perform sentiment analysis and
generate new text, and use recurrent networks to generate new text that
resembles a training set of TV scripts.
Project 4: Generate Faces
Learn to understand Generative Adversarial Networks with the model’s
inventor, Ian Goodfellow. Then, apply what you’ve learned in this project and
implement a Deep Convolutional GAN. This DCGAN is made of a pair of multi-
layer neural networks that compete against each other until one learns to
generate realistic images of faces.

Supporting Lesson Content: Generative Adversarial Networks

Lesson Title Learning Outcomes


Project 5: Deploy a Sentiment Analysis Model
In this project, you will train and deploy your own PyTorch sentiment analysis
model using Amazon SageMaker on AWS. This model will be trained to do
sentiment analysis on movie reviews (positive or negative reviews). You’ll
build the model, deploy it, and create a gateway for accessing this model from
a website.

S-ar putea să vă placă și