Definir el modelo y la función de pérdida
En este ejercicio, vas a entrenar una red neuronal para predecir si una persona titular de una tarjeta de crédito incurrirá en impago. Las características y los valores objetivo que usarás para entrenar la red están disponibles en el intérprete de Python como borrower_features y default. Definiste los pesos y los sesgos en el ejercicio anterior.
Ten en cuenta que la capa predictions se define como \(\sigma(layer1*w2+b2)\), donde \(\sigma\) es la activación sigmoide, layer1 es un tensor de nodos de la primera capa densa oculta, w2 es un tensor de pesos y b2 es el tensor de sesgos.
Las variables entrenables son w1, b1, w2 y b2. Además, ya tienes importadas las siguientes operaciones: keras.activations.relu() y keras.layers.Dropout().
Este ejercicio forma parte del curso
Introducción a TensorFlow en Python
Instrucciones del ejercicio
- Aplica una función de activación rectificada lineal a la primera capa.
- Aplica un 25% de dropout 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
Prueba este ejercicio y completa el 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(____, ____)