CommencerCommencez gratuitement

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

<cours>Introduction au Deep Learning avec Keras</cours>
Voir le cours

Instructions de l’exercice

  • Définissez le taux d’apprentissage de l’objet optimiseur Adam sur 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 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
Modifier et exécuter le code