Once you fit a deep learning neural network model, you must evaluate its performance on a test dataset. This is critical, as the reported performance allows you to both choose between candidate models and to communicate to stakeholders about how good the model is at solving the problem. The Keras deep learning API model is […]

# Author Archive | Jason Brownlee

## How to Make Predictions with Keras

Once you choose and fit a final deep learning model in Keras, you can use it to make predictions on new data instances. There is some confusion amongst beginners about how exactly to do this. I often see questions such as: How do I make predictions with my model in Keras? In this tutorial, you […]

## Why Initialize a Neural Network with Random Weights?

The weights of artificial neural networks must be initialized to small random numbers. This is because this is an expectation of the stochastic optimization algorithm used to train the model, called stochastic gradient descent. To understand this approach to problem solving, you must first understand the role of nondeterministic and randomized algorithms as well as […]

## When to Use MLP, CNN, and RNN Neural Networks

What neural network is appropriate for your predictive modeling problem? It can be difficult for a beginner to the field of deep learning to know what type of network to use. There are so many types of networks to choose from and new methods being published and discussed every day. To make things worse, most […]

## Difference Between a Batch and an Epoch in a Neural Network

Stochastic gradient descent is a learning algorithm that has a number of hyperparameters. Two hyperparameters that often confuse beginners are the batch size and number of epochs. They are both integer values and seem to do the same thing. In this post, you will discover the difference between batches and epochs in stochastic gradient descent. […]

## Image Augmentation for Deep Learning with Keras

Data preparation is required when working with neural networks and deep learning models. Increasingly, data augmentation is also required on more complex object recognition tasks. In this post, you will discover how to use data preparation and data augmentation with your image datasets when developing and evaluating deep learning models in Python with Keras. After […]

## Using Learning Rate Schedules for Deep Learning Models in Python with Keras

Training a neural network or large deep learning model is a difficult optimization task. The classical algorithm to train neural networks is called stochastic gradient descent. It has been well established that you can achieve increased performance and faster training on some problems by using a learning rate that changes during training. In this post, […]

## Binary Classification Tutorial with the Keras Deep Learning Library

Keras is a Python library for deep learning that wraps the efficient numerical libraries TensorFlow and Theano. Keras allows you to quickly and simply design and train neural networks and deep learning models. In this post, you will discover how to effectively use the Keras library in your machine learning project by working through a […]

## Dropout Regularization in Deep Learning Models with Keras

Dropout is a simple and powerful regularization technique for neural networks and deep learning models. In this post, you will discover the Dropout regularization technique and how to apply it to your models in Python with Keras. After reading this post, you will know: How the Dropout regularization technique works How to use Dropout on […]

## How to Checkpoint Deep Learning Models in Keras

Deep learning models can take hours, days, or even weeks to train. If the run is stopped unexpectedly, you can lose a lot of work. In this post, you will discover how to checkpoint your deep learning models during training in Python using the Keras library. Let’s get started. Jun/2016: First published Update Mar/2017: Updated […]