Les RRseaux Neuro Flous
Les RRseaux Neuro Flous
Les RRseaux Neuro Flous
Yann MORERE
17 mai 2001
2
IA (x) = 1 , IA(x)
c (1.4)
1.2.4.3 Intersection
Dénition 1.2.8: L'intersection de deux sous-ensembles ous A et B de X est la
sous-ensemble de X qui contient tous les éléments x de X appartenant à la fois à A et
B . L'intersection de deux sous-ensemble ous A et B (A \ B ) de X est le sous-ensemble
ou C tel que :
8x 2 X ; C (x) = min (A(x); B (x))
1.2.4.4 Union
Dénition 1.2.9: L'union de deux sous-ensemble ous A et B de X est le sous-
ensemble ou de X qui contient tous les éléments appartenant ou bien à A ou bien à B .
L'union de deux sous-ensemble ous A et B (A [ B ) de X est le sous-ensemble ou D de
X tel que :
8x 2 X ; C (x) = max (A(x); B (x))
fonctions d'appartenance
0,3
20 30 50 53 60 80 90 110 120 X
+
V=surface, X=R , Tv ={Minuscule, Petite, Moyenne, Grande, Immense}
Fig.1.1 Exemple de variable linguistique (V; X; TV ) utilisé pour décrire la surface d'un
appartement
Toutes les descriptions imprécises d'une même variable V ne peuvent être décrites
par la liste TV . Il faut donc à partir de ces données de bases, construire des caractérisa-
tions intermédiaires à l'aide de modicateurs qui atténuent ou renforcent une description
donnée.
Dénition 1.3.2: Un modicateur linguistique est un opérateur mod qui permet à
partir de toute caractérisation oue de A de V , de produire une nouvelle caractérisation
oue mod(A). Si la fonction d'appartenance de A est fA , celle de mod(A) est fmod(A) =
tmod (fA), obtenue par l'intermédiaire d'une transformation mathématique tmod attachée
à mod.
La dénition d'un modicateur linguistique est générale et ne correspond pas néces-
sairement à une faible variation autour de la qualication initiale A. Mais l'intérêt d'un
modicateur est de pouvoir engendrer des caractérisations voisines les unes de autres.
Ces modicateur peuvent aaiblir ou renforcer une caractérisation.
Dénition 1.3.3: Un modicateur linguistique mod est dit restrictif si la transfor-
mation associée vérie :
8u 2 [0; 1] tmod (u) u:
Un modicateur simple mis en évidence par L.A. ZADEH est déni par tmod (u) = u2.
Ce modicateur préserve le support et le noyau du sous-ensemble ou et ne modie la
fonction d'appartenance de A sur les partie de X où elle est strictement comprise entre
0 et 1.
Un modicateur restrictif renforce la caractérisation à laquelle il est appliqué c-à-d
Supp (mod(A)) Supp(A).
L.A.M.I.H.
c 98 Yann MORERE
14 Réseaux de Neurones et Systèmes Flous
Dénition 1.3.4: Un modicateur linguistique mod est dit expansif si la transfor-
mation associée vérie :
8u 2 [0; 1] tmod (u) u:
Un modicateur simple mis en évidence par L.A. ZADEH est déni par tmod (u) = u1=2 .
Ce modicateur préserve le support et le noyau du sous-ensemble ou et ne modie la
fonction d'appartenance de A sur les partie de X où elle est strictement comprise entre
0 et 1.
Un modicateur restrictif aaiblit la caractérisation à laquelle il est appliqué c-à-d
Supp (mod(A)) Supp(A).
Conclusion W est B0
Fonction d'appartenance fB 0
Base de Connaissance
Raisonnement Flou
Etat du Commande
Système commandé
Système non floue
Règles du type
12345
Si e est E et ∆e est ∆E alors ∆u est ∆U 12345
12345
Gains 12345 Gains
Fig. 1.3 Schéma d'un régulateur ou basé sur le raisonnement ou par inférences
f (x) = (1.8)
l;i
2
PM Qn x ,x
l=1 i=1 al;i exp , i
l;i
l;i
tel que :
sup jf (x) , g(x)j <
x2U
où yl; al;i et l;i sont les paramètres ajustables du système ou sous les contraintes
suivantes : yl 2 V; al;i 2 [0; 1]; xl;i 2 Ui; et l;i > 0.
On peut étendre ce théorème au cas discret.
Agrégation des Résultats Intermédiaires Chacune des règles Ri donnent une ca-
ractérisation de la variable de commande W en présence d'une donnée d'entrée précise.
Il faut faire la synthèse de ces caractérisations pour parvenir à une décision. Pour cela
on choisit un opérateur d'agrégation pour obtenir une caractérisation oue générale à
partir des résultats intermédiaires.Ces opérateurs sont le plus souvent la t-norme ( res-
pectivement la t-conorme ) dénies par ZADEH, donnant un résultat agrégé de fonction
d'appartenance :
8 y 2 Y fA(B1 ;B2 ;::: )(y) = maxi=1;2;::: fB (y)
0 0
i
0
respectivement
8 y 2 Y fA(B1 ;B2 ;::: )(y) = mini=1;2;::: fB (y)
0 0 0
i
en continu et P
y 2Y fA B ;B ;::: (yj ) yj
y0 = P f( 1 2 ) (y )
0 0
j
en échantillonné.
D'autres méthodes sont utilisables :
Le maximum, dans le cas où i réduit à un élément avec max(Y ) = fy0g
hP max(Y )y est
Le maximum moyen y0 = j max( max( )
yj 2
Y )j
Y j
Le milieu des maxima y0 = (y0 + y00) =2 avec y0 et y00 respectivement le plus petit et
le plus grand des éléments de max(Y )
Le premier maximum y0
Certaines méthodes permettent de réaliser en même temps les étapes 2 et 3 en choi-
sissant pour représentant de l'ensemble des résultats intermédiaires la moyenne pondérée
des représentants des résultats intermédiaires Bi0 obtenus par chacune des règles Ri.
La méthode des hauteurs y0P= [ i yih(Bi0 )]P= [Pi h(Bi0)]
P
SI x1 TG ET x2 EZ ALORS x R =EZ µ (x )
µ µ µ R1 R
TP TG TP TG Règle
E Z E Z TP E Z TG
µ
x1 =0.44 TP E Z TG µ (x )
12345678901234 RES R
x 2 =-0.67 12345678901234
12345678901234 max OU
12345678901234
12345678901234
12345678901234
-1 0 1 xR
µ µ µ
TP E Z TG TP E Z TG TP E Z TG
min 1234567890
1234567890
0.33 max 0.67 1234567890
1234567890 µ (x ) Règle
1234567890
1234567890 R2 R
-1 0 1 x1 -1 0 1 x2 -1 0 1 xR
SI x1 EZ OU x2 TP ALORS x =TP
R
Exemple d'Utilisation de Règles Floue T & S Soit les trois règles oues suivantes :
R1 Si x1 est petit1 et x2 est petit2 alors y = x1 + x2
R2 Si x1 est grand1 alors y = 2 x1
R2 Si x2 est grand2 alors y = 3 x2
0 16 0 8
grand1
R2 0.2
y = 2 x 12
= 24 0.2
10 20
grand 2
y= 3x5
R3 0.375 = 15 0.375
x1 = 12 10 x2 = 5 20
y = 0:25 170:25
+ 0:2 24 + 0:375 15 = 17:8
+ 0:2 + 0:375
f
couche 3
f=a/b
b
a
M
y 1 ....... y couche 2
µ
j j2
zM g µ =exp[-(x-x j ) 2 / σ i ]
i
z1 i
.......
g g g g
....... .......
couche 1
x1 xn
j
i
Qn
i
(1.14)
j =1 i=1 F (xi ) j
i
i;j
sont des fonctions d'appartenances gaussiennes. Le
système ou s'écrit alors :
M
X
f (x) = pj (x)j (1.15)
j =1
où les j = yj 2 R sont des constantes.
D'après 1.14 le système ou peut être vu comme non linéaire par rapport à ses pa-
ramètres i;j ; ai;j ; xi;j et alors on doit utiliser des algorithmes d'optimisation non linéaire
comme la rétropropagation. Mais d'un autre côté si l'on xe certains paramètres comme
les centres et les rayons des fonctions FBFs on obtient un système linéaire par rapport
à ses paramètres suivant l'équation 1.15. L'avantage de ce point de vue est qu'il permet
d'utiliser l'algorithme des moindres carrés orthogonaux très puissant pour l'estimation
des paramètres.
1.5.3.3 Apprentissage par Moindres Carrés Orthogonaux
Le développement en fonction à bases oues peut être vu comme un cas particulier
d'un modèle de régresseur linéaire du type :
M
X
d(t) = pj (t)j + e(t) (1.16)
j =1
où d(t) est la sortie du système, j les paramètres réels du système ou et pj (t) les
régresseurs qui sont des fonctions xées par rapport aux entrées x(t) et e(t) est l'erreur
entre le système réel et le système identié.
Si l'on applique N paires d'entrées/sorties aux systèmes décrit dans l'équation 1.16
on obtient la forme matricielle suivante
D = P + E (1.17)
où D = [d(1) : : : d(N )]T ; P = [p1 : : : pn] avec pi = [pi(1); : : : ; pi(N )]T ; =
[1 : : : N ]T ; E = [e(1) : : : e(N )]T .
An d'exécuter l'algorithme OLS sur notre équation 1.17, il faut commencer par xer
les paramètres i;j ; ai;j et xi;j dans les FBFs qui caractérisent pj (x).
On choisit pour cela très simplement tous les ai;j = 1 car les fonctions d'appartenances
du système ou sont supposées avoir la valeur maximale 1 en leurs centres.
Les xi;j centres des FBFs sont initialisées aux premières valeurs des entrées c-à-d
xi;j = xi;0 et les rayons des FBFs sont initialisés aux valeurs i;j = [max(xi;0(j ); j =
1; 2; : : : ; N ) , min(xi;0(j ); j = 1; 2; : : : ; N )]=MS où i = 1; 2; : : : ; n; j = 1; 2; : : : ; N et
MS est le nombre de FBFs qui est le plus souvent déni par les contraintes (M << N ).
Ensuite après cette phase d'initialisation il sut d'appliquer l'algorithme OLS pour
sélectionner les fonction FBFs les plus représentatives de N fonction FBFs déterminées
par la phase d'initialisation.
A la première itération, pour 1 i N on calcul
T T
!1(i) = pi; g1(i) = !1(i) d0 = !1(i) !1(i) (1.18)
k ,1
X (i) T (i) T (i)
!k(i) = pi , jk !j ; gk(i)
(i)
= !k d0= ! k !k (1.23)
j =1
2 T ,
[err](ki) = gk(i) !k(i) !k(i) = dT0 d0 (1.24)
On cherche alors
[err]ik = max [err](ki) ; 1 i N; i 6= i1 ; : : : ; i 6= ik,1
k
(1.25)
et on sélectionne
!k = !k(i ); gk = gk(i ) k k
(1.26)
On résout le système triangulaire suivant
A(M )(M ) = g(M ) S S S
(1.27)
où
2 3
1 12 (i2 )
13(i3 ) : : : 1(iM ) MS
6 (i ) 7
s
(i3 )
6 0 1 23 : : : 2 M 7 MS
4 0 0 : : : 1 M(i ,)1 M 5 MS
0 0 0 ::: 1
S S
avec
g(M ) = [g1; : : : ; gM ]T ; (M ) = [(1M ) ; : : : ; (MM ) ]T
S
S
S S S
S
(1.29)
Le développement en FBF nal est donné par
MS
X
f (x) = pi (x)(M
j
S ) (1.30)
j =1
où pi (x) est le sous ensemble nal des FBFs séléctionnées par l'algorithme OLS.
j
1.0 µ (x i )
0.0 - +
xi xi xi
1.0 µ (y i )
0.0 - +
yi yi yi
On voit bien ici que les deux types d'information sont codées dans la même base de
règle.
Étape 5: Création d'une cartographie basée sur la base de règle An de dé-
terminer la valeur réelle de la sortie du système oue on utilise la défuzzication suivante :
Premièrement pour une paires de données d'entrées/sorties, on combine les prémices
de la règle i en utilisant le produit pour obtenir le degrés d'appartenance de la
sortie iO = I1 (x1 )I2 (x2)où Oi représente la région de la sortie de la règle i et Iji
i i i
i=1 O
i
i
1.5.4.3 Conclusion
Cette procédure en cinq étapes peut être facilement étendue au cas multivariable. Avec
cette méthode il est possible de codé ensemble sous la forme d'un système ou unique
des données diérentes. L'avantage principale de cette méthode est la simplicité de mise
en ÷uvre
L.A.M.I.H.
c 98 Yann MORERE
28 Réseaux de Neurones et Systèmes Flous
1.5.5 Apprentissage de Système Flou par Agrégation avec le Plus
Proche Voisin
1.5.5.1 Introduction
Cette méthode permet la conguration d'un système ou de façon optimal par l'ap-
prentissage de ces paires d'entrées/sorties à n'importe quel degrés d'acuité. L'idée est très
simple, au départ on considère le système ou composé d'autant de règle oue qu'il y a
de paires d'entrées-sorties.
Ensuite il faut agrégé les données échantillonnées entre elles par la méthodes des plus
proches voisins. Il sut ensuite de choisir le meilleur des systèmes ous pour ce groupe
de données. On appelle cela aussi système ou adaptatif.
1.5.5.2 Système Flou Optimal
On suppose que pour N paires d'entrées/sorties (avec N assez petit), on peut
construire un système oue qui copie les paires d'entrées/sorties à la précision . Ce
système ou est donné par l'équation 1.31 :
PN 2
jx,x j
l=1 yl exp , 2
l
f (x) = PN
jx,x j 2
(1.31)
l=1 exp , 2
l
Il est à noter que est un paramètre que l'on peut faire varier. Si est très petit
alors l'erreur jf (x)l , ylj devient très petite, mais alors la fonction f (x) devient très
chaotique. Il faut donc choisir avec en vue le problème de minimisation de l'erreur et
de généralisation.
On peut remarquer que f (x) est une fonction de régression non-linéaire qui permet
une interpolation douce entre les données d'entrées/sorties.
1.5.5.3 Système Flou Optimal Adaptatif
On a pu voir que le système ou optimal utilise une règle pour chaque paire d'en-
trée/sortie. Ceci devient impraticable lorsque les données deviennent nombreuses. Il
convient alors d'utiliser les techniques d'agrégation de données et chaque groupe de don-
nées sera représenté par une règle bien choisie.
Méthode d'Agrégation
On commence avec la première paire d'entrée/sortie (x1 ; y1), on xe le centre du
groupe x1;0 en x1 et on xe A1(1) = y1 et B1 (1) = 1. On choisit un rayon r.
On suppose que lorsque l'on choisit la ke paire d'entrée/sortie il y a déjà M groupe
de données de créés avec M centres x1;0 ; x2;0 ; x3;0; : : : ; xM;0 . Il faut alors calculer
la distance de xk à tous les centres des groupes par jxk , xl;0j; l = 1; 2; : : : ; M et
on considère la plus petite distance jxk , xl ;0j qui corresponds au groupe le plus
proche de xk et celui dont le centre est xl ;0.
k
1. Si jxk , xl ;0j > r,on xe xk comme un nouveau centre de groupe xM +1;0 , et on
xe AM +1(k) = yk ; BM +1(k) = 1 et on conserve Al (k) = Al (k , 1); Bl (k) =
k
Bl (k , 1) pour l = 1; 2; : : : ; M
c 98 Yann MORERE le 17 mai 2001 à 08h 24
1.5 Apprentissage des Systèmes Flous 29
2. Si jxk , xl ;0j r on calcul de la manière suivante :
k
Al (k) = Al (k , 1) + yk
k k
(1.32)
Bl (k) = Bl (k , 1) + 1
k k
(1.33)
et on xe
Al (k) = Al (k , 1) (1.34)
Bl (k) = Bl (k , 1) (1.35)
pour l = 1; 2; : : : ; M avec l 6= lk .
Le système ou à l'étape k est calculer de la manière suivante :
PM j x,x 0j 2
l=1 Al (k) exp 2, l;
fk (x) = PM
jx,x 0 j 2
(1.36)
l=1 B l ( k ) exp , 2
l;
Bl (k) = , 1 Bl (k , 1) + 1
k k
(1.38)
et on xe alors
Al (k) = , 1 Al (k , 1) (1.39)
Bl (k) = , 1 Bl (k , 1) (1.40)
où peut être considérer comme une constante temporelle d'une fonction de retard
exponentiel.
L.A.M.I.H.
c 98 Yann MORERE
30 Réseaux de Neurones et Systèmes Flous
1.5.5.4 Conclusion
Il est donc possible de construire un système ou performant grâce à cette algorithme.
Ce type de système ou adaptatif est utilisé pour construire des régulateurs de systèmes
non-linéaires dynamiques.
fA
11
et
x1 ...
W1
fA
1n
Wi W
et agrégation
...
fA
21 ...
x2 Wp
...
et
fA
2n
Réseau
x1
y1
x2
y2 Système
... Flou Z1
xk ... Z2
Neuronal
y 1'
y 'k
Fig. 1.9 Exemple d'association en série d'un réseau de neurone et d'un système ou
Système
x1 Flou z1 Z1
x2
z2 Z2
...
xk
Réseau
x1
dz 1
x2
dz 2
...
xn+k
Neuronal
Fig. 1.10 Exemple d'association en parallèle d'un réseau de neurone et d'un système
ou
1.7.2 Perceptron et Système Flou Adaptatif
Un perceptron est un réseau de neurones multicouche à propagation de signal avant
Cf. 1.11 Le signal se propage donc de la couche d'entrées vers la couche de sortie. Les
x '1 x''1
x1 y1
Entrées Sorties
xn ym
'
xn1 ''
xn2
ω ij
y1
x1
yj
xn
ym
i;j
i;j
Qn
i
Dans le cas du second type de régulateur on utilise le système ou décrit par l'équation
i
suivante
c 98 Yann MORERE le 17 mai 2001 à 08h 24
1.8 Commande Floue Adaptative à Stabilité Indirecte de Systèmes
Non-Linéaires 37
2
PM Qn x ,x
l=1 yl i=1 al;i exp ,
i l;i
f (x) = (1.48)
l;i
2
PM Qn x ,x
l=1 i=1 al;i exp , i
l;i
l;i
8
>
< X_ (t) = P =1 ! (z(t))
r
i i
r
i
i
i
(1.49)
i
> P
: Y (t) = =1P!=1(z(!t))((zC(t))X (t))
r
i i i
r
i i
P
Posons h(t) tel que 0 hi (z(t)) = P !=1(!z(t())z(t)) 1 et ri=1 hi (z(t)) = 1
r
i
P
X_ (t) = Pri=1 hi (z(t)) (Ai X (t) + Biu(t)) (1.50)
Y (t) = ri=1 hi (z(t)) (CiX (t))
Cas du système libre Soit le système libre décrit par Pri=1 hi (z(t)) (AiX (t)) D'après
le théorème de Lyapunov soit V = X T PX on a alors
r
X ,
V_ = z(t))}[X T ATi P + PAi X ]
h| i ({z
i=1 | {z }
0 8i;<0
Pour assurer la stabilité il faut donc trouver P telle que 8i; 9 P ; ATi P + PAi < 0
L.A.M.I.H.
c 98 Yann MORERE
40 Réseaux de Neurones et Systèmes Flous
Régulateur
Flou Système
Fig. 1.14 Schéma d'un système complexe contrôlé par régulateur ou
,eT Qe < 0
c 98 Yann MORERE le 17 mai 2001 à 08h 24
1.8 Commande Floue Adaptative à Stabilité Indirecte de Systèmes
Non-Linéaires 43
Loi d'adaptation des paramètres du régulateur ou On dénit les relations sui-
vantes :
f = argmin 2
sup jf^(x j f ) , f (x)j (1.64)
x2U
f f
c
= argmin
g 2
sup jg^(x j g ) , g(x)j (1.65)
x2U
g g
c
où
f et
g sont les espaces de contraintes de f et g dénit tels que
f = ff : jf j Mf g (1.66)
g = fg : jg j Mg g (1.67)
On dénit alors l'erreur d'approximation minimum par
! = f^(x j f ) , f (x) + f^(x j g )g(x), uc (1.68)
On peut alors réécrire l'équation 1.61 :
h
e_ =ce + bcg(x)us + bc f^(x j f ) , f^(x j f )
, (1.69)
+ g^(x j g ) , g^(x j g ) uc , !
Si les systèmes ous f^ et g^ sont choisi de la forme de 1.46 on peut écrire :
h i
e_ =ce + bcg(x)us + bc! + bc Tf (x) + Tg (x)uc (1.70)
où f = f , f et g = g , g et (x) est le vecteurs des fonctions à bases oues.
On choisi alors la fonction candidate de Lyapunov V :
V = eT Pe +
1 Tf f +
1 Tg g
1 2
avec
1 > 0 et
2 > 0.
V_ = ,eT Q e + eT P bc Tf (x) + Tg (x)uc + !
+
2 Tf _f +
2 Tg _g , 2eT P bc g(x) us
1 2
V_ = ,e Q e |,2e P {zbc g(x) u}s + 2eT P bc !
T T
(1.71)
<0
_
2
1 f +
1 eT P bc (x)
T
+ f
+ 2
1 _g +
1 eT P bc (x) uc
T
g
_f = ,
1ePbc (x) (1.72)
_g = ,
2ePbc (x)uc
Ceci a pour eet d'annuler une partie de l'équation 1.71 qui devient :
. (n-1)
(ym ,ym ,...,ym )
u x - +
Procédé
(n)
x =f(x)+g(x)u,y=x
e
+ Régulateur flou
^ (n) ^ θ )
+ u c =[-f(x| θ f ) + y m + kT e] / g(x| g
θ f θg
θ f θg
I1* =0 I1* =1
Commande de Supervision
^ ^
0 u s =sign(eT P b c )[ |f| +f U+|guc | + |gUuc |]/g L
1.8.3.7 conclusion
An de mener à bien cette approche le vecteur d'état x doit être accessible. Dans le
même odre d'idée la commande u.
Si la connaissance a priori du système est très faible la convergence de l'algorithme
sera beaucoup plus longue.
Cette méthode permet de déterminer un régulateur ou adaptatif qui assure la stabi-
lité en boucle fermée.
c 98 Yann MORERE le 17 mai 2001 à 08h 24
1.8 Commande Floue Adaptative à Stabilité Indirecte de Systèmes
Non-Linéaires 45
,
V_ = eT Tc P + P c e + 2 eT Pbc f^(x j f ) , f (x)
,
+ g^(x j g ) , g(x) uc , g(x)us
(1.74)
T
, eT Q e +2 e Pbc f^(x j f ) + jf (x)j
+ g^(x j g )uc + jg(x) ucj , 2 eT Pbc g(x) us