Vous êtes sur la page 1sur 18

Université Cadi Ayyad

Ecole Nationale des Sciences Appliquées de Safi


Département Génie Informatique, Réseaux et
Filière de génie informatique et intelligence artificielle
3ème année
Année universitaire : 2021-2022

Rapport Projet Machine Learning

Manipulation De Mmu
En Python

Réalisé par :
- Ben elkhiraoui Mohammed
- Namata Ben Mohammed
- Tamir Chaimaa

Encadré par :

- Mr Madiafi Mohammed
1
Remerciements
C’est avec plaisir que nous réservons ces quelques lignes en
signe de gratitude et de profonde reconnaissance à tous ceux qui, de
près ou de loin, ont contribué à l’aboutissement de ce travail.
Tout d’abord nous remercions Dieu, le tout-puissant qui nous a
permis d’accomplir à la fin de ce projet.
Nous tenons aussi à remercier tous ceux et celles qui ont apporté
leur contribution quel qu’elle soit à l’accomplissement de cette étude.
Un grand merci à notre encadrant Mr. le Professeur Madiafi
Mohammed qui nous a enseigné et guidé pour réaliser ce projet.
Une grande mention aux responsables personnels de l’école
Nationale des Sciences Appliquées de SAFI, qui nous fournissent une
formation de qualité dans un cadre d’étude agréable.

2
Sommaire
Table des matières
Remerciements ..................................................................................................................... 2
Sommaire .............................................................................................................................. 3
Liste des figures ................................................................................................................... 4
Introduction ......................................................................................................................... 5
Chapitre I : Analyse du projet ............................................................................................ 6
1.1 Choix du sujet ............................................................................................................. 6
1.1.1 L´Intelligence Artificielle .................................................................................. 6
1.1.2 Machine Learning .............................................................................................. 7
1.1.3 Machine Learning Supervise ............................................................................. 7
1.1.4 Machine Learning Non Supervise...................................................................... 8
1.1.5 Machine Learning Par Renforcement ................................................................ 9
1.2 Cahier de charges ..................................................................................................... 10
Chapitre II : Réalisation du projet................................................................................... 11
2.1 Technologies Logiciels .............................................................................................. 11
2.2 Réalisation ................................................................................................................. 12
2.2.1 Base de données des Yeu ................................................................................ 12
Conclusion et Perspectives ................................................................................................ 17
Webographie ...................................................................................................................... 18

3
Liste des figures
FIGURE 1 : INTELLIGENCE ARTIFICIELLE.............................................................................................................. 7
FIGURE 2 : APPRENTISSAGE SUPERVISÉ ............................................................................................................. 8
FIGURE 3 : APPRENTISSAGE NON SUPERVISÉ ..................................................................................................... 9
FIGURE 4 : APPRENTISSAGE PAR RENFORCEMENT ........................................................................................... 10
FIGURE 5 : ORGANISATION DU BASE DE DONNEES .......................................................................................... 12
FIGURE 6 : CLASSIFICATION SKLEARN .............................................................................................................. 13
FIGURE 7 : CLASSIFICATION TENSORFLOW ...................................................................................................... 14
FIGURE 8 : COMPILATION ET ENTRAINEMENT DU MODEL ............................................................................... 15
FIGURE 9 : PRECISION DE POURCENTAGE ....................................................................................................... 16

4
Introduction
Ce travail est réalisé par Ben elkhiraoui Mohamed, Namata
Ben Mohammed et Tamir Chaimaa dans le cadre de projet de
Machine Learning, en tant qu’étudiants ingénieurs en Informatique
et Intelligence Artificielle à L’Ecole National Des Sciences
Appliquées De Safi.
Dans un monde d’une révolution perpétuelle du domaine
scientifique et même technologique, on trouve que la présence de «
l’Intelligence Artificielle » est obligatoire, devient de plus en plus
fondamentale, cette dernière nous permet de recevoir et de transmettre
les informations avec une rapidité et efficacité, cette révolution a
donné une motivation pour plus améliorer l’usage de « l’informatique
».
Divisé en deux grandes parties, ce rapport présente dans un
premier temps le contexte du projet ainsi que ses enjeux, puis s’étend
ensuite sur les différentes tâches réalisées sur les deux bases de
données Load_digits set manipulations des images des yeux.

5
Chapitre I : Analyse du
projet
1.1 Choix du sujet
1.1.1 L´Intelligence Artificielle
L'intelligence artificielle (IA, ou AI en anglais pour Artificiel
Intelligence) consiste à mettre en œuvre un certain nombre de
techniques visant à permettre aux machines d'imiter une forme
d'intelligence réelle. L'IA se retrouve implémentée dans un nombre
grandissant de domaines d'application..

La notion voit le jour dans les années 1950 grâce au


mathématicien Alan Turing. Dans son livre Computing Machinery
and Intelligence, ce dernier soulève la question d'apporter aux
machines une forme d'intelligence. Il décrit alors un test aujourd'hui
connu sous le nom « Test de Turing » dans lequel un sujet interagit à
l'aveugle avec un autre humain, puis avec une machine programmée
pour formuler des réponses sensées. Si le sujet n'est pas capable de
faire la différence, alors la machine a réussi le test et, selon l'auteur,
peut véritablement être considérée comme « intelligente ».

De Google à Microsoft en passant par Apple, IBM ou Facebook,


toutes les grandes entreprises dans le monde de l'informatique
planchent aujourd'hui sur les problématiques de l'intelligence
artificielle en tentant de l'appliquer à quelques domaines précis.
Chacun a ainsi mis en place des réseaux de neurones artificiels

6
constitués de serveurs et permettant de traiter de lourds calculs au
sein de gigantesques bases de données [1].

Figure 1 : Intelligence Artificielle

1.1.2 Machine Learning


L’ objectif de base du Machine Learning est "d’apprendre à
apprendre" aux ordinateurs – et par la suite, à agir et réagir – comme
le font les humains, en améliorant leur mode d'apprentissage et leurs
connaissances de façon autonome sur la durée. L'objectif ultime serait
que les ordinateurs agissent et réagissent sans être explicitement
programmés pour ces actions et réactions. Le Machine Learning
utilise des programmes de développement qui s'ajustent chaque fois
qu'ils sont exposés à différents types de données en entrée.
Le Machine Learning n'est pas une nouvelle technologie. Le
premier réseau neuronal artificiel, appelé « Perceptron », a été inventé
en 1958 par un psychologue américain « Frank Rosenblatt». Le
machine Learning peut être classé en trois grandes catégories :

1.1.3 Machine Learning Supervise


Machine Learning supervisé est une technologie élémentaire
mais stricte. Les opérateurs présentent à l'ordinateur des exemples
d'entrées et les sorties souhaitées, et l'ordinateur recherche des

7
solutions pour obtenir ces sorties en fonction de ces entrées. Le but est
que l'ordinateur apprenne la règle générale qui mappe les entrées et les
sorties.
Le Machine Learning supervisé peut se subdiviser en
deux types :
• Classification : la variable de sortie est une catégorie.
• Régression : la variable de sortie est une valeur spécifique.

Figure 2 : Apprentissage supervisé

1.1.4 Machine Learning Non Supervise


Dans le cadre du machine Learning non supervisé,
l'algorithme détermine lui-même la structure de l'entrée (aucune
étiquette n'est appliquée à l'algorithme). Cette approche peut être un
but en soi (qui permet de découvrir des structures enfouies dans les
données) ou un moyen d'atteindre un certain but. Cette approche est
également appelée « apprentissage des caractéristiques » (Feature
Learning).
Il existe deux types de machine Learning non supervisé :

• Clustering : l'objectif consiste à trouver des regroupements.


• Association: l'objectif consiste à identifier les règles .

8
Figure 3 : Apprentissage non supervisé

1.1.5 Machine Learning Par Renforcement


Dans le Machine Learning par renforcement, un programme
informatique interagit avec un environnement dynamique dans lequel
il doit atteindre un certain but, par exemple conduire un véhicule ou
affronter un adversaire dans un jeu. Le programme-apprenti reçoit du
feedback sous forme de « récompenses » et de « punitions » pendant
qu'il navigue dans l'espace du problème et qu'il apprend à identifier le
comportement le plus efficace dans le contexte considéré.
Il existe deux types de machine Learning par renforcement :

• Monte Carlo : le programme reçoit ses récompenses à la


fin.
• Machine Learning par différence temporelle : représente
les récompenses évaluées.

9
Figure 4 : Apprentissage par renforcement

1.2 Cahier de charges


-Télécharger la base de données des d'images des yeux suivante:
https://www.kaggle.com/datasets/naureenmohammad/mmu-
irisdataset
-Écrire un programme permettant de lire les différentes images de la
base et les stocker dans un ou plusieurs tableaux.
-Écrire deux programmes permettant de faire la classification des yeux
dans cette base en utilisant les deux bibliothèques scikit-learn et
tensorflow...
-Pour chaque classe ou méthode utilisée, donner une brève description
et un commentaire du résultat de son exécution.
Conclusion :

Après avoir donner une idée générale sur l’intelligence artificielle


Passant maintenant a la réalisation du projet.

10
Chapitre II : Réalisation du
projet
On est arrivé maintenant a la réalisation du projet , et
pour ce faire on a utilise plusieurs technologies qu´on
va citer ci-après.

2.1 Technologies Logiciels


Python:est un langage de programmation
interprété, multi-paradigme et
multiplateformes. Il favorise la
programmation impérative structurée,
fonctionnelle et orientée objet

JupyterLab :est le dernier environnement


de développement interactif basé sur le
Web pour les blocs-notes, le code et les
données. Son interface flexible permet
extensions à étendre et enrichir les
fonctionnalités.

11
2.2 Réalisation
2.2.1 Base de données des Yeux

Figure 5 : Organisation du Base de données

Dans un premier temps nous avons décidé d’organiser la base de


données pour qu’elle soit adaptée au travail qui va suivre. La base de
données manque le dossier nommée 4 donc nous avons dû ignorer i=4
dans l’itération de la boucle. Pour cela nous utiliser :
• glob : il permet de naviguer dans les répertoires de donner
• cv2 qui nous a permis de lire les images et les transformer en
array
Au final nous avons créé trois tableaux différents ou chaque
tableau sera utilisé dans la suite pour les classifications.
Ainsi pour utiliser ce programme dans une autre machine il faut
modifier l’argument img_path convenablement.

Passons à la classification :

12
Sklearn

Figure 6 : Classification Sklearn

Sklearn est une bibliothèque qui nous propose plusieurs modules


pour la classification des données. Cependant nous nous sommes
contenté du SVC qui d’après nos essaies est l’un des plus adaptée dans
la classification des données image. Ainsi avec train_test_split nous
avons transformé le dataset afin qu’il soit traité par SVC. Le tableau
img_list était de base a 4 dimension alors que SVC se qui nécessite
d’utiliser reshape pour le réduire à deux dimensions.

13
 Tensorflow

Figure 7 : Classification Tensorflow

Pour la classification avec tensorflow nous avons utilisé le


tableau dataset à partir duquel nous avons à travers le module
numpy crée des array de traitement adaptées. Les données de
traitement seront utilisées sous forme de tenseur.
D’abord nous transformons les images en array composé de réels
entre 0 et 1 car ce sont des chiffres plus optimisé pour le traitement.
Cela se fait en divisant X _train par 320
(Les images sont de formes 240*320*3).
Enfin nous avons créé un modèle séquentiel en important un
certain nombre de module et en créant plusieurs couches de
traitement avec ces modules.
 D’abord Conv2D nous permet de traiter les données avec le
principe de convolution ce qui permet d’optimiser le tenseur de

14
 Dense lui permet d’implémenter la fonction d’activation sur
l’entrée et renvoie la sortie.
 MaxPool2D quand à lui sous échantillonne le tenseur le long de
ses dimensions.
 Quant à la couche flatten elle remodèle le tenseur pour avoir
une forme égale au bon format pour la couche suivante.
Le tenseur est un conteneur de données qui sont dans notre cas
de types float32 .

Figure 8 : Compilation et entrainement du model

Enfin nous pouvons compiler notre model et faire


l’entrainement.
Pour finir, le model implémenté peut être modifié afin
d’augmenter la précisions et cela en augmentant les couches de
traitement ou au niveau de la compilation en augmentant les epochs.

15
Figure 9 : Précision de pourcentage

Ce modèle fournis une précision qui atteint les 90%. A remarquer


que le choix du modèle est très important car en traitant cette base de
données avec d’autres modèle, la précisions se retrouve aux environs
de 50%.

16
Conclusion et Perspectives
Ce projet nous a permis de mettre en application et de nous
familiariser avec certaines notions d’intelligence artificielle étudiées
lors de ce semestre. Le machine Learning est un domaine qui nécessite
beaucoup d’intuition, et cette intuition s’acquiert grâce à l’expérience.
Ce projet nous permettra donc d’être plus performants sur d’éventuels
travaux futurs.
Il nous a également permis de consolider nos connaissances en
informatique, Nous avons dû concevoir un système alliant chacun de
ces domaines pour fonctionner en harmonie, et mettre en commun nos
compétences pour optimiser notre efficacité.

17
Webographie
: https:// /definitions/informatique-intelligence-artificielle-555/

: https://datascientest.com/machine-learning-tout-savoir

:https://www.journaldunet.com/solutions/dsi/1493139-intelligence-artificielle/

: https://scikit-learn.org/stable/datasets.html

: https://www.tensorflow.org/?hl=fr

18

Vous aimerez peut-être aussi