ComenzarEmpieza gratis

Añadir capas a una red

Ya has visto cómo experimentar con redes más amplias. En este ejercicio, probarás una red más profunda (más capas ocultas).

Una vez más, tienes un modelo básico llamado « model_1 » como punto de partida. Tiene 1 capa oculta, con 10 unidades. Puedes ver un resumen de la estructura de ese modelo impreso. Crearás una red similar con 3 capas ocultas (manteniendo 10 unidades en cada capa).

Esto volverá a tardar unos instantes en ajustar ambos modelos, por lo que tendrás que esperar unos segundos para ver los resultados después de ejecutar el código.

Este ejercicio forma parte del curso

Introducción al aprendizaje profundo en Python

Ver curso

Instrucciones del ejercicio

  • Especifica un modelo llamado « model_2 » que sea similar a « model_1 », pero que tenga tres capas ocultas de diez unidades en lugar de una sola capa oculta.

    • Utiliza input_shape para especificar la forma de entrada en la primera capa oculta.

    • Utiliza la activación « 'relu' » para las tres capas ocultas y « 'softmax' » para la capa de salida, que debe tener dos unidades.

  • Compila model_2 tal y como has hecho con los modelos anteriores: Utilizando 'adam' como optimizer, 'categorical_crossentropy' para la pérdida y metrics=['accuracy'].

  • Pulsa «Enviar respuesta» para ajustar ambos modelos y visualizar cuál ofrece mejores resultados.

Ejercicio interactivo práctico

Prueba este ejercicio completando el código de muestra.

# The input shape to use in the first hidden layer
input_shape = (n_cols,)

# Create the new model: model_2
model_2 = ____

# Add the first, second, and third hidden layers
____
____
____

# Add the output layer
____

# Compile model_2
____

# Fit model 1
model_1_training = model_1.fit(predictors, target, epochs=15, validation_split=0.4, verbose=False)

# Fit model 2
model_2_training = model_2.fit(predictors, target, epochs=15, validation_split=0.4, verbose=False)

# Create the plot
plt.plot(model_1_training.history['val_loss'], 'r', model_2_training.history['val_loss'], 'b')
plt.xlabel('Epochs')
plt.ylabel('Validation score')
plt.show()
Editar y ejecutar código