Aan de slagGa gratis aan de slag

De lineaire algebra van dense lagen

Er zijn twee manieren om een dense laag te definiëren in tensorflow. De eerste gebruikt low-level, lineair-algebraïsche operaties. De tweede maakt gebruik van high-level keras-operaties. In deze oefening gebruiken we de eerste methode om het netwerk hieronder in de afbeelding te bouwen.

Deze afbeelding toont een neuraal netwerk met 5 invoerknooppunten en 3 uitvoerknooppunten.

De inputlaag bevat 3 features — opleidingsniveau, burgerlijke staat en leeftijd — die beschikbaar zijn als borrower_features. De verborgen laag bevat 2 knooppunten en de outputlaag bevat één knooppunt.

Voor elke laag neem je de vorige laag als input, initialiseer je een set gewichten, bereken je het product van inputs en gewichten en pas je vervolgens een activatiefunctie toe. Let op: Variable(), ones(), matmul() en keras() zijn geïmporteerd uit tensorflow.

Deze oefening maakt deel uit van de cursus

Introductie tot TensorFlow in Python

Cursus bekijken

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Initialize bias1
bias1 = Variable(1.0)

# Initialize weights1 as 3x2 variable of ones
weights1 = ____(ones((____, ____)))

# Perform matrix multiplication of borrower_features and weights1
product1 = ____

# Apply sigmoid activation function to product1 + bias1
dense1 = keras.activations.____(____ + ____)

# Print shape of dense1
print("\n dense1's output shape: {}".format(dense1.shape))
Code bewerken en uitvoeren