Intelligence artificielle
Pr. A. Mirrane
mirraneachraf@[Link]
Janvier 2025
Intelligence artificielle Janvier 2025 1 / 25
Aperçu général
1 Introduction
2 Apprentissage automatique
C’est quoi l’apprentissage automatique ?
Types d’apprentissage automatique
Exemples d’intelligences artificielles ?
3 Apprentissage supervisé
Définition
Algorithme kNN
Applications
4 Apprentissage non supervisé
Définition
Algorithme k-means clustering
5 Matrice de confusion
Intelligence artificielle Janvier 2025 2 / 25
Introduction
Definition
L’intelligence artificielle (IA) est un processus d’imitation de l’intelligence humaine qui
repose sur la création et l’application d’algorithmes exécutés dans un environnement
informatique dynamique. Son but est de permettre à des ordinateurs de penser et
d’agir comme des êtres humains.
Pour y parvenir, trois composants sont nécessaires :
Des systèmes informatiques
Des données avec des systèmes de gestion
Des algorithmes d’IA avancés (code)
Pour se rapprocher le plus possible du comportement humain, l’intelligence artificielle
a besoin d’une quantité de données et d’une capacité de traitement élevées.
Introduction Intelligence artificielle Janvier 2025 3 / 25
Apprentissage automatique
Definition
Le Machine Learning ou apprentissage automatique est une sous-catégorie de
l’intelligence artificielle.
Elle consiste à laisser des algorithmes découvrir des » patterns « , à savoir des motifs
récurrents, dans les ensembles de données. Ces données peuvent être des chiffres,
des mots, des images, des statistiques. . .
Tout ce qui peut être stocké numériquement peut servir de données pour le Machine
Learning. En décelant les patterns dans ces données, les algorithmes apprennent et
améliorent leurs performances dans l’exécution d’une tâche spécifique.
Pour résumer, les algorithmes de Machine Learning apprennent de manière
autonome à effectuer une tâche ou à réaliser des prédictions à partir de données et
améliorent leurs performances au fil du temps. Une fois entraîné, l’algorithme pourra
retrouver les patterns dans de nouvelles données.
Apprentissage automatique Intelligence artificielle Janvier 2025 4 / 25
Comment fonctionne le Machine Learning ?
Le développement d’un modèle de Machine Learning repose sur quatre étapes
principales :
Sélectionner et préparer un ensemble de données d’entraînement.
Sélectionner un algorithme à exécuter
L’entraînement de l’algorithme
L’utilisation et l’amélioration du modèle
Apprentissage automatique Intelligence artificielle Janvier 2025 5 / 25
Types d’apprentissage automatique ?
On distingue trois techniques de Machine Learning : l’apprentissage supervisé,
l’apprentissage non-supervisé, et l’apprentissage par renforcement.
Dans le cas de l’apprentissage supervisé, le plus courant, les données sont
étiquetées afin d’indiquer à la machine quelles patterns elle doit rechercher.
Le système s’entraîne sur un ensemble de données étiquetées, avec les
informations qu’il est censé déterminer. Les données peuvent même être déjà
classifiées de la manière dont le système est supposé le faire.
dans le cas de l’apprentissage non supervisé, les données n’ont pas
d’étiquettes. La machine se contente d’explorer les données à la recherche
d’éventuelles patterns.
Enfin, l’apprentissage par renforcement consiste à laisser un algorithme
apprendre de ses erreurs pour atteindre un objectif. L’algorithme essayera de
nombreuses approches différentes pour tenter d’atteindre son but.
Apprentissage automatique Intelligence artificielle Janvier 2025 6 / 25
Exemples d’intelligences artificielles ?
Exemple
Ces dernières années, on entend parler de nombreuses avancées dans le domaine de
l’intelligence artificielle.
Le Machine Learning se cache derrière un grand nombre de services modernes très
populaires. Par exemple :
les systèmes de recommandation de Netflix, YouTube et Spotify.
Le moteur de recherche web de Google.
Le chat automatique de OpenAI, chatGPT.
Apprentissage automatique Intelligence artificielle Janvier 2025 7 / 25
Apprentissage supervisé
Definition
L’apprentissage supervisé est une méthode de machine learning s’appuyant sur des
données ou exemples labellisés (étiquetés ou annotés) pour entraîner des modèles
d’intelligence artificielle (IA) prédictifs.
Par exemple des photos assorties de la mention de ce qu’elles représentent.
Exemple
Entrainer un modèle IA pour détecter ci une photo contient un chat ou bien un chien.
L’entrainement ce fait en donnant a l’algorithme plusieurs photo étiquetés soit par
"chat", soit par "chien".
Remarque
Il existe de nombreuses applications de l’apprentissage supervisé :
le traitement automatique du langage
la reconnaissance vocale
la vision par ordinateur ...
Apprentissage supervisé Intelligence artificielle Janvier 2025 8 / 25
Algorithme de classification
Definition
L’algorithme de classification fait partie des méthodes d’apprentissage supervisé. Le
but est de attribué a chaque donné une classe.
Apprentissage supervisé Intelligence artificielle Janvier 2025 9 / 25
Algorithme kNN
Definition (kNN)
L’algorithme des K plus proches voisins ou K-nearest neighbors (kNN) est un
algorithme de Machine Learning qui appartient à la classe des algorithmes
d’apprentissage supervisé. Il est simple et facile à mettre en œuvre et peut être utilisé
pour résoudre les problèmes de classification et de régression.
L’algorithme kNN, pour chaque nouvelle donnée, calcule les k plus proches voisins en
utilisant une fonction des distance. Puis il classe cette donnée suivant la classe la plus
fréquent.
Apprentissage supervisé Intelligence artificielle Janvier 2025 10 / 25
fonctions des distance
Afin de déterminer quels points de données sont les plus proches d’un point de
requête donné, il vous faudra calculer la distance entre le point de requête et les
autres points de données. Il y a plusieurs choix, mais les plus utiliser sont : (∀x, y ∈ IRn )
qP
Distance euclidienne : d(x, y ) =
n 2
i=1 (xi − yi )
Pn
Distance de Manhattan : d(x, y ) = i=1 |xi − yi |
Pn 1
Distance de Minkowski : d(x, y ) = i=1 (|xi − yi |p ) p
Apprentissage supervisé Intelligence artificielle Janvier 2025 11 / 25
Les étapes de l’algorithme kNN
Exemple
Apprentissage supervisé Intelligence artificielle Janvier 2025 12 / 25
Les étapes de l’algorithme kNN
Definition
Pour classifier un nouveau point :
Sélectionnez le nombre K de voisins.
Choisir une fonction de distance.
Prenez les K voisins les plus proches du point selon la distance calculée.
Parmi ces K voisins, comptez le nombre de points appartenant à chaque catégorie.
Attribuez le nouveau point à la catégorie la plus présente.
Application dans Python
On représente un point x ∈ Rn par une liste python X qui contient n nombre réels. Ces
nombres représentent les coordonnées de x dans Rn .
Pour appliqué l’algorithme kNN on a besoin de :
Une liste de points P.
Une liste classe oú classe[i] est la classe du point P[i].
Un point x qu’on veut classé.
Un nombre entier k
Apprentissage supervisé Intelligence artificielle Janvier 2025 13 / 25
Les étapes de l’algorithme kNN
1 Écrire une fonction distance(x, y) oú x et y sont des points. la fonction retourne la
distance euclidienne entre x et y.
qP
Rappel : d(x, y ) =
n 2
i=1 (xi − yi ) , distance([2,2,2], [1,1,0]) doit donné 2.44.
2 Écrire une fonction indice_distance(P, x) oú P est une liste de points et x un
point. la fonction retourne une liste des distances D, tel que chaque D[i] est
un tuple (i, distance entre P[i] et x).
Exemple : indice_distance([[2,2],[2,0],[0,2]], [0,0]) -> [[0, 2.82], [1, 2.0], [2, 2.0]]
3 Écrire une fonction tri_par_distance(D) oú D est une liste des distances. la
fonction tri la liste D par distance dans un ordre croissant.
Exemple : tri_par_distance([[0, 2.82], [1, 2.0], [2, 2.0]]) -> [[1, 2.0],[2, 2.0],[0, 2.82]]
4 Écrire une fonction plus_frequent(L) oú est une liste simple. la fonction retourne
l’élément le plus fréquent dans L.
Exemple : plus_frequent([[1,2,5,1,6,2,1,2, 2]]) -> 2
5 Écrire une fonction kNN(P, classes, x, k) qui va appliqué l’algorithme kNN sur un
point x, la fonction retourne la classe donné á x.
Apprentissage supervisé Intelligence artificielle Janvier 2025 14 / 25
Les étapes de l’algorithme kNN
1 def euclidean_distance (x , y):
2 distance = 0.0
3 n = len (x)
4 for i in range ( n):
5 distance += (x [i] - y[i ]) **2
6 return distance **0.5
1 def indice_distance ( points , x):
2 nb_pts = len ( points )
3 distances = []
4 for i in range ( nb_pts ):
5 d = euclidean_distance (x , points [ i ])
6 distances . append ([i , d ])
7 return distances
1 def tri_par_distance ( D):
2 nb_pts = len (D)
3 for i in range ( nb_pts ):
4 for j in range ( nb_pts -1) :
5 if D[j ][1] > D[ j +1][1]:
6 D[j ], D[ j +1] = D[ j +1] , D[j]
Apprentissage supervisé Intelligence artificielle Janvier 2025 15 / 25
1 def plus_frequent (L):
2 frequence = {}
3 plus_frequent = L [0]
4 for x in L:
5 if x not in frequence :
6 frequence [x ] = 0
7 frequence [x ] += 1
8 if frequence [x] > frequence [ plus_frequent ]:
9 plus_frequent = x
10 return plus_frequent
1 def knn ( points , classes , x , k) :
2 nb_pts = len ( points )
3 # generer le tableau des distances
4 distances = indice_distance ( points )
5 # trie le tableau des distances
6 tri_par_distance ( distances )
7 # Les classes des k plus proches voisins
8 classes_voisins = []
9 for i in range (k):
10 indice = distances [i ][0]
11 classes_voisins . append ( classes [ indice ])
12 # la classe la plus frequente
13 c = plus_frequent ( classes_voisins )
14 return c
Apprentissage supervisé Intelligence artificielle Janvier 2025 16 / 25
Application
Exemple : base de données iris
Apprentissage supervisé Intelligence artificielle Janvier 2025 17 / 25
Apprentissage non supervisé
Definition
L’apprentissage non supervisé, ou apprentissage automatique non supervisé, utilise
des algorithmes d’apprentissage automatique pour analyser et regrouper des jeux de
données non étiquetés. Ces algorithmes découvrent des modèles cachés ou des
groupements de données sans nécessiter d’intervention humaine.
Par exemple des photos sans mentionner ce qu’elles représentent.
Exemple
La classification exclusive est une forme de groupement qui stipule qu’un point de
données ne peut exister que dans un seul groupe. On parle également de
classification « dure ». L’algorithme de classification K-means ou (K-moyennes) est un
exemple de classification exclusive.
Apprentissage non supervisé Intelligence artificielle Janvier 2025 18 / 25
Algorithme k-means clustering
Definition (K-means)
La classification K-means est un exemple courant de méthode de classification
exclusive où les points de données sont répartis en K groupes, où K représente le
nombre de groupes selon la distance par rapport au centroïde de chaque groupe. Les
points de données les plus proches d’un centroïde donné seront regroupés dans la
même catégorie. Une valeur K plus élevée indiquera des groupements plus petits avec
plus de granularité alors qu’une valeur K plus petite aura des groupements plus
grands et moins de granularité.
La classification K-means ou K-moyennes est communément utilisée dans la
segmentation du marché, la classification de documents, la segmentation d’images et
la compression d’images.
Apprentissage non supervisé Intelligence artificielle Janvier 2025 19 / 25
Exemple
Exemple :
Apprentissage non supervisé Intelligence artificielle Janvier 2025 20 / 25
Les étapes de l’algorithme k-means Clustering
Definition
L’intuition derrière l’algorithme des K-means (k-moyennes) est l’une des plus simples
de tous les algorithmes de Machine Learning non supervisé , pour classifier un point :
Sélectionnez le nombre K de centre.
Sélectionnez k point aléatoire. c’est points sont les centre des k groupe.
Choisir une fonction de distance.
répéter les étapes suivante jusqu’à que les centre ne change pas :
Attribuez tous les points au centre de gravité du cluster le plus proche.
Recalculer les centroïdes des clusters nouvellement formés.
Application dans Python
On représente un point x ∈ Rn par une liste python X qui contient n nombre réels.
Pour appliqué l’algorithme kNN on a besoin de :
Une liste de points P.
Une liste groupe oú groupe[i] est le groupe du point P[i].
Un nombre entier k.
Les groupe serons nommé comme suit : 0, 1, 2, ...
Apprentissage non supervisé Intelligence artificielle Janvier 2025 21 / 25
Les étapes de l’algorithme k-means Clustering
Exemple
Apprentissage non supervisé Intelligence artificielle Janvier 2025 22 / 25
Les étapes de l’algorithme k-means
1 Écrire une fonction distance(x, y) oú x et y sont des points. la fonction retourne la
distance euclidienne entre x et y.
qP
Rappel : d(x, y ) =
n 2
i=1 (xi − yi ) , distance([2,2,2], [1,1,0]) → 2.44.
2 Écrire une fonction elements_aleatoire(L, k) oú L est une liste et k un entier
positif. la fonction retourne une liste qui contient k éléments aléatoire de L.
Exemple : elements_aleatoire([1,2,9,8,2,7,5,1], 4) → [2,9,2,1]
3 Écrire une fonction barycentre(P) oú P est une liste de points. la fonction un point
qui est le barycentre de tout les point de P
Exemple : barycentre([[1,1],[-1,-1],[-1,1],[1,-1]]) → [0, 0]
4 Écrire une fonction point_plus_proche(P, x) oú P est une liste de points et x un
point. la fonction retourne le point dans P le plus proche de x.
5 Écrire une fonction liste_groupe(P, groupe, g) oú P est une liste de points et
groupe est une liste, où, groupe[i] est le groupe donné au point Points[i]. la
fonction retourne une liste qui contient tout les points appartenant au groupe g.
Exemple : liste_groupe([1,2,6,8,7,9,2], [0,0,1,2,0,1,1], 1) → [6,9,2]
6 Écrire une fonction kmeans(Points, k) qui va appliqué l’algorithme kmeans sur
une liste de points Points, la fonction retourne la liste des groupe groupe.
Apprentissage non supervisé Intelligence artificielle Janvier 2025 23 / 25
Matrice de confusion
Definition
Une Confusion Matrix (matrice de confusion) ou tableau de contingence est un outil
permettant de mesurer les performances d’un modèle de Machine Learning en
vérifiant notamment à quelle fréquence ses prédictions sont exactes par rapport à la
réalité dans des problèmes de classification.
Matrice de confusion Intelligence artificielle Janvier 2025 24 / 25
Matrice de confusion
Definition
Les ligne de la matrice représente les valeur de prédiction, et les colonne représente
les valeur actuels.
La valeur de cellule M[i][j] représente combien de fois l’algorithme á fait une
prédiction de classe i pour une donnée qui est réellement de la classe j.
Les cellules M[i][i] sont appelé True Positive (des prédictions correcte.)
Matrice de confusion Intelligence artificielle Janvier 2025 25 / 25