Research Article

A Novel Hybrid CNN-LSTM Scheme for Nitrogen Oxide Emission Prediction in FCC Unit

Algorithm 1

Pseudocode of CNN-LSTM.
Input: train_x, train_y
Hyper-parameters: filters, kernel_size, pool_size, batch_size, rate
Initialize ()
Normalization (train_x, train_y)
//The first convolution layer
1st ConV_model = Sequential ([Convolution2D (filters, kernel_size, name = “Conv2D_1”), MaxPooling2D (pool_size), Flatten (), Dense (units, activation), Dropout (rate), Dense (units, activation)])
1st ConV_model.compile (loss_function, optimizer)
1st ConV_model.fit (train_x, train_y, epochs, batch_size)
//Extract the feature map
1st ConV_feature_model = Model (inputs, 1st ConV_model.get_layer (“Conv2D_1”).output)
1st ConV_feature_output = 1st ConV_feature_model.predict (train_x)
//LSTM layer
reshape (1st ConV_feature_output)
LSTM_model = Sequential (LSTM (units, activation, recurrent_activation), Dense (units, activation))
LSTM_model.compile (loss_function, optimizer)
LSTM_model.fit (1st ConV_feature_output, train_y, epochs, batch_size)