Preparare un modello per il tuning
Ottimizziamo gli iperparametri di un modello di classificazione binaria che ottiene buoni risultati sul breast cancer dataset.
Hai visto che il primo passo per trasformare un modello in uno stimatore di sklearn è creare una funzione che lo costruisce. La definizione di questa funzione è importante perché il tuning degli iperparametri viene eseguito variando gli argomenti che la tua funzione riceve.
Crea una semplice funzione create_model() che riceva come argomenti sia il learning rate sia una funzione di attivazione. L'ottimizzatore Adam è stato importato come oggetto da tensorflow.keras.optimizers, così puoi anche modificarne il parametro di learning rate.
Questo esercizio fa parte del corso
Introduzione al Deep Learning con Keras
Istruzioni dell'esercizio
- Imposta il learning rate dell'oggetto ottimizzatore
Adama quello passato negli argomenti. - Imposta le attivazioni dei livelli nascosti a quella passata negli argomenti.
- Passa l'ottimizzatore e la loss binary cross-entropy al metodo
.compile().
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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