Académique Documents
Professionnel Documents
Culture Documents
modèles hybrides
Lequel utiliser ?
https://towardsdatascience.com/a-whirlwind-tour-of-machine-learning-models-e3574e6f2586
Plusieurs critères de choix
Taille des données
• Certains algorithmes sont meilleurs pour les données massives, d’autres
pour les petits ensembles
Apprentissage à utiliser
Supervisé, non supervisé, renforcement dépendant des applications
Type d’application
• Classification, catégorisation, prise de décision, prédiction,
optimisation
Facilité de mise en œuvre
Performances
Linéaire versus non-linéaire
https://www.kaggle.com/lavanyashukla01/picking-the-best-model-a-whirlwind-tour-of-model#Part-II---A-Whirlwind-Tour-of-Machine-Learning-Models
Variance versus précision
SciKit SVC uses rbf kernel and one-vs-one inference SciKit LinearSVC uses linear kernel and one-vs-all inference
http://blog.fliptop.com/blog/2015/03/02/bias-variance-and-
overfitting-machine-learning-overview/
Le SVM non-linéaire montre une variance plus élevée (peu être réduite par régularisation)
Le SVM linéaire montre une erreur totale (biais) plus petite (~550+325=~875 vs
~690+~50=~740), mais une grande erreur pour ‘1’ due aux données déséquilibrées
Le SVM non-linéaire avec régularisation pourrait être le meilleur choix
https://i.stack.imgur.com/fIVsR.png
Modèle de production vs. état-de-l’art
Caractéristique Sens
Compréhensibilité des Facilité d’expliquer ou d’exploiter les connaissances représentées
représentations
Tolérance à l’incertitude Robustesse face à l’absence ou insuffisance de données
Tolérance à l’imprécision Robustesse face aux données fragmentaires ou mal cernées
Évaluation
Évaluation
- -: mauvais +/- : variable selon variantes
- : plutôt mauvais
+: plutôt bon
++: bon
Comparaison de modèles
Avantages et limites de chaque approche …
Approches Approches
symboliques sous-symboliques
SE LC LF AD ON SC BC RN AG RB/MM
Caractéristiques
Compréhensibilité des + ++ ++ ++ ++ + + -- - -
Représentations
Tolérance à l’incertitude + ++ ++ + + + + ++ ++ ++
Tolérance à l’imprécision +/- -- ++ + - - + ++ ++ +
Adaptabilité -- - - + - -- +/- ++ ++ +
Capacité d’apprentissage -- -- -- ++ +/- -- + ++ ++ ++
Capacité de découverte/fouille -- - - +/- + - -- ++ + +/-
Capacité d’explication ++ ++ ++ + + + + -- - +
Facilité de développement -- - - ++ - -- -- - - +
Maintenabilité -- + + ++ +/- - - ++ + +
Adaptè de M. Negnèvistrsky et Benoit Lavoie.
Symbolique vs. sous-symbolique
Approches Approches
Caractéristiques symboliques sous-symboliques
Compréhensibilité des Plutôt bonne à bonne Mauvaise à plutôt mauvaise
représentations
Tolérance à l’incertitude Plutôt bonne à bonne Bonne
Tolérance à l’imprécision Bonne (LF, AD) à mauvaise (LC) Plutôt bonne à bonne
Adaptabilité Mauvaise (SE, SC) à plutôt bonne (AD, BC) Bonne
Capacité d’apprentissage Mauvaise (SE, LC, LF, SC) à bonne (AD) Bonne
Capacité d’explication Plutôt bonne à bonne Mauvaise (RN) à plutôt bonne (RB)
Modèles à auxiliaire
Entrée Paradigme 1 Sortie
Paradigme 2 (appelé par 1)
•Forme plus poussée (Ex. : AG réglant les poids d’un RNA)
Modèles imbriqués
Entrée Paradigme 1 + Paradigme 2 sortie
•Forme absolue (Ex.: un système flou imbriqué dans RNA)
Les modèles peuvent être combinés pour créer des
paradigmes plus complexes.
Ex.: Système expert connexionniste
Un système expert classique ramène le raisonnement à un
processus séquentiel qui utilise l’inférence logique et le
parcours de chemins (arbres de décision)
• Le savoir réside dans des règles faciles à interpréter, mais difficiles à
trouver et dont il faut s’assurer de la généralité
Un réseau de neurones ramène le raisonnement à un
processus parallèle qui repose sur la mémoire
• Le savoir réside dans des poids synaptiques relativement faciles à
apprendre, mais difficiles à interpréter
Pourquoi ne pas compenser les faiblesses de l’un avec les qualités
de l’autre ?
Le raisonnement approximatif
Données d’apprentissage
Moteur d’inférence
Facilités explicatives
Interface usager
Usager
La base de connaissances neuronale
Ailes
+1 -0.8
Règle 1 Oiseau
1.0
Queue -1.6 -0.7 +1
0 -0.2
-0.1
-1.1
Bec Règle 2 Avion
+1 2.2 1.0
0.0 1
-1.0
Plumes 2.8
+1 -1.6
-2.9 Règle 3 Aéroplaneur
-1.1 1.9 1.0 1
Moteur
1
-1.3
n n
xi wi w j
i 1 j 1
i entrées connues, j entrées connues et n = nombre d’entrées
Exemple :
Entrer la valeur de l’entrée Plumes :
+1
CONNU = 12.8 = 2.8
UNCONNU = 0.8+0.2+2.2+1.1= 4.3 CONNU INCONNU
Entrer la valeur de l’entrée Bec :
+1
CONNU = 12.8 + 12.2 = 5.0
UNCONNU = 0.8+0.2+1.1= 2.1 CONNU > INCONNU
CONCLUSION: OISEAU est VRAI
Comment trouver les poids ?
Il faut d’abord définir la topologie correspondante aux règles
Ensuite on applique un algorithme d’apprentissage approprié
(e.g. apprentissage supervisé par retropropagation d’erreur)
Rule 1: Rule 5:
IF a1 AND a3 THEN b1 (0.8) IF a5 THEN b3 (0.6)
Rule 2: Rule 6:
IF a1 AND a4 THEN b1 (0.2) IF b1 AND b3 THEN c1 (0.7)
Rule 3: Rule 7:
IF a2 AND a5 THEN b2 (-0.1) IF b2 THEN c1 (0.1)
Rule 4: Rule 8:
IF a3 AND a4 THEN b3 (0.9) IF b2 AND b3 THEN c2 (0.9)
0.2 1.0
a2 1.0 R2 b1 R6 0.7
1.0 c1
0.1
-0.1 1.0
a3 1.0 R3 b2 R7
1.0
1.0 1.0 0.9
c2
1.0 0.9 1.0
a4 R4 b3 R8
1.0
1.0 0.6
• Exemple d’un réseau neuro-flou
a5 R5
Comment trouver les règles minimales ?
Trouver et ordonner les poids contributeurs (ceux qui ne diminuent
pas le résultat)
Identifier les antécédents en partant du poids le plus fort
Ailes
+1 -0.8
Règle 1 Oiseau
1.0
Queue -1.6 -0.7 +1
0 -0.2
-0.1
-1.1
Bec Règle 2 Avion
+1 2.2 1.0
0.0 1
-1.0
Plumes 2.8
+1 -1.6
-2.9 Règle 3 Aéroplaneur
-1.1 1.9 1.0 1
Moteur
1
-1.3
x1 x1
A2 R2
x1 A2 R2
wR3 C1
C1
A3 A3 R3 R3 wR6
y
wR1
B1 B1 R4 R4 wR2
x2 C2
wR4
C2
R5 wR5
x2 x2 B2
B2 R5
x2
R6
B3
B3 R6
b
if xi( 2)
1 1
0, a
2
a = 4, b =6 a = 4.5, b =6 a = 4, b =6
0.8 0.8
a = 4, b =4
2 xi( 2) a
b b
0.6 0.6
yi( 2) 1 , if a xi( 2) a
b 2 2 0.4 0.4
( 2) b 0.2 0.2
0, if xi a
2 0 X 0 X
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
Couche 5 : Chaque neurone prend les ensembles flous précédents, écrêtés par
la force des règles correspondantes, et les combine en un seul ensemble
flou. Ce dernier est alors déflouïfié par une méthode standard.
Entraînement d’un système neuro-flou
On utilise un algorithme de RNA pour trouver les poids
• Exemple d’un système XOR inverse (x1, x2, y) avec deux étiquettes
floues (s, l) pour chaque variable
0
1
0
0
Mise en oeuvre avec un système neuro-flou à 5 règles
1
S 1 wR1
x2 0.99 wR5
0.8
L 2 0
S y 0.6
wR3 wR4
Weight
3 0.72
L 0.4
0.61
S 4
x2 0.2 wR2
0.79
L 5 0
0 10 20 30 40 50
Epoch
0.8
S 1 0 wR2 wR8
x1 2
0.7
0.78
3
0.6 wR3 wR5
L 0.69 S
0.5
4 0
y
0.4
5 0.62
0.3 wR6 & wR7
S 6 0 L
0.2
x2 0 wR1
7 0.1
0.80 wR4
L 8 0
0 10 20 30 40 50
Epoch
A1 1 N1 1
x1
A2 2 N2 2
y
B1 3 N3 3
x2
B2 4 N4 4
Couche 1 : Tampon pour les données d’entrée
Couche 2 : Neurones de flouïfication pour les antécédents des règles
(fonctions d’appartenance gaussiennes dans le modèle original de Jang)
Couche 3 : Chaque neurone correspond à une règle floue. il reçoit les
sorties des neurones de flouïfication et calcule son activation. La
conjonction des antécédents est réalisée avec l’opérateur produit :
et
k
yi(3) le degré
où 1 represente x (ji3) de vérité de
y(3) = 1.A1 B1
Règle = 1,
1
j 1
Couche 4 : Chaque neurone calcule le degré de vérité normalisé
d’une règle floue donnée. La valeur obtenue représente la
contribution de la règle floue au résultat final. Ainsi la sortie du
neurone i de la couche 4 est :
xii( 4) i ( 4) 1
yi( 4) i yN 1 1
n n 1 2 3 4
( 4)
jix j
j 1 j 1
Détermination de l’architecture :
• Deux entrées, x1 and x2, et une sortie, y.
• Chaque entrée possède deux valeurs linguistiques
Donc le réseau ANFIS possède quatre règles.
Modèle ANFIS avec quatre règles
A2 2 N2 2
y
B1 3 N3 3
x2
B2 4 N4 4
Apprentissage du réseau
y y
Training Data Training Data
2 ANFIS Output 2 ANFIS Output
1 1
0 0
-1 -1
-2 -2
-3 -3
1 1
0.5 10 0.5 10
8 8
0 0 6
6
-0.5 4 -0.5 4
2 2
-1 0
x2 -1 0
x1 x2 x1
On peut améliorer la précision d’approximation en augmentant
le nombre de valeurs linguistiques par entrée. Par exemple,
pour 3 valeurs on obtient un réseau ANFIS à 9 règles :
x1 x2
A1 1 N1 1
x1
2 N2 2
A2
3 N3 3
A3 4 N4 4
y
5 N5 5
B1 6 N6 6
x2
7 N7 7
B2
8 N8 8
B3 9 N9 9
Apprentissage sur 1 période en utilisant 3 fonctions
d’appartenance par variable d’entrée
y
Training Data
2 ANFIS Output
-1
-2
-3
1
0.5 10
8
0 6
-0.5 4
2
-1 0
x2 x1
Apprentissage sur 100 périodes avec 3 valeurs
linguistiques par variable d’entrée
y y
Training Data
2 ANFIS Output
Training Data 1
2 ANFIS Output 0
-1
1 -2
-3
1
0.5 10
0 0 6
8
-0.5 4
2
-1 0
x2 x1
-1
Avec deux valeurs linguistiques
-2
-3
1
0.5 10
8
0 6
-0.5 4
2
-1 0
x2 x1
Fonctions d’appartenance initiales et finales
Et pourquoi pas « neuroniser » un arbre de
décision flou ?
Arbre de classification/régression neuro-flou
A1 An
…
RNA de Flouïfication
…
DIT grand Arbre de
décision flou
0.65 0.35
0 1 1 0
0.2 0.65 0.35 0.3
RNA de Déflouïfication
Valeur/classe prédite
Flouïfication
• Perceptron
Quel modèle utiliser?
Type de problème Exemple de situation
Diagnostic Inférence de l’état d’un objet d’après son comportement et
recommandation de solutions
Sélection Recommandation de la meilleure option dans une liste
d’alternatives.