Master Data Science 2 ISAEG
TP
Le réseau de neurones le plus simple avec TensorFlow
Cette page présente le réseau de neurones le plus simple que l'on puisse faire
avec TensorFlow. Cet exemple montre comment créer et comprendre votre
premier réseau de neurones.
Définition du problème
Le but de cet exemple simpliste est d'approximer la fonction affine définie par
cette équation :
Les points bleus représentent un échantillon de notre jeu d'apprentissage, la ligne
rouge est l'approximation faite par le réseau de neurones artificiels :
Travail à Faire :
1. Commençons par importer les bibliothèques nécessaires
numpy pour les tableaux et les matrices
matplotlib pour afficher les graphiques
Keras de la bibliothèque TensorFlow pour le réseau de neurones
2. Ensuite, créons le jeu de données pour l'apprentissage. x_data est composé
de 100000 points, et un bruit normal est ajouté sur l'axe des ordonnées pour
haque point :
3. # Parameters (y = a*x + b)
4. a=0.6
5. b=2
6.
7. # Create noisy data
8. x_data = [Link](-10, 10, num=100000)
9. y_data = a * x_data + b + [Link](size=100000)
Voici un échantillon du jeu de données utilisé pour l'apprentissage :
Dr. Marwa Chabbouh TP Machine Learning Page 1 sur 3
Master Data Science 2 ISAEG
3. Une fois les données construites, nous créons un modèle séquentiel avec
Keras. Nous ajoutons une couche complétement connectée à notre modèle
(Dense) avec :
• Une unité ou un neurone (units = 1)
• La fonction de transfert est ninéaire (activation = 'linear')
• Le réseau n'a qu'une entrée (input_shape=[1])
Le modèle est compilé avec les paramètres d'optimisation suivants :
• L'algorithme d'optimisation est Adam (optimizer="adam")
• Loss est la perte ou l'erreur calculée sur la base des moindres carrés
(loss='mse')
4. Une fois le modèle créé, entraînons notre réseau 5 fois sur notre jeu de
données
3. Train on 100000 samples
4. Epoch 1/5
5. 100000/100000 [==============================] - 4s 40us/sample
- loss: 34.6061
6. Epoch 2/5
Dr. Marwa Chabbouh TP Machine Learning Page 2 sur 3
Master Data Science 2 ISAEG
7. 100000/100000 [==============================] - 4s 35us/sample
- loss: 1.0512
8. Epoch 3/5
9. 100000/100000 [==============================] - 3s 26us/sample
- loss: 1.0080
10. Epoch 4/5
11. 100000/100000 [==============================] - 3s
29us/sample - loss: 1.0080
12. Epoch 5/5
13. 100000/100000 [==============================] - 3s
28us/sample - loss: 1.0082
5. Lancer des prédictions
6. Afficher les résultats
Dr. Marwa Chabbouh TP Machine Learning Page 3 sur 3