Definindo o modelo e a função de perda
Neste exercício, você vai treinar uma rede neural para prever se um titular de cartão de crédito dará default. As variáveis de entrada e os alvos que você usará para treinar sua rede estão disponíveis no shell do Python como borrower_features e default. Você definiu os pesos e vieses no exercício anterior.
Note que a camada predictions é definida como \(\sigma(layer1*w2+b2)\), em que \(\sigma\) é a ativação sigmoide, layer1 é um tensor de nós da primeira camada densa oculta, w2 é um tensor de pesos e b2 é o tensor de viés.
As variáveis treináveis são w1, b1, w2 e b2. Além disso, as seguintes operações já foram importadas para você: keras.activations.relu() e keras.layers.Dropout().
Este exercício faz parte do curso
Introdução ao TensorFlow em Python
Instruções do exercício
- Aplique a função de ativação ReLU (unidade linear retificada) à primeira camada.
- Aplique 25% de dropout a
layer1. - Passe o alvo,
targets, e os valores previstos,predictions, para a função de perda de entropia cruzada.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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(____, ____)