Préparer un modèle pour l'optimisation
Optimisons les hyperparamètres d'un modèle de classification binaire performant sur le jeu de données sur le cancer du sein.
Vous avez vu que la première étape pour transformer un modèle en estimateur sklearn consiste à écrire une fonction qui le crée. La définition de cette fonction est cruciale, car l'optimisation des hyperparamètres se fait en faisant varier les arguments que votre fonction reçoit.
Créez une fonction simple create_model() qui reçoit en paramètres un taux d'apprentissage et une fonction d'activation. L'optimiseur Adam a été importé comme objet depuis tensorflow.keras.optimizers, ce qui vous permet aussi d'en modifier le taux d'apprentissage.
Cette activité fait partie du cours
Introduction à Deep Learning avec Keras
Instructions de l’exercice
- Réglez le taux d'apprentissage de l'objet optimiseur
Adamà la valeur reçue en argument. - Définissez les fonctions d'activation des couches cachées à celle reçue en argument.
- Passez l'optimiseur et la perte binaire par entropie croisée à la méthode
.compile().
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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