Untuk mengikuti modul ini, diharapkan sudah memahami Architecture dari RNN. Pada modul ini kita akan melakukan model building.
Pertama kita definisikan model.
model = tf.keras.Sequential()
Kemudian langkah selanjutnya adalah menambahkan hidden layer.
Yang pertama adalah menambahkan embedding layer, method yang digunakan adalah Embedding yang disediakan oleh library keras.
model.add(tf.keras.layers.Embedding(input_dim=number_of_words, output_dim=128, input_shape=(X_train.shape[1],)))
Berkutnya menambahkan LSTM layer yang berguna melatih model memahami relasi antar kata, dengan parameter units=128 dan activation function tanh.
model.add(tf.keras.layers.LSTM(units=128, activation='tanh'))
Layer terakhir adalah layer output, dengan parameter units = 1, activation function = sigmoid yang menghasilkan probability untuk masing-masing output.
model.add(tf.keras.layers.Dense(units=1, activation='sigmoid'))
Setelah layer selesai ditambahkan, langkah selanjutnya adalah mengcompile model.
model.compile(optimizer='rmsprop', loss='binary_crossentropy', metrics=['accuracy'])
Anda bisa lihat summary dari model dengan method summary().
model.summary()
Model: "sequential"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
embedding (Embedding) (None, 100, 128) 2560000
_________________________________________________________________
lstm (LSTM) (None, 128) 131584
_________________________________________________________________
dense (Dense) (None, 1) 129
=================================================================
Total params: 2,691,713
Trainable params: 2,691,713
Non-trainable params: 0
_________________________
Pada modul selanjutnya akan dibahas model training dan evaluation.