Course 805:
Machine Learning Fundamentals

(5 days)

 

Course Description

Machine Learning can be divided into 2 broad areas: supervised learning and unsupervised learning. Neural networks are a part of supervised learning. To understand neural networks, it is first necessary to understand how regression and classification supervised learning work and their problem spaces. With regression and classification supervised learning understood, it is a relatively easy step to a basic understanding of neural networks and its problem space.

All supervised learning depends on a very basic understanding of linear equations and how to manipulate data sets for training the software. Through a series of lectures, demonstrations, and hands-on exercises in Python, the necessary background is taught. The style for this part of the course is tutorial so that students can easily refer back to the material an any time.

After a full day of background work, regression supervised learning is covered. This starts with building an intuitive understanding of how supervised machine learning regression works. This is followed by implementing two supervised regression problems in Python. The first one is a class exercise and the second one is a student exercise. Gradient descent is explained and used as the cost function. Then the in class built systems are used to ensure students understand how supervised regression machine learning works with multiple attributes. With this background, the Python package SciKit is used to show how easy it can be to implement regression supervised learning.

The course builds upon the understanding just created to move to classification supervised learning. This starts with building an intuitive understanding of classification followed by implementing two classification problems in Python. Again, the first one being a class exercise and the second being a student exercise. Students learn about using a sigmoid function for the hypothesis and increase their understanding of gradient descent. At the end of the section, SciKit will be used to implement the problems showing how easy it can be.

With this background, students are in a position to learn about neural networks. The first part of this is an extensive set of demonstrations, class exercises, and student exercises with the objective that students have an understanding of how neural network and the parameters controlling the networks work. Once this is done, students will implement a series neural networks in Python. Again, at the end of the session, SciKit will be used to show how easy implementing neural networks can be.

The course terminates with two optional tutorials. The first is on using Tensorflow for neural networks and the second is on using R to implement machine learning.

Learning Objectives

After successfully completing this course, students will be able to:

  • Have an intuitive understanding of supervised machine learning: regression, classification, and neural networks
  • Have implemented a regression, classification, and neural network in Python.
  • Have the background necessary to use SciKit for doing machine learning
  • Have the necessary background to expand their knowledge of machine learning to advanced topics
  • Develop the models using python with SciKit
  • Optionally understand how to use TensorFlow

Prerequisites

A minimal knowledge of Python is required to do some of the hands-on exercises.

Who Should Attend

Anyone who is interested in learning about how to use regression, classification, and neural networks in machine learning.


Course Outline

 

1. Required Background

  • Knowledge of Python Pandas
  • Knowledge of Numpy Array and Matrices
  • Basic Knowledge of the Symbols Used in Linear Algebra
  • Basic Knowledge of How to Implement Array and Matrices in Pandas and Numpy
  • Functions of Scipy
  • How to Plot Using Python’s matplotlib

2. Supervised Regression Machine Learning

  • Intuitive Understand Using One Attribute
  • Implementation in Python Using Numpy
  • Graphing Solutions for Better Understanding
  • Expanding Understand to Use Multiple Attributes
  • Implementation in Python Using Numpy
  • Normalizing Data
  • Implementation in SkiKit

3. Supervised Classification Machine Learning

  • Intuitive Understand Using One Attribute
  • Implementation in Python Using Numpy
  • Graphing Solutions for Better Understanding
  • Expanding Understand to Use Multiple Attributes
  • Implementation in Python Using Numpy
  • Over and Under Fitting
  • Implementation in SciKit

4. Neural Network: Using a Single Layer

  • Use Cases
  • Conceptual View
  • Intuitive Understanding
  • Implementing Simple Neural Network in Python
  • Extending to Multiple Perceptron in Single Layer
  • Implementing Second Neural Network in Python
  • Using SciKit to Implement

5. Deep Learning Neural Network

  • Problem Statement
  • Architecture: Input and Hidden Layers
  • Training Network: Gradient Descent, Back Propagation
  • Evaluating the System
  • Implementing a Deep Learning Neutral Network in Python
  • Using SciKit to Implement

6. Optional: Using Tensorflow

7. Optional: Using R

Please Contact Your ROI Representative to Discuss Course Tailoring!