Een model voorbereiden op tuning
Laten we de hyperparameters afstemmen van een binaire classificatie-model dat goed presteert op de breast cancer dataset.
Je hebt gezien dat de eerste stap om van een model een sklearn-estimator te maken is om een functie te bouwen die het model aanmaakt. De definitie van deze functie is belangrijk, omdat hyperparameter tuning gebeurt door de argumenten te variëren die je functie ontvangt.
Bouw een eenvoudige create_model()-functie die zowel een learning rate als een activatiefunctie als argumenten ontvangt. De Adam-optimizer is geïmporteerd als object uit tensorflow.keras.optimizers, zodat je ook de learning rate-parameter ervan kunt aanpassen.
Deze oefening maakt deel uit van de cursus
Introductie tot Deep Learning met Keras
Oefeninstructies
- Stel de learning rate van het
Adam-optimizerobject in op de waarde die via de argumenten wordt doorgegeven. - Stel de activaties van de verborgen lagen in op de waarde die via de argumenten wordt doorgegeven.
- Geef de optimizer en de binary cross-entropy loss door aan de
.compile()-methode.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Creates a model given an activation and learning rate
def create_model(learning_rate, activation):
# Create an Adam optimizer with the given learning rate
opt = Adam(lr = ____)
# Create your binary classification model
model = Sequential()
model.add(Dense(128, input_shape = (30,), activation = ____))
model.add(Dense(256, activation = ____))
model.add(Dense(1, activation = 'sigmoid'))
# Compile your model with your optimizer, loss, and metrics
model.compile(optimizer = ____, loss = ____, metrics = ['accuracy'])
return model