Definición del modelo y de la función de pérdida
En este ejercicio, entrenarás una red neuronal para predecir si el titular de una tarjeta de crédito incurrirá en impago. Las funciones y objetivos que utilizarás para entrenar tu red están disponibles en el shell de Python como borrower_features
y default
. Has definido los pesos y los sesgos en el ejercicio anterior.
Observa que la capa predictions
se define como \(\sigma(layer1*w2+b2)\), where \(\sigma\) es la activación sigmoidea, layer1
es un tensor de nodos para la primera capa densa oculta, w2
es un tensor de pesos y b2
es el tensor de sesgo.
Las variables entrenables son w1
, b1
, w2
, y b2
. Además, se han importado para ti las siguientes operaciones: keras.activations.relu()
y keras.layers.Dropout()
.
Este ejercicio forma parte del curso
Introducción a TensorFlow en Python
Instrucciones de ejercicio
- Aplica una función de activación lineal unitaria rectificada a la primera capa.
- Aplica un 25% de abandono a
layer1
. - Pasa el objetivo,
targets
, y los valores predichos,predictions
, a la función de pérdida de entropía cruzada.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
# Define the model
def model(w1, b1, w2, b2, features = borrower_features):
# Apply relu activation functions to layer 1
layer1 = keras.activations.____(matmul(features, w1) + b1)
# Apply dropout rate of 0.25
dropout = keras.layers.Dropout(____)(____)
return keras.activations.sigmoid(matmul(dropout, w2) + b2)
# Define the loss function
def loss_function(w1, b1, w2, b2, features = borrower_features, targets = default):
predictions = model(w1, b1, w2, b2)
# Pass targets and predictions to the cross entropy loss
return keras.losses.binary_crossentropy(____, ____)