1
I. Machine à vecteurs de support (MVS)
Les machines à vecteurs de support, ou SVM (Support Vector Machines),
sont une méthode relativement récente de résolution de problèmes de classification
(trier des individus en fonction de leurs caractéristiques) qui suscite beaucoup
d'intérêt, à la fois pour son élégance et ses bonnes perfor-mances.
L’objectif de SVM c’est de trouver un hyperplan optimal qui maximise la
marge.
a. Cas de données linéairement séparable.
Ensemble des points séparés par un hyperplan optimal(H) et avec l’indication de la
marge.
Les points qui sont sur les plans frontières des données positives(H+) et données
négatives (H-) représentent les vecteurs supports. Ces derniers portent en eux seuls
l’information utile pour la construction du modèle prédictif.
a.1 Cas de la Marge dure
Soit 𝐸 = {(𝑥𝑖 , 𝑦𝑖 ): 𝑥𝑖 𝜖𝑅 𝑛 , 𝑦𝑖 ∈ {−1, +1}, 1 ≤ 𝑖 ≤ 𝑀}l’échantillon
d’apprentissage. E étant séparable décomposons E en E +, E-
2
𝐸 + = {𝑥𝑖 ∈ 𝑅 𝑛 , (𝑥𝑖 , 𝑦𝑖 ) ∈ 𝐸, 𝑦𝑖 = +1}
𝐸 − = {𝑥𝑖 ∈ 𝑅 𝑛 , (𝑥𝑖 , 𝑦𝑖 ) ∈ 𝐸, 𝑦𝑖 = +1}
f(x)=sign(w.x+b) comme E séparable ∃𝑤, 𝑏 𝑡𝑞
𝑓 (𝑥𝑖 ) ⋗ 0 𝑠𝑖 𝑦𝑖 = +1
𝑓 (𝑥𝑖 ) < 0 𝑠𝑖 𝑦𝑖 = −1
𝑦𝑖 𝑓(𝑥𝑖 ) > 0
On calcule la distance entre x, H
|𝑤𝑥 + 𝑏|
d(x, H) =
||𝑤 ||
|1|
d(x, H) = ||𝑤|| car x H2
|𝑤𝑥 + 𝑏|
d(H1, H2) =
||𝑤||2
𝑤𝑥 + 𝑏 ≥ 1 𝑠𝑖 𝑦𝑖 = 1
{
𝑤𝑥 + 𝑏 ≥ 1 𝑠𝑖 𝑦𝑖 = −1
𝑦𝑖 (𝑊𝑥𝑖 + 𝑏) ≥ 1
On écrit alors notre programme :
1
𝑀𝑖𝑛 ||𝑤||2
{ 2
𝑠⁄ 𝑦 (𝑤𝑥 + 𝑏) ≥ 1
𝑐 𝑖 𝑖
Calculons le lagrangien
1
𝐿𝑝(𝑤, 𝑏, ∝) = ||w||2− ∑𝑀𝑖=1 ∝𝑖 [𝑦𝑖 (𝑤𝑥𝑖 + 𝑏 ) − 1]
2
1
𝐿𝑝(𝑤, 𝑏, ∝) = 2||w||2− ∑𝑀 𝑀
𝑖=1 ∝𝑖 𝑦𝑖 (𝑤𝑥𝑖 + 𝑏 ) + ∑𝑖=1 ∝𝑖
3
𝜕𝐿𝑝
=0
𝜕𝑤 𝑤 − ∑𝑀 𝑀
𝑖=1 ∝𝑖 𝑦𝑖 𝑥𝑖 = 0 => 𝑤 = ∑𝑖=0 ∝𝑖 𝑦𝑖 𝑥𝑖
𝜕𝐿𝑝
𝜕𝑏
= 0 =>{ ∑𝑀 𝑖=0 ∝𝑖 𝑦𝑖 = 0
𝜕𝐿𝑝 𝑦𝑖 (𝑤𝑖 + 𝑏) = 1
{ 𝜕∝ = 0
F(x)= sign(wx+b)
F(x)=sign (∑𝑴 ∗ ∗
𝒊=𝟎 ∝𝒊 𝒚𝒊 𝒙𝒊 + 𝒃 )
a.2 Marge souple
Introduisons le terme . Il s’agit du terme d’erreur qui calcule le dépassement
des données. Ce terme permet de déterminer si une donnée est bien classée ou pas.
𝑤𝑥 + 𝑏 ≥ 1 − 𝑖 𝑠𝑖 𝑦𝑖 = 1
{
𝑤𝑥 + 𝑏 ≥ −1 + 𝑖 𝑠𝑖 𝑦𝑖 = −1
𝑦𝑖 (𝑊𝑥𝑖 + 𝑏) ≥ 1 − 𝑖 avec 𝑖 ≥ 0
𝑥𝑖 𝑒𝑠𝑡 𝑏𝑖𝑒𝑛 𝑐𝑙𝑎𝑠𝑠é 𝑠𝑖 𝑖 = 0, elle est dans la marge et bien classée ssi 𝑖 < 1 et
mal classée dans les autres cas.
On a le programme suivant :
𝑀
1
𝑀𝑖𝑛 ||w||2 + 𝑐 ∑ 𝑖
2
𝑖=1
𝑦𝑖 (𝑤𝑥𝑖 + 𝑏) ≥ 1 − 𝑖
{ 𝑖 = 0
1
𝐿𝑝(𝑤, 𝑏, ∝, 𝛽, 𝜉 ) = 2||w||2+𝑐 ∑𝑀 𝑀
𝑖=1 𝜉𝑖 − ∑𝑖=1 ∝𝑖 [𝑦𝑖 (𝑤𝑥𝑖 + 𝑏 ) − 1 +
𝜉𝑖 ] − ∑𝑀
𝑖=1 𝛽𝑖 𝜉𝑖
4
b. Cas de données non linéairement séparable
Pour surmonter les inconvénients des cas non linéairement séparable,
l’idée des SVM est de changer l’espace des données, et cette transformation non
linéaire des données peut permettre une séparation linéaire des exemples dans un
nouvel espace. On va donc avoir un changement de dimension. Cette nouvelle
dimension est appelé « espace de ré-description »
En effet, intuitivement, plus la dimension de l’espace de ré-description
n’est grande, plus la probabilité de pouvoir trouver un hyperplan séparateur entre les
exemples est élevée.
On a donc une transformation d’un problème de séparation non linéaire
dans l’espace de représentation en un problème de séparation linéaire dans un espace
de ré-description de plus grande dimension. Cette transformation non linéaire est
réalisée via une fonction noyau.
En pratique, quelques familles de fonctions noyau paramétrables sont
connues et il revient à l’utilisateur de SVM d’effectuer des tests pour déterminer
celle qui convient le mieux pour son application. On peut citer les exemples de
noyaux suivants : polynomiale, gaussien, sigmoïde et laplacien.
Or cette transformation dans un espace haut-dimensionnel présente deux
problèmes majeurs : l’un conceptuel et l’autre technique.
(i) Conceptuellement, on se demande : comment trouver un hyperplan
séparateur qui va bien généraliser le passage ?
La dimension du futur espace sera grande et un hyperplan qui sépare les
données dans l’espace d’origine ne saura nécessairement pas bien généraliser le
processus. La résolution de ce problème conceptuel est possible avec la technique
de la marge souple.
Techniquement, on se demande : comment va-t-on traiter les calculs
sachant l’espace futur à haute dimension ?
Théorème de cover stipule que lorsqu’on quitte un espace à petite
dimension vers un espace à grande dimension, il est possible que les données qui
n’étaient pas linéairement séparable soit linéairement séparable dans l’espace à
grande dimension.
Définissions cette transformation comme étant :
5
∅: 𝑋 → 𝑓
𝑥𝑖 → ∅(𝑥𝑖 )
𝐸 = {(∅(𝑥𝑖 ), 𝑦𝑖 ): ∅(𝑥𝑖 ) ∈ 𝑓, 𝑦𝑖 ∈ {−1,1}
1
𝑀𝑖𝑛 ||w||2
2
𝑦𝑖 (𝑤∅(𝑥𝑖 ) + 𝑏) ≥ 1
𝑀
𝑊 = ∑ ∝𝑖 𝑦𝑖 ∅(𝑥𝑖 )
{ 𝑖=1
F(x)=wx+b
F(𝑥𝑗 )= sign (∑𝑀
𝑖=1 ∝𝑖 𝑦𝑖 ∅(𝑥𝑖 ) ∅(𝑥𝑗 ) + 𝑏 )
F(𝑥𝑗 )= sign (∑𝑀
𝑖=1 ∝𝑖 𝑦𝑖 ∅(𝑥𝑖 ) ∅(𝑥𝑗 )) + 𝑏 )
F(𝑥𝑗 )=sign (∑𝑀
𝑖=1 ∝𝑖 𝑦𝑖 𝑘(𝑥𝑖 , 𝑦𝑖 ) + 𝑏 ) avec k le noyau.
II. L’apprentissage supervisé
Dans l’apprentissage supervisé nous agissons sur les données tout en ayant
les hypothèses sur celles-ci et nous cherchons à extrapoler les nouvelles
connaissances à partir des informations à notre disposition, et ces dernières fournies
par le superviseur du domaine.
Le superviseur prévoit déjà avec ses hypothèses la vraie classe de
l’individu et le classifieur aura pour travail de prédire la même classe que l’expert
(superviseur), qui peut être un être humain ou un programme, en commençant par
l’autocréation d’un modèle simulant au mieux cette connaissance du superviseur.
A chaque entrée (→), le superviseur a déjà une vraie classe de celle-ci,
𝜀
alors le rôle du classifieur c’est d’estimer une classe à cette entrée, qu’on va
comparer avec celle trouvée déjà par le superviseur, si la mesure d’erreur est grande
6
là il faut revoir l’algorithme d’apprentissage (classifieur) soit en ajustant les
paramètres de cet algorithme.
Un classifieur est une application(machine) qui permet de réaliser des
tâches d’affectation ou de prédire les classes des nouvelles instances dans le cas
d’apprentissage.
III. Réseaux de neurones
Un neurone est un ensemble de neurones interconnectés tels que chaque neurone
calcul la somme pondérée de ses entrées et active sa sortie en appliquant une fonction
d’activation sur cette somme pondérée et le résultat obtenu est dupliqué et envoyé
aux neurones qui sont en aval.
Soit 𝐴 = {(𝑥𝑖. 𝑦𝑖): 𝑥𝑖 ∈ 𝑅𝑝 , 𝑦𝑖 ∈ 𝑐, 1 ≼ 𝑖 ≼ 𝑛} l’echantillon d’apprentissage.
Trouver un classifieur 𝐹𝑤 𝑡𝑞 𝑦𝑖 = 𝐹𝑤 (𝑥𝑖 ). Trouvons 𝑤𝑗 par le processus
d’apprentissage qui consiste à optimiser E. Avec E l’erreur quadratique.
𝑀𝑖𝑛[𝐸 = ∑𝑛𝑖=1[𝑌𝑖 − 𝐹𝑤 (𝑥𝑖 )]2]
Nous distinguons deux phases à savoir :
1ère Phase : le neurone calcul d’abord le potentiel (𝑈𝑖 ). Il s’agit ici de la somme
pondérée :𝑈𝑖 = ∑𝑛𝑗=1 𝑊𝑖𝑗 . 𝑋𝑖 + 𝑏𝑖 avec 𝑈𝑖 le potentiel de ième neurone
2ème Phase : le neurone calcul la sortie (𝑂𝑖 )
𝑂𝑖 = 𝑓(𝑈𝑖 ) avec f : la fonction d’activation
Une fonction d’activation est une fonction mathématique appliquée à un
signal en sortie d’un neurone artificiel. En d’autres termes, il s’agit d’une fonction
qui permet de transformer le signal entrant dans une unité(neurone) en signal de
sortie.
Il existe plusieurs fonctions d’activation. Nous allons presenter dans le cadre
de ce travail la fonction à seuil et la fonction sigmoide ou logistique.
7
a. Fonction à seuil
1 𝑠𝑖 𝑥 > 0
𝑓 (𝑥 ) = {
−1 𝑠𝑖 𝑥 ≤ 0
b. Fonction Sigmoïde ou logistique
1
𝑓(𝑥) =
1 + 𝑒 −𝑥
1
𝐸 = 2 ∑𝑛1⌈𝑌𝑖 − 𝑓(𝑥𝑖 )⌉2
1
𝐸 = 2 ∑𝑛1⌈𝑌𝑖 − ∑𝑛𝑗=1 𝑊𝑖𝑗 𝑥𝑗 ⌉2
𝜕𝐸
= 2(𝑌𝑖 − ∑𝑛𝑗=1 𝑊𝑖𝑗 𝑥𝑗 )(−𝑥𝑗 )
𝜕𝑊𝑖𝑗
𝜕𝐸
𝑊(𝑡 + 1) ← 𝑊𝑖𝑗 (𝑡) − 𝛼 𝜕𝑊 ; ∝∈ ]0,1]
𝑖𝑗
III.2 Perceptron Multi Couche
Ce type de réseaux permet de remédier au problème de linéarité rencontré avec les réseaux
monocouches. Ce sont les réseaux les plus utilisés dans les applications. Leurs caractéristiques
principales sont résumées dans les points suivants :
1. Les unités de ces réseaux sont organisées en n (n>=3) couches successives.
2. Chaque unité ne peut être connectée qu’aux unités des couches suivantes,
3. L’information ne circule que dans un seul sens durant la phase d’utilisation, c’est pour
cela qu’on parle aussi de réseaux feedforward.
4. Pendant la phase d’apprentissage, l’erreur du réseau est calculée au niveau des neurones
de la couche de sortie puis l’erreur et les ajustements des poids se propagent vers l’arrière
du réseau jusqu’aux neurones d’entrée.
5. Les couches qui se trouvent entre la couche de sortie et celle d’entrée sont dites cachées.
L’apprentissage dans ce type de réseau se décompose en plusieurs étapes :
1. Initialisation des poids de connexions
2. La présentation d’un exemple et la propagation des activations des neurones à
travers le réseau.
8
3. Le calcul de l’erreur et la rétro propagation de cette erreur.
4. La mise à jour des poids des connexions.
Soit 𝐴 = {(𝑥𝑖. 𝑦𝑖): 𝑥𝑖 ∈ 𝑅𝑝 , 𝑦𝑖 ∈ 𝑐, 1 ≼ 𝑖 ≼ 𝑛} l’echantillon d’apprentissage. On a :
𝑁𝑙−!
𝑈𝑖𝑙 = ∑ 𝑊𝑖𝑗𝑙 𝑂𝑗𝑙 + 𝑏𝑖𝑙
𝑗=!
𝑂𝑗𝑙 = 𝑓(𝑈𝑖𝑙 )
Écrivons ce potentiel sous forme matriciel
(𝑈𝑖𝑙 ) T= 𝑊 𝑙 [𝑂𝑙−1 ]T +[𝑏𝑖𝑙 ]T
L’erreur est donnée par
1
𝐸 = 2 ∑𝑛𝑖=1[𝑂𝑖𝑙 − 𝑑𝑖 (𝑡)]2
Pour i fixé
1
𝐸 = 2 [𝑂𝑖𝑙−1 − 𝑑𝑖 (𝑡)]2
𝜕𝐸 𝜕𝐸 𝜕𝑈𝑖𝑙
= .
𝜕𝑊𝑖𝑗 𝜕𝑈𝑖𝑙 𝜕𝑊𝑖𝑗
∂E
= . Ol−1
j
∂Uli
La sensibilité au changement
∂E ∂E ∂Oli
= l . l
∂Uil ∂Oi ∂Ui
= (𝑂𝑖𝑙 − 𝑑𝑖 (𝑡)) 𝑓̇ (𝑈𝑖𝑙 )
1
f(x) = −𝑥 1+𝑒
9
(−1)𝑒 −𝑥
𝑓 (𝑥 )̇ =− −𝑥 2
(1+𝑒 )
𝑒 −𝑥
𝑓 (𝑥 )̇ =− (1+𝑒 −𝑥) 2
= 𝑓(𝑥)(1 − 𝑓 (𝑥 ))
= 𝑂𝑖𝑙 (1 − 𝑂𝑖𝑙 )
∂E l l l−1
= (Oi (1 − di (t)) . Oli (1 − Oi ) Oi
∂Wij
𝛛𝐄
𝑾𝒊𝒋 (𝒕 + 𝟏) ← 𝑾𝒊𝒋 (𝒕) − 𝜶
𝛛𝐖𝐢𝐣
III.3 Réseau de neurones à convolution
a. Définition
Les réseaux de neurones convolutionnels (ou CNN pour « Convolutional Neural
Network ») sont une extension des MLP permettant de répondre efficacement aux
principaux défauts des MLP. Ils sont conçus pour extraire automatiquement les
caractéristiques des images d’entrée, sont invariants à de légères distorsions de
l’image, et implémentent la notion de partage des poids permettant de réduire
considérablement le nombre de paramètres du réseau. Ce partage des poids permet
en outre de prendre en compte de manière forte les corrélations locales contenues
dans une image. Les poids sont forcés à être égaux pour détecter des lignes, des
points ou des coins à tous les endroits possibles de l’image, implémentant de fait
l’idée du partage des poids.
b. Architecture
Les réseaux de neurones à convolution sont basés sur le perceptron
multicouche(MLP), et inspirés du comportement du cortex visuel des vertébrés. Bien
qu'efficaces pour le traitement d'images, les MLP ont beaucoup de mal à gérer des
10
images de grande taille, ce qui est dû à la croissance exponentielle du nombre de
connexions avec la taille de l'image.
Les couches CNN :
Une architecture CNN est formée par un empilement de couches de traitement
indépendantes :
- La couche de convolution (CONV) qui traite les données d'un champ
récepteur.
- La couche de pooling (POOL), qui permet de compresser l'information en
réduisant la taille de l'image intermédiaire (souvent par sous-
échantillonnage).
- La couche de correction (ReLU), souvent appelée par abus 'ReLU' en
référence à la fonction d'activation (Unité de rectification linéaire).
- La couche "entièrement connectée" (FC), qui est une couche de type
perceptron.
- La couche de perte (LOSS).
Couche de convolution(CONV)
Le terme ‘’convolution’’ vient du fait que les réseaux CNN utilisent des opérations
de convolution comme dans le traitement du signal ou d’images. Dans la couche de
convolution, on applique un produit de convolution entre l’image originale ou celle
obtenue dans la couche précédente avec un filtre dont des coefficients sont
assimilés à des poids synaptiques. Le produit de convolution d’une matrice (image
ou vecteur de mot dans ce cas) I avec un filtre K de taille (s*s) est:
2 2
𝑂(𝑥, 𝑦) = ∑ ∑ 𝐾(𝑖, 𝑗) 𝑋 𝐼(𝑥 − 1 + 𝑗, 𝑦 − 1 + 𝑖)
𝑖=0 𝑗=0
Il y a trois paramètres permettent de dimensionner le volume de la couche de convolution la
profondeur, le pas et la marge :
i. Profondeur de la couche: Nombre de noyaux de convolution (ou nombre de
neurones associés à un même champ récepteur).
ii. Le pas: Contrôle le chevauchement des champs récepteurs. Plus le pas est petit, plus
les champs récepteurs se chevauchent et plus le volume de sortie sera grand.
11
iii. La marge (à 0) ou zero padding: Parfois, il est commode de mettre des zéros à la
frontière du volume d'entrée. La taille de ce 'zero-padding' est le troisième hyper
paramètre. Cette marge permet de contrôler la dimension spatiale du volume de
sortie. En particulier, il est parfois souhaitable de conserver la même
surface que celle du volume d'entrée. Cette marge permet de contrôler la
dimension spatiale du volume de sortie. En particulier.
Couche de pooling (POOL)
La couche de pooling (en anglais pooling layer) (POOL) est une opération de
souséchantillonnage typiquement appliquée après une couche convolutionnelle. En
particulier, les types de pooling les plus populaires sont le max et l'average pooling,
où les valeurs maximales et moyennes sont prises, respectivement. La couche de
pooling permet de réduire le nombre de paramètres par conséquent d’accélérer les
calculs dans le réseau. Elle permet aussi d’améliore l'efficacité du réseau et éviter le
problème sur-apprentissage.Max pooling Chaque opération de pooling sélectionne
la valeur maximale de la surface
Max pooling
Commentaires :
12
Garde les caractéristiques détectées Plus communément utilisé Average pooling
Chaque opération de pooling sélectionne la valeur moyenne de la surface
Average pooling
Commentaires :
Sous-échantillonne la feature map
Utilisé dans LeNet
La couche de correction ReLU ReLU (Rectified Linear Units) désigne la fonction
réelle non-linéaire définie par ReLU(x)=max (0, x). La couche de correction ReLU
remplace donc toutes les valeurs négatives reçues en entrées par des zéros. Elle joue
le rôle de fonction d'activation.
Allure de la fonction ReLU
Le flattening (ou mise à plat)
Dernière étape de la partie “extraction des informations”, le flattening consiste
simplement à mettre bout à bout toutes les matrices que nous avons pour en faire un
(long) vecteur. Les pixels (en réalité ce ne sont plus des images ou des pixels (vecteur
13
de mot dans notre cas), mais des matrices de nombres, donc les pixels sont ces
nombres) sont récupérés ligne par ligne et ajoutés au vecteur final.
Quel est l’intérêt de cette étape ?
En fait, le réseau de neurones prend simplement en entrée un vecteur (à chaque
neurone d’entrée on envoie une seule valeur) !
Par conséquent, dans l’absolu, rien n’empêche d’utiliser un flattening qui lit les
matrices par colonne, ou même qui mélange tous les “pixels (mot ou phrase)” (sans
en changer les valeurs), tant que le procédé de flattening reste toujours le même.
2 1 1 2 Flattering 2
1 0 1 1 1
1 2 1 0 1
1 1 1 1 2
Pooled 1
Feature 0
Map 1
1
2
1
0
1
1
1
1
Mise à plat des matrices finales en sortie des filtres
La partie “fully connected” ou “dense” alias le réseau de neurones artificiels
(perceptron multi-couches)
Nous l'avons déjà expliqué le sujet dans le premier chapitre, De manière synthétique,
un réseau de neurones artificiels est un réseau qui contient des neurones, dans le cas
du CNN, ce sera la valeur d’un pixel (mot ou phrase) précis pour chaque neurone
(tout simplement, en suivant l’ordre du vecteur).
4.6 Bonus : le padding Parfois, il peut être intéressant de conserver une certaine
dimension dans les tailles des images en sortie des convolutions. Le padding consiste
simplement à ajouter des 0 tous autour d’une matrice pour en augmenter la taille.
Par exemple, un padding de 2 sur une matrice de taille 32×32 ajoutera des 0 à gauche
sur 2 colonnes, à droite sur 2 colonnes, en haut sur 2 lignes et en bas sur 2 lignes
14
Padding de 2 autour d’une image de taille 32x32
c. Paramètre
Nous devons choisir dans les CNNs le nombre de couches de convolution, de
correction ReLu, de pooling, et de couches entièrement connectées. Il faut également
définir les paramètres pour chaque couche de convolution et de pooling. Trois
paramètres permettent de dimensionner une couche de convolution : le nombre de
noyaux de convolution, le pas de chevauchement et la marge à zéro (zéro padding)
qui définit le nombre de zéros sur les frontières des cartes, même s’il est parfois
souhaitable de conserver la même surface que celle des cartes d’entrée. Concernent
la couche de pooling, celle-ci est définie par la taille de la fenêtre de traitement et
par le pas de chevauchement. En pratique, une fenêtre de (2*2) avec un pas de 1 sont
souvent choisis.
d. Avantages
Un avantage majeur des réseaux convolutifs est l'utilisation d'un poids unique
associé aux signaux entrant dans tous les neurones d'un même noyau de convolution.
Cette méthode réduit l'empreinte mémoire, améliore les performances et permet une
invariance du traitement par translation. C'est le principal avantage du réseau de
neurones convolutifs par rapport au perceptron multicouches, qui, lui, considère
15
chaque neurone indépendant et affecte donc un poids différent à chaque signal
entrant.
II.4 Réseau de neurones flou (réseau de model)
En quelques lignes retenons que :
Le réseau de model est un réseau de neurone où on met tout le système
ensemble à savoir la logique floue et le réseau de neurone.
Le réseau de model repose sur la structure interne d’un système flou.
Un système d’inférence flou, aussi appelé : modèle floue, système à base de
règles floues, ou tout court : le système flou est construit à partir de trois composants
conceptuels :
Base de règle : Une base des règles floues est composée de règles qui sont
généralement déclenchées en parallèle.
Base de donnés : définie les fonctions d’appartenance utilisées pour les règles
floues.
Le mécanisme de raisonnement : représente la procédure d’inférence appelée
aussi la généralisation du modus-ponens ou raisonnement approximative.
Généralement, un système d’inférence flou comprend trois étapes, décrit dans
la figure 1.3 suivante :
Système flou
La fuzzification consiste à déterminer le degré d’appartenance de chaque
entrée sur base de sous-ensemble flou.