Definirea modelului și a funcției de pierdere
În acest exercițiu, vei antrena o rețea neuronală pentru a prezice dacă un titular de card de credit va intra în incapacitate de plată. Caracteristicile și valorile țintă pe care le vei folosi pentru antrenare sunt disponibile în shell-ul Python sub numele borrower_features și default. Ponderile și valorile de bias au fost definite în exercițiul anterior.
Rețineți că stratul predictions este definit ca \(\sigma(layer1*w2+b2)\), unde \(\sigma\) reprezintă funcția de activare sigmoid, layer1 este un tensor de noduri pentru primul strat dens ascuns, w2 este un tensor de ponderi, iar b2 este tensorul de bias.
Variabilele antrenabile sunt w1, b1, w2 și b2. De asemenea, următoarele operații au fost importate pentru tine: keras.activations.relu() și keras.layers.Dropout().
Acest exercițiu face parte din cursul
Introducere în TensorFlow în Python
Instrucțiuni pentru exercițiu
- Aplică funcția de activare unitate liniară rectificată (ReLU) primului strat.
- Aplică un dropout de 25% stratului
layer1. - Transmite valorile țintă,
targets, și valorile prezise,predictions, funcției de pierdere cross-entropie.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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(____, ____)