Skip to content

neemiasbsilva/lstm-pollution-china

Repository files navigation

Using Long Short Term Memory Networks (LSTM) to Evaluate the Pollution of Beijing, China.

Keras Documentation

About LSTM

LSTM are a special kind of Recurrent Neural Network, capable of learning long-term dependencies. They were introduced by Hochreiter & Schmidhuber (1997), and were refined and popularized by many people in following works [Sundermeyer et al. (2012), Zhou, Chunting, et al. (2015), Gensler, André, et al. (2016)].

All recurrent neural networks have the form of a chain of repeating modules of neural network. LSTM also have this chain like structure, bellow follow the module in an LSTM.

The repeating module in an LSTM containg four interacting layers. To know more about lstm neural networks, please click here.

Getting Started

Prerequisites

Before you install the packages, it's necessaryly some knowledgmentes:

  Have a good knowledgment of Deep Learning, specialy of LSTM layer, and very nice knowledgment of python too.

Install

Bellow, follow some of packages you have to be install for run this experiment:

  • The first step is create run virtual environment (this step is optional, but I recommend):
  python3 -m pip install --user virtualenv
  source .virtualenv/bin/activate
  • The second step is install Sklearn
  pip install -U scikit-learn
  • After install Sklearno, you need to install TensorFlow:
  pip install tensorflow
  • When TensorFlow installation has finished, please install the Keras library:
  pip install keras
  • And the last library was MatPlotLib for you plot some graphics to analisy the results:
  python -m pip install -U matplotlib

Run the Experiment

After the instalations, you can run now the experiment type the following command in your terminal:

  sh run.sh

Result

Bellow, follow the train process history used for build the model and also for verify the overfitting.

History evaluation for see if are overfitting during the training process or no. In this figure was used mean squared error (MSE) as metric of the loss (y-axis). The x-axis are the number of epochs that used for train the model.

Sincerely: Neemias B. da Silva