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 du 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 essentielle, car l’optimisation des hyperparamètres s’effectue en faisant varier les arguments que votre fonction reçoit.
Créez une fonction simple create_model() qui reçoit en arguments un taux d’apprentissage et une fonction d’activation. L’optimiseur Adam a été importé en tant qu’objet depuis tensorflow.keras.optimizers, ce qui vous permet également de modifier son paramètre de taux d’apprentissage.
Cet exercice fait partie du cours
Introduction au Deep Learning avec Keras
Instructions
- Définissez le taux d’apprentissage de l’objet optimiseur
Adamsur la valeur passée en argument. - Définissez les fonctions d’activation des couches cachées sur celle passée en argument.
- Passez l’optimiseur et la perte binary cross-entropy à la méthode
.compile().
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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