Keras でのメトリクスと検証
前の演習では、手話の文字を予測するモデルを学習しましたが、その成果がどの程度かは明確ではありませんでした。この演習では、結果の解釈しやすさを高めていきます。検証用の分割を使わなかったため、学習データ内での性能向上しか確認できず、どの程度が過学習によるものか判断できませんでした。さらに、メトリクスを指定していなかったため、損失関数の減少しか確認できず、明確な解釈ができませんでした。
keras は tensorflow からインポート済みです。
この演習はコースの一部です
Introduction to TensorFlow in Python
演習の手順
- 最初の全結合層はノード数を32、活性化関数を
sigmoid、入力形状を (784,) に設定します。 - オプティマイザは Root Mean Square Propagation、損失は categorical crossentropy、メトリクスは accuracy を使用します。
- エポック数を10にし、データセットの10%を検証に使用します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Define sequential model
model = keras.Sequential()
# Define the first layer
model.add(keras.layers.Dense(____, ____, ____))
# Add activation function to classifier
model.add(keras.layers.Dense(4, activation='softmax'))
# Set the optimizer, loss function, and metrics
model.compile(optimizer='____', loss='____', metrics=['____'])
# Add the number of epochs and the validation split
model.fit(sign_language_features, sign_language_labels, epochs=____, validation_split=____)