Académique Documents
Professionnel Documents
Culture Documents
INTRODUCTION
Une machine est dite intelligente lorsqu’elle est capable de reproduire le comportement
humain dans un domaine spécifié ou non.
Une machine est dite intelligente lorsqu’elle est capable de modéliser le fonctionnement d’un
être humain.
1. Définitions
1. D’après WINSTON, L’intelligence artificielle est une étude des concepts qui
permettent de rendre les machines intelligentes.
2. La science s’intéressant aux machines qui réalisent ce qui est, fait par l’homme,
nécessitant de l’intelligence » (Minsky).
Le Système Expert
Reconnaissance de formes
Apprentissage automatique
Créer des programmes qui génèrent leurs propres connaissances en se modifiant à partir de
leurs succès et leurs erreurs
Anticiper les intentions de résiliation d’un service en fonction des activités d’un
souscripteur. (Télécom)
Découvrir les préférences d’un client que l’on souhaite retenir pour lui suggérer des
produits et des services adaptés à ses goûts et ses besoins.
Diagnostic médical
Pilotage automatique
1.1. Définition
est la fonction d’étiquetage. Les , k = 1,…, c sont les étiquettes des classes avec
c = card( )le nombre total de classes (une classe n’est associée qu’à une seule
étiquette). La reconnaissance consiste alors à affecter à une nouvelle observation non
étiquetée, une étiquette de classe par comparaison avec
Un classifieur est une fonction mathématique ou un algorithme qui réalise les tâches
d’affectation.
Ce classifieur peut être construit en utilisant les réseaux de neurones, l’arbre de
décision, le SVM ou les réseaux de bayes.
Supposons que les densités de probabilité de la taille t (en mètres) pour les classes
femme et homme soient des gaussiennes: à titre d’exemple, soit
et ̅̅̅ ̅̅̅
Avec respectivement l’écart type pour les hommes et pour les femmes, et
̅̅̅ ̅̅̅ respectivement la taille moyenne pour les hommes et pour les femmes.
( ) ( ( ) )
√
( ) ( ( ) )
√
( )
( )
∑ ( )
∑ ( )
( )
( )
( ) ( )
et
7
( )
( )
( ) ( )
2.
2
Hommes
1.
1
Femmes
0.
0
1. 1. 1. 2 2.
1. 1.9
Taille (en m)
Apprentissage Supervisé
Cet apprentissage est dit supervisé parce que les hypothèses de l’expert
du domaine sont nécessaires, elles servent d’ailleurs de base pour l’apprentissage.
Ces hypothèses se traduisent par la définition de la classe d’appartenance de chaque
individu pour la classification, et pour la régression, en la définition de la valeur de
sortie pour chaque entrée sur les données expérimentales. Une méthode
d’apprentissage non supervisé peut aussi être considérée comme un expert du fait
qu’il permet de faire l’étiquetage des données.
8
I.4.1. Définition
I.4.2. Problème
Lorsque :
alors il s’agit d’une régression parce que la valeur de sortie est
variante dans l’ensemble de réels.
* + alors il s’agit de la classification parce que la valeur de sortie
correspond à une classe d’appartenance, c’est-à-dire que chaque
codifie une classe d’appartenance.
Dans le cadre de ce travail, nous nous intéresserons plus à la classification.
En classification, Il est question de mettre en place un classeur ou
classificateur qui permettra de classer tous les individus du domaine.
Etant donné qu’on part des exemples pour enfin classer les individus, nous sommes
en train de faire de l’induction donc une généralisation. Il faudrait qu’on prenne en
compte le fait que l’on commet des erreurs dans ce processus. C’est pourquoi, il faut
minimiser le risque de fausses affectations au niveau du classeur.
9
Vraie classe
Superviseur
Entrée
Mesure d'erreur
Classifieur
Classe estimée
Algorithme
d'apprentissage
I.4.1.1. Principes
Une distance est une application qui associe un réel positif à un couple de point.
C’est-à-dire une application définie comme suit :
( ) ( )
( ) ( )
( ) ( ) ( )( )
( ) ( ) ( ) ( ) (inégalité triangulaire)
Il est à signaler que pour une mesure de dissimilarité, seules les conditions (1) et (2)
sont obligatoires.
a) Attributs quantitaifs
Distance de Minkowski
( ) √∑
( ) ∑
( ) √∑ ( )
Pour être très juste sur ces mesures de dissimilarités, il faut parfois
normaliser les données afin d’éliminer les effets des unités de mesure. En lieu et
place d’utiliser les attributs de départ, on utilisera les attributs normalisés en
appliquant la formule ci-dessous :
( )
̂
( ) ( )
I.4.3.1.3. Algorithme
Algorithme K-NN
Entrée : , ,
Début
Pour tout ( ) faire
Calculer ( )
Fin pour
Y=EnsClass( )
Pour j=1 à |Y| faire
CmptrCl[ j ]=0
Fin pour
Pour l=1 à k faire
Vppv[ l ] * + ( )
( , - )
CmptrCl[indice(Y, , - )] CmptrCl[ indice(Y, , - )]+1
Fin pour
12
Classe Y[ * + , --
Fin
Remarque :
M est un nombre suffisamment grand (M>>>);
( ) est une mesure de dissimilarité
Ce classifieur n’apprend pas. C’est-à-dire pas de phase d’apprentissage, c’est
pour cela qu’il est qualifié de naïf ;
Il nécessite une grande mémoire de stockage quand le nombre d’exemples
devient grand.
I.4.3.2.1. Principe
I.4.3.2.2. Algorithmes
Fin de
Processus oui Simulation Ajout d'une forme
l'apprentissage
d'apprentissage d'apprentissage
oui
Entrée d'une forme
à reconnaitre
Entrée d'une forme
non
d'apprentissage
2.0 Introduction.
n
E= (y
i 1
i f ( xi )) 2 et chercher à rendre cette somme la plus petite possible.
possible.
La figure 3.1 reprend l’hypothèse proposée par de nombreux biologistes pour recréer
le comportement intelligent du cerveau.
Comportement global du
cerveau
Système et voies de
communication
Circuits
Neurone
2.2.1. Définitions
a) Définition 1
b) Définition 2
X est un ensemble non vide et au plus dénombrable dont les éléments sont
appelés « neurone, ou processeur, ou unité de calcul » du réseau.
A est une famille d’éléments du produit cartésien XxX x, y / x, y X les
éléments de A sont appelés : synapse et sur chaque synapse et associé un poids
w
La matrice W wij i , j u est appelée « la matrice de pondération, ou la
C) Définition 3
19
x1 x2 xn
Figure 3. 5. Un neurone réalise une fonction non linéaire bornée y = f (x1, ... xn ; w1,...wp)
où les {xj} sont les entrées et les {wj} sont des paramètres
∑
20
( ) ( ∑ )
Où :
25
( )
Elle regroupe les neurones dont les fonctions d’activation sont généralement de type
linéaire. Les couches intermédiaires sont appelées couches cachées. Elles constituent
le cœur du réseau. Les fonctions d’activation utilisées sont de type sigmoïde.
Les réseaux de neurones disposés suivant cette architecture sont aussi appelés
"perceptrons multicouche" (ou MLP pour Multi-Layer Perceptrons).
27
( )
l = 1,2
( ) ( ) ( )
( ) ( ( ))
( )
28
Les études menées dans (Hornik et al., 1989; Cybenko, 1989) montrent qu’il peut être
entrainé de manière à approximer n’importe quelle fonction sous réserve de mettre
suffisamment de neurones dans la couche cachée et d’utiliser des sigmoïdes comme
fonctions d’activation.
Nous utiliserons le réseau de neurones non bouclé, à une seule couche cachée. Ce
réseau se structure en trois couches successives. La couche d’entrée permet de saisir
le vecteur de caractéristiques x, et la couche de sortie fournit la prédiction. Les
entrées sont redistribuées sur des unités cachées intermédiaires à la sortie. Ces
unités cachées forment la seconde couche. Un réseau de neurones est paramétré par
Chaque unité effectue une somme pondérée de ses entrées, ajoute une
constante et évalue le résultat selon une fonction h . Les unités de sortie ont la
même forme, mais l’évaluation se fait selon une fonction 0 qui peut être différente
30
a) Problème
Etant donnée un ensemble E de N paires *( )+ , ≤ i ≤ N, Xi Rn, Yi
p
. construire un réseaux Fw capable de mettre ces formes en correspondance,
c’est-à dire tel que : Fw (Xi) = Yi.
31
b) Définition
( ( )) ( ( )) ∑ ( ( )) ∑( ( ) )
( ( )) ∑ ( ( )) ∑( ( ) )
Etape 0 : t=0
( ) ( ) ( ( ))
Etape 3 : t = t+1
( ⃗⃗ ) ∑( ∑ )
On voit donc que l’erreur E est un parabolique dans l’espace des poids.
Donc, E possède un seul minimum et il s’agit de trouver la valeur des poids
correspondant à ce minimum. Pour cela, la technique classique consiste à utiliser un
algorithme de descente de gradient. Pour cela, on part d’un point (dans l’espace des
poids, espace de dimension P+1) ⃗⃗ : ensuite, itérativement, on corrige ce point pour
se rapprocher du minimum de E. Pour cela, on corrige chaque poids d’une quantité
proportionnelle au gradient de E en ce point, cela dans chaque direction, donc par
rapport à chacun des poids. Ce gradient est donc la dérivée (partielle) de E par
rapport à chacun des points. Reste à déterminer le coefficient à appliquer à cette
correction.
⃗⃗ ⃗⃗ ( ⃗⃗ )
∆(𝑤
⃗⃗ )
35
[ ∑( ( )) ]
[∑( ( )) ]
∑ [( ( )) ]
∑ ( ( )) ( ( ))
∑( ( )) [( ∑ )]
∑( ( ))( )
D’où :
∆ ∑( ( ))
ALGORITHME DE HEBB
∑( )
( )
Exemple d’application
37
d E
1 1 1
1 -1 1
-1 1 -1
-1 -1 -1
Solution
( ) ( )
∑( ) ( )
Comme n = 0 donc
( )
( ) ( )
38
( ) ( )
∑( ) ( )
Comme n = 0 donc
( ) et x alors modification des poids
( ) ( )
( ) ( )
∑( ) ( )
Comme n = 0 donc
( ) et x alors pas de modification des poids
( ) ( )
39
∑( ) ( )
Comme n = 0 donc
( ) et x alors pas de modification des poids
( ) ( )
∑( ) ( )
Comme n = 0 donc
( ) et x alors pas de modification des poids
( ) ( )
∑( ) ( )
Comme n = 0 donc
( ) et x alors pas de modification des poids
Nécessite : un seuil
Répéter
(∑ )
fin pour
fin pour
jusque
41
Nécessite : un seuil
Répéter
( )
fin pour
( ( ))
( ) ( ) ( ( )
fin pour
( ) Avec :∆( ) ( )
fin pour
jusque
42
Dans notre cas, nous allons nous limité dans las de réseau de neurones à 3couches.
Un réseau de neurones multicouche est appelé PMC qui signifie, perceptron
multicouche.
( ) ( ( ) ( ))
Avec :
Les paramètres du réseau sont modifiés suivant la règle du gradient comme suit :
( )
( ) ( )
( )
( )
( ) ( )
( )
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
43
( )
( )
( )
( )
En posant
( )
( ) :
( )
( )
( )
( )
( )
( )
( )
( ) ( ) ( )
( ) ( ( ) ( )) (̇( ( ))
( ) ( ) ( )
( ( ))
(̇ ( ))
( )
Dans le cas où i est l’indice d’un neurone caché (1<l< L - 1) on peut vérifier
aisément que les fonctions de sensibilité satisfont la relation récurrente ci –
dessous
̇( )( )
44
̇ ( ( ))
̇ ( ) ̇( ( ))
( ̇( ( )))
e kx 1
On appelle fonction sigmoïde de paramètre k 0, la fonction k ( x)
1 e kx
1 e kx
ex 1
g ( x) x (2)
e 1 1 ex
La dérivé de cette fonction sera utilisée dans la règle de mise à jour des poids par
l’algorithme de rétroprogration du gradient.
ex
g ' ( x) g ( x) . (1 g ( x) (3)
(1 e x ) 2
Initialiser les
Mettre à jour
( )
( ) ( )( ( ))( ( ) ( ))
( ) ( )( ( )) ∑
()
Fin pour
Fin pour
Fin pour
Fin pour
Fin pour
Fin pour
Exemple
48
Bibliothèque d’algorithmes
Interface
Description
structurelle du
réseau
Interface
Réseau
Description
comportementale de
neurones (fonction de
transfert)
Simulateur
49
Très souvent on considère qu’un nœud pose une question sur une
variable, la valeur de cette variable permet de savoir sur quels fils descendre.
Pour les variables énumérées il est parfois possible d’avoir un fils par valeur, on
peut aussi décider que plusieurs variables différentes mènent au même sous
arbre. Pour les variables continues il n’est pas imaginable de créer un nœud qui
aurait potentiellement un nombre de fils infini, on doit discrétiser le domaine
continu (arrondis, approximation), donc décider de segmenter le domaine en
sous ensembles. Plus l’arbre est simple, et plus il semble techniquement rapide à
utiliser.
En fait, il est plus intéressant d’obtenir un arbre qui est adapté aux probabilités
des variables à tester. La plupart du temps un arbre équilibré sera un bon
résultat. Si un sous arbre ne peut mener qu’`a une solution unique, alors tout ce
50
Les principales idées sur lesquels repose ID3 sont les suivantes :
Algorithme ID 3 :
51
début
finpour
finsinon
finsinon
retourner racine;
fin
52
Choix du meilleur attribut : Pour cet algorithme deux mesures existent pour
choisir le meilleur attribut : la mesure d'entropie et la mesure de fréquence:
Le premier attribut est donc l'âge (attribut dont l'entropie est minimale).
On obtient l’arbre suivant :
54
Age
jeune Agé
moyen
Non consultation
Consultation ?
L'attribut qui a l'entropie la plus faible est « Etudes ». L'arbre devient alors :
Age
jeune âgé
moyen
Consultation Non consultation
Etudes
Non consultation
Consultation
Oui Non
L'ensemble des exemples est classé et on constate que sur cet ensemble
d'apprentissage, seuls deux attributs sur les quatre sont discriminants.
56
Le but des SVM, dans le cas d’un problème de classification binaire, est de
construire une fonction de décision (séparateur) qui permet de mieux séparer les
données et maximiser la distance entre deux classes
H2 H
Y
H1
On parle des SVM linéaires, lorsqu’il existe une fonction linéaire séparant
l’ensemble des données. Cependant ils sont abordés de deux manières, selon
que les données sont complètement séparables par la fonction ou pas.
Cas Séparables (SVM à Marge dure)
Supposons qu’on ait un ensemble E de M exemples d’apprentissage, défini
comme suit :
E = {( )} , où :
est un vecteur réel, c’est-à-dire Є Rn ;
Є ,-1, +1-, représente la classe d’une donnée.
Le Séparateur linéaire (fonction de décision) définie par les SVM, est donnée
par :
(⃗⃗⃗ )= . +b, où :
w est un vecteur perpendiculaire au séparateur linéaire, appelé vecteur de
poids ;
b est appelé biais ;
« . » représente le produit scalaire des vecteurs ⃗⃗⃗ et ⃗⃗⃗⃗ .
N.B :
Ce séparateur linéaire ne fournit pas des valeurs valant exactement −1 ou 1, mais
on considère que lorsque le résultat de f( ) est positif, le vecteur ⃗⃗⃗ appartient à
la classe d'étiquette 1, et que quand ce résultat est négatif, le vecteur
⃗⃗⃗ appartient à la classe d'étiquette −1.
D’où (⃗⃗⃗ )=sgn( . +b)
Séparabilité Linéaire
58
Y H2
H
H1
Vecteurs de Support
Cas séparable des SVM linéaires support
‖ ‖
, Or pour les points situés sur les hyperplans H1 et H2, c’est-à-dire
vecteurs de support, = 1 ; ceci implique que :
‖ ‖
{ (3)
∑ (6)
La fonction de décision (hyperplan) devient :
( )= ∑ (7)
Conditions de Karush, Kuhn et Tucker (KKT)
L’existence de la solution optimale du problème primal (w*; b*) et des
multiplicateurs de Lagrange ( ) peut être caractérisée par les conditions
d’optimalité de Karush, Kuhn et Tucker :
∑
∑
( ) (8)
{ * ( ) +
Remarques
Les deux dernières lignes indiquent que pour toute donnée ⃗⃗⃗⃗ , soit , soit
( )
Le multiplicateur de Lagrange associé à un vecteur support est non nul ;
En fait, seuls les vecteurs supports sont réellement utiles dans la construction du
modèle de prédiction. Si on les connaissait a priori, on pourrait construire ce
modèle sans tenir compte des autres vecteurs (exemples).
Calcul du biais (b)
N’apparaissant pas dans le problème dual, le biais b est calculé à partir d’un
vecteur de support :
=
Pour plus de précision, on prend la moyenne des vecteurs de support :
= ∑ ( ) , où S est l’ensemble des vecteurs de support.
Classement d’une nouvelle donnée
On a vu plus haut que la classe d’une donnée était donnée par le signe de la
fonction de décision ( ( )).
Pour classer une donnée , on a :
( ) ( )
((∑ ) )
(∑ ( ) )
Cas Non Séparable (SVM à Marge Souple)
61
Une donnée est bien classée si ; elle est dans la marge mais bien
classée si et est mal classée dans les autres cas. Ainsi, indique à quel
point la donnée peut être du mauvais côté : si est du mauvais côté de la
séparatrice (hyperplan), plus est loin de la séparatrice, plus est grand.
Donc, ∑ est une borne supérieure du nombre d'erreurs de classification.
Le problème consiste donc à chercher un hyperplan qui maximise la marge et qui
minimise les erreurs permises :
‖ ‖ ∑
(9)
( )
{
Où est une variable de pénalisation des erreurs et faisant un compromis entre
la dimension de la marge et les données mal classées.
En introduisant les Multiplicateurs de Lagrange ( ), on a :
ℒP(w,b, , )= ‖ ‖2+ ∑ - ∑ ( ( ) ) - ∑
(10)
= + ∑ - ∑ ∑ ∑ ∑ -
∑
On obtient, après des dérivations partielles :
∑
∑ (11)
∑
Ce qui donne : {∑ (12)
∑ ∑ ∑
(13)
∑
{
Le reste de la résolution se fait comme pour le cas séparable.
Les Conditions de KKT
Les conditions d’optimalité de Karush, Kuhn et Tucker qui permettent de
caractériser la solution du problème primal (w*; b*, ) et les multiplicateurs de
Lagrange ( ), s’ecrivent :
∑
∑
( )
* ( ) + (14)
Remarques
La seule différence entre les problèmes duales dans les cas séparables et non
séparables est que les valeurs des sont majorées par ; 19 /
Les conditions KKT impliquent que et = 0 si 0. Par
conséquent, les données mal classées ou placées dans la marge ont un =C;
Dans le cas des Machines à vecteurs de support à marge souple, une donnée
peut être :
Un vecteur de support ( );
Bien classée, mais pas un vecteur de support ( );
A l’intérieur de la marge, mais quand même bien classée ( );
Mal classée ( )
Y H2
H
H1
𝛼𝑖 𝜉𝑖
𝛼𝑖 𝐶 𝜉𝑖
𝛼𝑖 𝐶 𝜉𝑖
X
63
E = {( ( ) )} , où : ( ) et Є ,-1, +1}.
Par conséquent, le problème d’optimisation peut s’écrire de la manière
suivante :
‖ ‖
{ (15)
( ( ) )
Après résolution, on obtient :
∑ ( )
{ (16)
∑
Avec
Le dual du problème donne :
∑ ∑ ∑ ⟨ ( ) ( )⟩
(17)
∑
{
Pour certains espaces caractéristiques et applications associées, les produits
scalaires sont facilement calculables grâce à des fonctions spécifiques, appelées
fonctions noyaux (kernel functions) telles que :
( ) ⟨ ( ) ( )⟩ (18)
L'intérêt de ces fonctions noyaux est de rendre possible le calcul des produits
scalaires dans sans devoir explicitement transformer les données par la
fonction , donc, sans nécessairement connaître cette fonction .
En intégrant l’équation (15) dans (16), on obtient le problème dual suivant :
∑ ∑ ∑ ( )
(19)
∑
{
Classement d’une Nouvelle Donnée
De ce qui précède, on peut donc déduire la fonction de décision, pour le
classement d’une nouvelle donnée :
( ) ( ( ) )
((∑ ( )) ( ) )
(∑ ⟨ ( ) ( )⟩ )
(∑ ( ) )
Note
65
Il sied de signaler que seul le cas des données séparables linéairement dans
l’espace caractéristique a été abordé ci-haut. Cependant les données peuvent
être aussi non séparable linéairement dans cet espace. Dans ce cas, on applique
la démarche utilisée dans les SVM linéaires, c’est-à-dire l’introduction des
termes d’erreurs.
Ainsi, d’une manière générale, le problème d’optimisation des Machines à
vecteurs de Support peut s’écrire de la manière suivante :
‖ ‖ ∑
(20)
( ( ) )
{
Le dual du problème d’optimisation général à résoudre sera donc:
∑ ∑ ∑ ( )
(21)
∑
{
Fonction Noyau
Considérons un ensemble X des observations * + dans les données
d’apprentissage. La matrice de Gram du noyau ( ) associée à cet ensemble,
est une matrice carrée d’ordre M et de terme général : ( ) ( ).
Théorème 1 : Une fonction est un noyau valide si elle symétrique
et définie positive.
En d’autres termes, une fonction est noyau si et seulement si :
( ) ( );
∑ ∑ ( )
Cette dernière condition se traduit par le fait que toutes les valeurs propres de la
matrice de Gram soit positives non nulles.