**Course Outline**

### Part I

Section Objectives:

- Recognize the advantages and disadvantages of machine learning.
- Define and explain the subjects involved in machine learning.
- Define supervised and unsupervised learning.
- Evaluate machine learning models.
- Define neural networks.
- Recognize different types of neural networks.
- Compare and contrast supervised modes and unsupervised modes.
- Obtain impressive results using deep learning.
- Understand how to train deep learning networks using the transfer learning approach.
- Recognize applications of deep learning.

**Module 1: The Foundations of Machine Learning**

- Advantages of Machine Learning
- Disadvantages of Machine Learning
- Subjects Involved in Machine Learning
- Statistics
- Brain Modeling
- Adaptive Control Theory
- Psychological Modeling
- Artificial Intelligence
- Evolutionary Models
- Programming Languages
- R
- Python

**Module 2: Machine Learning Models**

- Supervised Machine Learning
- Unsupervised or Reinforcement Learning
- How to Evaluate Machine Learning Models

**Module 3: An Introduction to Nueral Networks**

- Historical Background
- Why Use Neural Networks?
- Neural Networks vs. Conventional Computers
- Types of Neural Networks
- Fully Connected Neural Network
- Feed-Forward Networks
- Convolutional Neural Networks
- Feedback Networks
- Perceptrons
- Recurrent Neural Networks
- Generative Adversarial Network

**Module 4: An Introduction to Deep Learning**

- Supervised Modes
- Unsupervised Modes
- How to Obtain Impressive Results Using Deep Learning
- Examples of Deep Learning
- Automated Driving
- Defense and Aerospace
- Medical Research
- Industrial Automation
- Electronics
- How Does Deep Learning Work?
- Why Deep Learning is Better Than Traditional Learning Methods
- Choosing Between Deep Learning and Machine Learning

**Module 5: How to Create and Train Deep Learning Models**

- Training from Scratch
- Transfer Learning
- Feature Extraction

**Module 6: Applications of Deep Learning**

- Recognize applications of deep learning.

**Module 7: Activation Functions Used to Develop Deep Learning Models**

- Popular Activation Functions
- Choosing the Right Activation Function

### Part II

Objectives:

- Install Python.
- Understand and correctly use the Python naming convention.
- Correctly use variables and dynamic typing in Python.
- Use NumPy and Panda Libraries to clean data.
- Set an index for every field to access that field.
- Use applymap() function to clean the complete data set.
- Use .str() accessor to clean specific object fields.
- Use NumPy Libraries to manipulate data.
- Set up a Python environment for deep learning.
- Load the CSV data set into Keras and make it available for use.
- Create a neural network model to solve the regression problem.
- Use scikit-learn in Keras and evaluate the model using the method of cross-validation.
- Prepare the data set well to improve the accuracy and predictions of the model.
- Tune or improve the network topology for different models using Keras.
- Build a neural network using Keras.
- Use various methods to evaluate models built using Keras.
- Save a Keras model to disk and load it whenever necessary.
- Understand and apply dropout regularization to deep learning models in Python.

**Module 8: An Introduction to Python**

- Running Python
- Installing on Windows
- Installing on Other Systems
- Choosing the Right Version
- Python Keywords
- Understanding the Naming Convention
- Creating and Assigning Values to Variables
- Recognizing Different Types of Variables
- Working with Dynamic Typing
- The None Variable
- Computers Only Take Zeros and ones
- Deep Learning Libraries in Python.

**Module 9: How to Clean Data Using Python**

- Dropping Columns in a Data Frame
- Changing the Index of a Data Frame
- Tidying up Fields in the Data
- Cleaning the Entire Data Set Using the applymap().

**Module 10: How to Manipulate Data Using Python**

- Starting with Numpy
- Creating Arrays
- Array Indexing
- Array Slicing
- Array Concatenation

**Module 11: Python Environment for Deep Learning**

- Installation of Keras, TensorFlow, and Theano

**Modul 12: Regression Problem Using Keras**

- Develop the Baseline Model
- Modeling a Standardized Data Set
- Tune the Network Typology
- Evaluate a Deeper Network Topology
- Evaluate a Wider Network Topology

**Module 13: How to Develop a Neural Network in Python using Keras**

- Load Data
- Define the Model
- Compile the Model
- Fit the Model
- Evaluate the Model
- Tie It All Together
- Make Predictions

**Module 14: How to Evaluate the Performance of a Deep Learning Model**

- Empirically Evaluate Network Configurations
- Data Splitting
- Manual K-Fold Cross Validation

**Module 15: How to Save and Load Deep Learning Models**

- Save Your Neural Network Model to JSON
- Save Your Neural Network Model to YAML

**Module 16: Reducing Dropouts in Deep Learning Models**

- Dropout Regularization for Neural Networks
- Regularizing Dropouts in Keras
- Using Dropout on Visible Layers
- Using Dropout on Hidden Layers
- Tips for Using Dropout