Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Applied Deep Learning with Keras
Rating: 4.3 out of 5(7 ratings)
96 students
Last updated 6/2020
English

What you'll learn

  • Understand the difference between single-layer and multi-layer neural network models
  • Use Keras to build simple logistic regression models, deep neural networks, recurrent neural networks, and convolutional neural networks
  • Apply L1, L2, and dropout regularization to improve the accuracy of your model
  • Implement cross-validate using Keras wrappers with scikit-learn
  • Understand the limitations of model accuracy

Course content

9 sections108 lectures10h 16m total length
  • Course Overview2:52

    Let’s begin the course with the content coverage.

  • Installation and Setup5:27

    Before you start this course, we'll install Python 3.6, pip, scikit-learn, and the other libraries used throughout this course.

  • Lesson Overview3:15

    Let us begin with the first lesson and understand what we are going to cover in our learning journey.

  • Data Representation4:07

    We build models so that we can learn something about the data we are training on and about the relationships between the features of the dataset. This learning can inform us when we encounter new observations. However, we must realize that the observations we interact with in the real world and the format of data needed to train machine learning models are very different. Working with text data is a prime example of this. When we read text, we can understand each word and apply context given to each word in relation to the surrounding words -- not a trivial task. However, machines are unable to interpret this contextual information. Unless it specifically encoded, they have no idea how to convert text into something that can be an input numerical. Therefore, we must represent the data appropriately, often by converting non-numerical data types, for example, converting text, dates, and categorical variables into numerical ones. Let us learn more about it with the following topics:

    • Tables of Data

    • Loading Data

  • Loading a Dataset from the UCI Machine Learning Repository17:20

    In this video, we will be loading the bank marketing dataset from the UCI Machine Learning Repository. The goal of this video will be to load in the CSV data, identify a target variable to predict, and feature variables with which to use to model the target variable. Finally, we will separate the feature and target columns and save them to CSV files.

  • Data Pre-Processing1:22

    To fit models to the data, it must be represented in numerical format since the mathematics used to in all machine learning algorithms only work on matrices of numbers. This will be one goal of this video, to learn how to encode all features into numerical representations.

  • Cleaning the Data24:19

    It is important that we clean the data appropriately so that it can be used for training models. This often includes converting non-numerical datatypes into numerical datatypes. This will be the focus of this video – to convert all columns in the feature dataset into numerical columns.

  • Appropriate Representation of the Data21:27

    In our bank marketing dataset, we have some columns that do not appropriately represent the data, which will have to be addressed if we want the models, we build to learn useful relationships between the features and the target. One column that is an example of this is the pdays column.

  • Lifecycle of Model Creation0:32

    In this video, we will cover the lifecycle of creating performant machine learning models from engineering features, to fitting models to training data, and evaluating our models using various metrics. Many of the steps to create models are highly transferable between all machine learning libraries – we'll start with scikit-learn, which has the advantage of being widely used, and as such there is a lot of documentation, tutorials, and learning to be found across the internet.

  • Machine Learning Libraries and scikit-learn4:19

    We will start by utilizing scikit-learn. This will help us establish the fundamentals of building a machine learning model using the Python programming language. Like scikit-learn, Keras makes it easy to create models in the Python programming language through an easy-to-use API. However, the goal of Keras is for the creation and training of neural networks, rather than machine learning models in general. ANNs represent a large class of machine learning algorithms, and they are so called because their architecture resembles the neurons in the human brain. The Keras library has many general-purpose functions built in, such as optimizers, activation functions, and layer properties, so that users, like in scikit-learn, do not have to code these algorithms from scratch. Let us understand the following concepts:

    • Application of Keras and scikit-learn

    • scikit-learn

    • Estimators in scikit-learn

  • Keras5:33

    Keras is designed to be a high-level neural network API that is built on top of frameworks such as TensorFlow, CNTK, or Theano. One of the great benefits of using Keras as an introduction to deep learning for beginners is that it is very user friendly – advanced functions such as optimizers and layers are already built into the library and do not have to be written from scratch. Therefore, Keras is popular not only amongst beginners, but also seasoned experts. Also, the library allows rapid prototyping of neural networks, supports a wide variety of network architectures, and can be run on both CPU and GPU. Let us understand the following concepts:

    • Keras for Machine Learning

    • Advantages of Keras

    • Disadvantages of Keras

    • More than Building Models

  • Model Training8:50

    In this video, we will begin fitting our model to the datasets that we have created. We will review the minimum steps required to create a machine learning model that can be applied to building models with any machine learning library, including scikit-learn and Keras. Let us understand the following concepts:

    • Classifiers and Regression Models

    • Classification Tasks

    • Regression Tasks

    • Training and Test Datasets

    • Model Evaluation Metrics

  • Creating a Simple Model16:38

    In this video, we will create a simple logistic regression model from the scikit-learn package. We will then create some model evaluation metrics and test the predictions against those model evaluation metrics.

  • Model Tuning9:54

    In this topic, we will delve further into evaluating model performance and examine techniques of generalizing models to new data using regularization. Providing the context of a model's performance is extremely important. Our aim is to determine whether our model is performing well compared to trivial or obvious approaches. We do this by creating a baseline model against which machine learning models we train are compared. It is important to stress that all model evaluation metrics are evaluated and reported via the test dataset, since that will give us an understanding of how the model will perform on new data. Let us understand the following concepts:

    • Baseline Models

    • Determining a Baseline Model

  • Regularization5:01

    We learned earlier about overfitting and what it looks like. The hallmark of overfitting is when a model is trained to the training data and performs extremely well yet performs terribly on test data. One reason for this could be that the model may be relying too heavily on certain features that lead to good performance in the training dataset but do not generalize well to new observations of data or the test dataset. One technique of avoiding this is called regularization. Regularization constrains the values of the coefficients toward zero, which discourages a complex model. There are many different types of regularization techniques.

  • Lesson Summary0:54

    Summarize your learning from this lesson.

  • Test your knowledge
  • Activity 1: Adding Regularization to the Model0:39
  • Solution 1: Adding Regularization to the Model3:24

Requirements

  • Prior experience of Python programming and experience with statistics and logistic regression will help you get the most out of this course.
  • Although not necessary, some familiarity with the scikit-learn library will be an added bonus.

Description

Though designing neural networks is a sought-after skill, it is not easy to master. With Keras, you can apply complex machine learning algorithms with minimum code.

Applied Deep Learning with Keras starts by taking you through the basics of machine learning and Python all the way to gaining an in-depth understanding of applying Keras to develop efficient deep learning solutions. To help you grasp the difference between machine and deep learning, the course guides you on how to build a logistic regression model, first with scikit-learn and then with Keras. You will delve into Keras and its many models by creating prediction models for various real-world scenarios, such as disease prediction and customer churning. You’ll gain knowledge on how to evaluate, optimize, and improve your models to achieve maximum information. Next, you’ll learn to evaluate your model by cross-validating it using Keras Wrapper and scikit-learn. Following this, you’ll proceed to understand how to apply L1, L2, and dropout regularization techniques to improve the accuracy of your model. To help maintain accuracy, you’ll get to grips with applying techniques including null accuracy, precision, and AUC-ROC score techniques for fine tuning your model.

By the end of this course, you will have the skills you need to use Keras when building high-level deep neural networks.

About the Author

Ritesh Bhagwat
has a master's degree in applied mathematics with a specialization in computer science. He has over 14 years of experience in data-driven technologies and has led and been a part of complex projects ranging from data warehousing and business intelligence to machine learning and artificial intelligence. He has worked with top-tier global consulting firms as well as large multinational financial institutions. Currently, he works as a data scientist. Besides work, he enjoys playing and watching cricket and loves to travel. He is also deeply interested in Bayesian statistics.

Mahla Abdolahnejad is a Ph.D. candidate in systems and computer engineering with Carleton University, Canada. She also holds a bachelor's degree and a master's degree in biomedical engineering, which first exposed her to the field of artificial intelligence and artificial neural networks, in particular. Her Ph.D. research is focused on deep unsupervised learning for computer vision applications. She is particularly interested in exploring the differences between a human's way of learning from the visual world and a machine's way of learning from the visual world, and how to push machine learning algorithms toward learning and thinking like humans.

Matthew Moocarme is a director and senior data scientist in Viacom’s Advertising Science team. As a data scientist at Viacom, he designs data-driven solutions to help Viacom gain insights, streamline workflows, and solve complex problems using data science and machine learning.

Matthew lives in New York City and outside of work enjoys combining deep learning with music theory. He is a classically-trained physicist, holding a Ph.D. in Physics from The Graduate Center of CUNY and is an active Artificial Intelligence developer, researcher, practitioner, and educator.

Who this course is for:

  • If you have basic knowledge of data science and machine learning and want to develop your skills and learn about artificial neural networks and deep learning, you will find this course useful.