Een irrigatiemachine
Je gaat het besproeien van percelen automatiseren door een slimme irrigatiemachine te bouwen. Multi-label-classificatie verschilt van multi-class-problemen doordat elke observatie nul of meer klassen kan krijgen. Klassen/labels sluiten elkaar dus niet uit: je kunt alle, geen of elke combinatie van percelen besproeien op basis van de input.
Om dit gedrag te ondersteunen, gebruiken we een outputlaag met evenveel neuronen als klassen, maar dit keer, anders dan bij multi-class-problemen, heeft elk outputneuron een sigmoid-activatiefunctie. Hierdoor kan elk neuron in de outputlaag onafhankelijk een getal tussen 0 en 1 geven.
Het Sequential()-model en de Dense()-lagen staan klaar voor gebruik. Tijd om een slimme irrigatiemachine te bouwen!
Deze oefening maakt deel uit van de cursus
Introductie tot Deep Learning met Keras
Oefeninstructies
- Instantieer een
Sequential()-model. - Voeg een verborgen laag toe van 64 neuronen met evenveel invoerneuronen als er sensoren zijn en
relu-activatie. - Voeg een outputlaag toe met evenveel neuronen als percelen en
sigmoid-activatie. - Compileer je model met de
adam-optimizer enbinary_crossentropy-loss.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Instantiate a Sequential model
model = ____
# Add a hidden layer of 64 neurons and a 20 neuron's input
____
# Add an output layer of 3 neurons with sigmoid activation
____
# Compile your model with binary crossentropy loss
model.compile(optimizer='adam',
loss = ____,
metrics=['accuracy'])
model.summary()