Deep Learning with TensorFlow 2
Course descriptionMachine and deep learning are some of those quantitative analysis skills that differentiate the data scientist from the other members of the team. The field of machine learning is the driving force of artificial intelligence. This course will teach you how to leverage deep learning and neural networks from this powerful tool for the purposes of data science. The technology we employ is TensorFlow 2.0, which is the state-of-the-art deep learning framework.
In this introductory part of the course, we will discuss why you will need machine learning when working as a data scientist, what you will see in the following chapters of this training, and what the best way to take the course is.
Neural networks Intro
The basic logic behind training an algorithm involves four ingredients: data, model, objective function, and an optimization algorithm. In this part of the course, we describe each of them and build a solid foundation that allows you to understand the idea behind using neural networks. After completing this chapter, you will know what the various types of machine learning are, how to train a machine learning model, and understand terms like objective function, L2-norm loss, cross-entropy loss, one gradient descent, and n-parameter gradient descent.
Setting up the environment
Here, we will show you how to install the Jupyter Notebook (the environment we will use to code in Python) and how to import the relevant libraries. Because this course is based in Python, we will be working with several popular libraries: NumPy, SciPy, scikit-learn and TensorFlow.
It is time to build your first machine learning algorithm. We will show you how to import the relevant libraries, how to generate random input data for the model to train on, how to create the targets the model will aim at, and how to plot the training data. The mechanics of this model exemplify how all regressions you’ve run in different packages (scikit-learn) or software (Excel) work. This is an iterative method aiming to find the best-fitting line.
Introduction to TensorFlow 2
Having created the simple net, we 'translate' it to TensorFlow. This is our way of taking a simple, well-understood problem to introduce the syntax and logic of TensorFlow.
Deep nets overview
From this section on, we will explore deep neural networks. Most real-life dependencies cannot be modelled with a simple linear combination (as we have done so far). And because we want to be better forecasters, we need better models. Most of the time, this means working with a model that is more sophisticated than a liner model. In this section, we will talk about concepts like deep nets, non-linearities, activation functions, softmax activation, and backpropagation. Sounds a bit complex, but we have made it easy for you!
Тo get a truly deep understanding of deep neural networks, one will have to look at the mathematics of it. As backpropagation is at the core of the optimization process, we wanted to introduce you to it. This is not a necessary part of the course, as in TensorFlow, sklearn, or any other machine learning package (as opposed to simply NumPy), will have backpropagation methods incorporated.
Some of the most common pitfalls you can have when creating predictive models, and especially in deep learning, is to either underfit or overfit your data. This means to either take less advantage of the machine learning algorithm than you could have due to insufficient training (underfitting), or alternatively create a model that fits the training data too much (overtrain the model) which makes it unsuitable for a different sample (overfitting).
The gradient descent iterates the whole training set before updating the weights. Every iteration updates the weights in a relatively small way. Here, you will learn common pitfalls related to this method and how to boost them, using stochastic gradient descent, momentum, learning rate schedules, and adaptive learning rates.
A large part of the effort data scientists make when creating a new model is related to preprocessing. This process refers to any manipulation we apply to the dataset before running it and training the model. Learning how to preprocess data is fundamental for anyone who wants to be able to create machine learning models, as no meaningful framework can simply take raw data and provide an answer. In this part of the course, we will show you how to prepare your data for analysis and modeling.
Data science without an application is nothing but research. Since we at 365 believe that the skills you acquire should be relevant for your work, we finish the course with a business case, where we implement all the deep learning knowledge you've acquired.