Eine Bewässerungsmaschine
Du automatisierst die Bewässerung von Ackerparzellen mit einer intelligenten Bewässerungsmaschine. Multi-Label-Klassifikation unterscheidet sich von Multi-Class-Problemen dadurch, dass jede Beobachtung mit null oder mehr Klassen gekennzeichnet werden kann. Klassen/Labels schließen sich also nicht gegenseitig aus: Du könntest alle, keine oder jede beliebige Kombination von Parzellen basierend auf den Eingaben bewässern.
Um dieses Verhalten abzubilden, verwenden wir eine Ausgabeschicht mit so vielen Neuronen wie Klassen. Anders als bei Multi-Class-Problemen hat hier jedoch jedes Ausgabeneuron eine sigmoid-Aktivierungsfunktion. So kann jedes Neuron in der Ausgabeschicht unabhängig eine Zahl zwischen 0 und 1 ausgeben.
Das Sequential()-Modell und die Dense()-Layer sind bereit zur Verwendung. Zeit, eine intelligente Bewässerungsmaschine zu bauen!
Diese Übung ist Teil des Kurses
<Kurs>Einstieg ins Deep Learning mit Keras</Kurs>Übungsanweisungen
- Instanziiere ein
Sequential()-Modell. - Füge eine versteckte Schicht mit 64 Neuronen hinzu, mit so vielen Eingabeneuronen wie es Sensoren gibt, und
relu-Aktivierung. - Füge eine Ausgabeschicht mit so vielen Neuronen wie es Parzellen gibt und
sigmoid-Aktivierung hinzu. - Kompiliere dein Modell mit dem Optimierer
adamund dem Lossbinary_crossentropy.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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()