Zacznij terazZacznij za darmo

Definiowanie modelu i funkcji straty

W tym ćwiczeniu nauczysz sieć neuronową przewidywać, czy posiadacz karty kredytowej nie spłaci swojego zobowiązania. Cechy i etykiety, których użyjesz do trenowania sieci, są dostępne w powłoce Pythona jako borrower_features i default. Wagi i obciążenia zostały zdefiniowane w poprzednim ćwiczeniu.

Zwróć uwagę, że warstwa predictions jest zdefiniowana jako \(\sigma(layer1*w2+b2)\), gdzie \(\sigma\) to funkcja aktywacji sigmoid, layer1 to tensor węzłów pierwszej ukrytej warstwy gęstej, w2 to tensor wag, a b2 to tensor obciążeń.

Trenowalne zmienne to w1, b1, w2 i b2. Ponadto zostały już zaimportowane następujące operacje: keras.activations.relu() oraz keras.layers.Dropout().

To ćwiczenie jest częścią kursu

Wprowadzenie do TensorFlow w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Zastosuj funkcję aktywacji ReLU (jednostka liniowa z obcięciem) do pierwszej warstwy.
  • Zastosuj dropout na poziomie 25% do warstwy layer1.
  • Przekaż wartości docelowe targets oraz przewidywane wartości predictions do funkcji straty entropii krzyżowej.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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(____, ____)
Edytuj i uruchom kod