Une machine d’irrigation
Vous allez automatiser l’arrosage des parcelles d’une ferme en créant une machine d’irrigation intelligente. Les problèmes de classification multi‑étiquettes diffèrent des problèmes multi‑classes en ce que chaque observation peut recevoir zéro, une ou plusieurs étiquettes. Les classes/étiquettes ne s’excluent donc pas mutuellement : selon les entrées, vous pouvez arroser toutes les parcelles, aucune, ou n’importe quelle combinaison.
Pour tenir compte de ce comportement, on utilise une couche de sortie avec autant de neurones que de classes, mais cette fois, contrairement aux problèmes multi‑classes, chaque neurone de sortie a une fonction d’activation sigmoid. Cela permet à chaque neurone de sortie de produire indépendamment un nombre entre 0 et 1.
Le modèle Sequential() et les couches Dense() sont prêts à l’emploi. Il est temps de construire une machine d’irrigation intelligente !
Cet exercice fait partie du cours
Introduction au Deep Learning avec Keras
Instructions
- Instanciez un modèle
Sequential(). - Ajoutez une couche cachée de 64 neurones avec autant de neurones d’entrée qu’il y a de capteurs et une activation
relu. - Ajoutez une couche de sortie avec autant de neurones qu’il y a de parcelles et une activation
sigmoid. - Compilez votre modèle avec l’optimiseur
adamet la fonction de pertebinary_crossentropy.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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()