Bidirectional LSTMs are an extension of traditional LSTMs that can improve model performance on sequence classification problems. In problems where all timesteps of the input sequence are available, Bidirectional LSTMs train two instead of one LSTMs on the input sequence. The first on the input sequence as-is and the second on a reversed copy of […]
How to Get Reproducible Results with Keras
Neural network algorithms are stochastic. This means they make use of randomness, such as initializing to random weights, and in turn the same network trained on the same data can produce different results. This can be confusing to beginners as the algorithm appears unstable, and in fact they are by design. The random initialization allows […]
How to use an Encoder-Decoder LSTM to Echo Sequences of Random Integers
A powerful feature of Long Short-Term Memory (LSTM) recurrent neural networks is that they can remember observations over long sequence intervals. This can be demonstrated by contriving a simple sequence echo problem where the entire input sequence or partial contiguous blocks of the input sequence are echoed as an output sequence. Developing LSTM recurrent neural […]
How to Learn to Echo Random Integers with LSTMs in Keras
Long Short-Term Memory (LSTM) Recurrent Neural Networks are able to learn the order dependence in long sequence data. They are a fundamental technique used in a range of state-of-the-art results, such as image captioning and machine translation. They can also be difficult to understand, specifically how to frame a problem to get the most out […]
The 5 Step Life-Cycle for Long Short-Term Memory Models in Keras
Deep learning neural networks are very easy to create and evaluate in Python with Keras, but you must follow a strict model life-cycle. In this post, you will discover the step-by-step life-cycle for creating, training, and evaluating Long Short-Term Memory (LSTM) Recurrent Neural Networks in Keras and how to make predictions with a trained model. […]
How to Calculate Bootstrap Confidence Intervals For Machine Learning Results in Python
It is important to both present the expected skill of a machine learning model a well as confidence intervals for that model skill. Confidence intervals provide a range of model skills and a likelihood that the model skill will fall between the ranges when making predictions on new data. For example, a 95% likelihood of […]
How to Report Classifier Performance with Confidence Intervals
Once you choose a machine learning algorithm for your classification problem, you need to report the performance of the model to stakeholders. This is important so that you can set the expectations for the model on new data. A common mistake is to report the classification accuracy of the model alone. In this post, you […]
How to Evaluate the Skill of Deep Learning Models
I often see practitioners expressing confusion about how to evaluate a deep learning model. This is often obvious from questions like: What random seed should I use? Do I need a random seed? Why don’t I get the same results on subsequent runs? In this post, you will discover the procedure that you can use […]
7 Ways to Handle Large Data Files for Machine Learning
Exploring and applying machine learning algorithms to datasets that are too large to fit into memory is pretty common. This leads to questions like: How do I load my multiple gigabyte data file? Algorithms crash when I try to run my dataset; what should I do? Can you help me with out-of-memory errors? In this […]
On the Suitability of Long Short-Term Memory Networks for Time Series Forecasting
Long Short-Term Memory (LSTM) is a type of recurrent neural network that can learn the order dependence between items in a sequence. LSTMs have the promise of being able to learn the context required to make predictions in time series forecasting problems, rather than having this context pre-specified and fixed. Given the promise, there is […]