Определение модели и функции потерь
В этом упражнении вы обучите нейронную сеть предсказывать, допустит ли держатель кредитной карты дефолт. Признаки и целевые значения для обучения сети доступны в оболочке 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 (выпрямленная линейная единица) к первому слою.
- Примените dropout с коэффициентом 25% к слою
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(____, ____)