Визначення моделі та функції втрат
У цій вправі ви навчатимете нейронну мережу передбачати, чи буде дефолт за кредитною карткою. Ознаки та ціль, які ви використаєте для навчання, доступні в оболонці Python як borrower_features і default. Ви визначили ваги та зсуви в попередній вправі.
Зауважте, що шар predictions визначено як \(\sigma(layer1*w2+b2)\), де \(\sigma\) — це сигмоїдна активація, layer1 — тензор вузлів першого прихованого щільного шару, w2 — тензор ваг, а b2 — тензор зсувів.
Навчуваними змінними є w1, b1, w2 і b2. Крім того, для вас вже імпортовано такі операції: keras.activations.relu() і keras.layers.Dropout().
Ця вправа є частиною курсу
Вступ до TensorFlow на Python
Інструкції до вправи
- Застосуйте функцію активації ReLU (прямолінійна виправлена) до першого шару.
- Застосуйте 25% відсів (dropout) до
layer1. - Передайте ціль
targetsі передбаченняpredictionsдо функції втрат кросентропії.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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(____, ____)