Vous êtes sur la page 1sur 15

RESEAUX

de
NEURONES
A.M apsim.ma
1) Réseau de neurone naturel

*) Représentation d’un neurone

La figure ci-dessous représente les principaux constituants d’un neurone naturel

Figure 1 : Constituant d’un neurone naturel

*) Plusieurs neurones

La figure 2, représente les connexions entre plusieurs neurons naturels, le neurone 1 envoie les
informations, par ces dendrites qui représentent les sorties du neurone, aux synapses qui correspondent
aux entrées des autres neurones.

Figure 2: Connexions entre plusieurs neurones

Page 2 sur 15
A.M apsim.ma
2) Neurone artificiel

2-1) Modèle

Un neurone artificiel, nommé : un perceptron, est inspiré du neurone naturel, la figure 3 représente un
modèle de représentation, le 1er perceptron apparait en 1956.

Le modèle représente un neurone, d’entrées A et B, et de sortie y ; un poids W1 pour l’entrée X1, et


W2 pour X2, en plus d’un poids (biais) C du noyau du neurone.

C
A

Figure 3 : Représentation d’un neurone artificiel.

Exemple : Le modèle représente un neurone, d’entrées X1 et X2, et de sortie Z ; en plus d’un poids
W1 pour l’entrée X1, un poids W2 pour X2 et un poids b du noyau.

X1
W1
Z= X1*W1+X2*W2+b
Z
b
X2
W2

Pour W1=0,3 ; W2= 0,2 et b= -0,4

 Pour X1=1 X2=0 on retrouve : Z = -0,1


 Pour X1=0 X2=1 on retrouve : Z = -0,2
 Pour X1=0 X2=0 on retrouve : Z = -0,4
 Pour X1=1 X2=1 on retrouve : Z = +0,1

2-2) Neurone avec fonction d’activation

2-2-1) Introduction

Le signal envoyé par le neurone actuel de sortie Z, vers le neurone suivant doit être 1 ou 0, donc la
valeur de Z qui est quelconque, doit être converti en 0 ou 1, ce qui nécessite de rajouter une fonction
appelée : Fonction d’activation qui spécifie un seuil pour obtenir la sortie correspondante.

Page 3 sur 15
A.M apsim.ma
La figure 4, présente un modèle de neurone avec une fonction d’activation (Act.) de type Heaviside, le
résultat attendu est binaire (2 catégories).

Si z ≥0 ==> Y=1

Si z <0 ==> Y=0

Act.
b
A

Figure 4 : Modèle d’un perceptron avec la fonction activation.

Exemple 1 :

Z= X1*W1+X2*W2+b
X1
W1

z Y =1 si z >0
b Act.
X2 . Y=0 si z <0
W2

Calculer Y pour les 4 cas de X1 et X2.

avec W1= 0.3, W2= 0.2 b=-0.4

====> C’est la fonction ‘’ ET’’

Exemple 2 : Calculer Y pour les 4 cas de X1 et X2 avec W1= 0,4 , W2= 0,5, b= -0,3

C’est la fonction ‘’OU’’

2-2-2) Autres fonctions d’activation

Dans le réseau artificiel quelques sorties nécessitent d’autres valeurs différentes de 0 et 1, par suite on
peut placer d’autres fonctions d’activation.

Page 4 sur 15
A.M apsim.ma

Figure 5: Principales fonctions d’activation du réseau de neurone artificiel

Figure 6: Autres fonctions d’activation du réseau de neurone artificiel

Page 5 sur 15
A.M apsim.ma
2-2-3) Fonction d’activation SIGMOIDE (probabilité)
1
Fonction d’activation Sigmoide est : 𝜎(𝑧) =
1+𝑒 −𝑧

Elle est appliquée au résultat Z du neurone, pour donner toujours un résultat binaire (0 ou 1) avec une
certaine probabilité, plus que la probabilité est grande plus le résultat est proche de la valeur 1.

Z= X1*W1+X2*W2+b
X1
W1

b z 1
Y =1 si 𝜎(𝑧)>0,5 ou P(Y=1) >50%
𝜎(𝑧) =
1 + 𝑒 −𝑧
X2 Y=0 si 𝜎(𝑧) < 0,5 ou P(Y=1) < 50%
W2

 X1=1 X2=1 W1=0,3 W2= 0,2 b=-0,4


On retrouve Z= +0,1
1
===> 𝜎(𝑧) = =0,52= 52%
1+𝑒 −𝑧
===> P(Y=1) =52% >50% donc Y=1 avec une probabilité de 52%

NB : Le résultat n’est pas loin de la limite de décision, On aura aussi P(Y=0) = 1- P(Y=1)= 48%

 X1=1 X2=0 W1=0,3 W2= 0,2 b= -0,4


On retrouve Z= -0,1
1
===> 𝜎(𝑧) = =0,47
1+𝑒 −𝑧
===> P(Y=1) = 47% pour être à 1 Ou P(Y=0) =1- P(Y=1) = 53%
donc y= 0 puisque la probabilité P(Y=0) > 50%

 X1=0 X2=1 W1=0,3 W2= 0,2 b=-0,4


On retrouve Z= -0,2
1
===> 𝜎(𝑧) = = 0,45 = 47%
1+𝑒 −𝑧
===> P(Y=1)= 45% pour être à 1
ou P(Y=0) = 1- P(Y=1) = 55% donc y= 0

 X1=0 X2=0 W1=0,3 W2= 0,2 b=-0,4


On retrouve Z= -0,4
1
===> 𝜎(𝑧) = = 0,40 = 40%
1+𝑒 −𝑧
===> P(Y=1) = 40% pour être à 1

ou P(Y=0) = 1- P(Y=1) = 60% donc y= 0

Page 6 sur 15
A.M apsim.ma
2-3) Fonction coût –LogLoss-

Dans le cas d’un seul neurone :

X1
W1

b z
1 σ(z)
X2 1 + 𝑒 −𝑧
W2

Propagation vers l’avant (Forward propagation)

Z= X1*W1+X2*W2+b

1
𝜎(𝑧) =
1 + 𝑒 −𝑧
L’erreur est : 𝜀 = 𝑦 − 𝜎(z) pour y =1 et 𝜀 = 𝜎(z) pour y=0

y=1

σ(Z) ε

y=0

Figure 7 : Erreur par rapport à la probabilité P(Y=0) et P(Y=1)

On a : 𝜎(z) donné par la probabilité par rapport à P(Y=1) donc la probabilité générale est donnée par la
formule de Bernouilli pour y=1 et y=0:

𝑃(𝑌 = 𝑦) = 𝜎(𝑧)𝑦 ∗ (1 − 𝜎(𝑧))(1−𝑦)

𝑜𝑛 𝑣é𝑟𝑖𝑓𝑖𝑒,

𝑝𝑜𝑢𝑟 𝑦 𝑠𝑜𝑢ℎ𝑎𝑖𝑡é = 1: 𝑃(𝑌 = 1) = 𝜎(𝑧)1

𝑝𝑜𝑢𝑟 𝑦 𝑠𝑜𝑢ℎ𝑎𝑖𝑡é = 0: 𝑃(𝑌 = 0) = (1 − 𝜎(𝑧))(1−0)

Minimiser l’erreur revient à maximiser la probabilité de toutes les entrées


𝑚
𝑦𝑖
𝑃(𝑌 = 𝑦𝑖) = ∏ 𝜎(𝑧)𝑖 ∗ (1 − 𝜎(𝑧)𝑖 )(1−𝑦𝑖 )
𝑖=1
Page 7 sur 15
A.M apsim.ma
𝑃𝑟𝑜𝑏𝑙è𝑚𝑒𝑠:

∗) 𝑃𝑜𝑢𝑟 𝑚 𝑡𝑟è𝑠 𝑔𝑟𝑎𝑛𝑑, 𝑙𝑒 𝑝𝑟𝑜𝑑𝑢𝑖𝑡 𝑡𝑒𝑛𝑑 𝑣𝑒𝑟𝑠 0.

∗) 𝐶′𝑒𝑠𝑡 𝑢𝑛𝑒 𝑓𝑜𝑛𝑐𝑡𝑖𝑜𝑛 𝑛𝑜𝑛 𝑐𝑜𝑛𝑣𝑒𝑥𝑒, donc il existe plusieurs minimums locaux (dû à l’exponentielle
de la fonction d’activation), on conclut qu’on ne peut pas déterminer les paramètres qui minimisent la
fonction coût.

Figure 8: Courbe avec un minimum local et un minimum global.

Solution : c’est la fonction Log_Loss notée L

𝐿𝑜𝑔 (𝑃(𝑌 = 𝑦𝑖)) = 𝐿𝑜𝑔(∏ 𝜎(𝑧𝑖 )𝑦𝑖 ∗ (1 − 𝜎(𝑧𝑖 ))(1−𝑦𝑖 ) )

𝐿 = 𝐿𝑜𝑔𝐿𝑜𝑠𝑠 = −1⁄𝑚 ∗ ∑(𝑦𝑖 ∗ 𝑙𝑜𝑔(𝜎(𝑧𝑖 )) + (1 − 𝑦𝑖 ) ∗ log(1 − 𝜎(𝑧𝑖 )))


𝑖=1

Le signe moins pour minimiser la fonction Σ et 1/m pour la normaliser.

Idéalement LogLoss L, tend vers 1.

Rappel : 𝑍 = 𝑋1 ∗ 𝑊1 + 𝑋2 ∗ 𝑊2 + 𝑏 𝑒𝑡 𝜎(𝑧) = 1 ; y souhaité : y = 0 ou 1


1+𝑒−𝑧
2-4) Descente du gradient

On utilise la descente du gradient pour déterminer les meilleurs paramètres W1, W2 et b qui
minimisent la fonction coût.
𝜕𝐿
𝑊1𝑡+1 = 𝑊1𝑡 − ∝. 𝜕𝑊1 ∝: 𝑡𝑎𝑢𝑥 (𝑣𝑖𝑡𝑒𝑠𝑠𝑒)𝑑 ′ 𝑎𝑝𝑝𝑟𝑒𝑛𝑡𝑖𝑠𝑠𝑎𝑔𝑒 𝑜𝑢 𝑙𝑒𝑎𝑟𝑛𝑖𝑛𝑔 𝑟𝑎𝑡𝑒

𝜕𝐿
𝑊1 = 𝑊1− ∝.
𝜕𝑊1
𝜕𝐿
𝑊2 = 𝑊2− ∝.
𝜕𝑊2

Page 8 sur 15
A.M apsim.ma
𝜕𝐿
𝑏 = 𝑏− ∝.
𝜕𝑏
𝜕𝐿 𝜕𝐿 𝜕𝐿
Calcul de , ,
𝜕𝑊1 𝜕𝑊2 𝜕𝑏

𝜕𝐿 𝜕𝐿 𝜕𝜎 𝜕𝑍
= . .
𝜕𝑊1 𝜕𝜎 𝜕𝑍 𝜕𝑊1
Avec :

*) 𝑂𝑛 𝑎: 𝐿 = −1⁄𝑚 ∗ ∑𝑚
𝑖=1(𝑦𝑖 ∗ 𝑙𝑜𝑔(𝜎(𝑧𝑖 )) + (1 − 𝑦𝑖 ) ∗ log(1 − 𝜎(𝑧𝑖 )))

𝜕𝐿 𝑦 1−𝑦𝑖
𝐷𝑜𝑛𝑐 = −1⁄𝑚 ∗ ∑ ( 𝑖 − )
𝜕𝜎 𝜎(𝑧𝑖 ) 1−𝜎(𝑧𝑖 )

*) 𝑂𝑛 𝑎: 𝜎(𝑧) =
1
1+𝑒−𝑧
𝜕𝜎 +𝑒 −𝑍 1 + 𝑒 −𝑍 1 1 1
= = − = −
𝜕𝑍 (1 + 𝑒 −𝑍 )2 (1 + 𝑒 −𝑍 )2 (1 + 𝑒 −𝑍 )2 (1 + 𝑒 −𝑍 ) (1 + 𝑒 −𝑍 )2

𝜕𝜎
𝐷𝑜𝑛𝑐 = 𝜎(𝑍) − 𝜎(𝑍)2 = 𝜎(𝑍). (1 − 𝜎(𝑍))
𝜕𝑍
*) On a : 𝑍 = 𝑋1 ∗ 𝑊1 + 𝑋2 ∗ 𝑊2 + 𝑏

𝜕𝑍
𝐷𝑜𝑛𝑐 = 𝑋1
𝜕𝑊1

𝜕𝐿 𝑦𝑖 1 − 𝑦𝑖
𝐷′ 𝑜𝑢 = −1⁄𝑚 ∗ ∑ ( − ) . 𝜎(𝑧𝑖 ). (1 − 𝜎(𝑧𝑖 ). 𝑋1
𝜕𝑊1 𝜎(𝑧𝑖 ) 1 − 𝜎(𝑧𝑖 )
𝜕𝐿
= −1⁄𝑚 ∗ ∑ (𝑦𝑖 . (1 − 𝜎(𝑧𝑖 ))) − (1 − 𝑦𝑖 ). 𝜎(𝑧𝑖 )). 𝑋1
𝜕𝑊1

𝜕𝐿 𝑚 𝑚
𝐹𝑖𝑛𝑎𝑙𝑒𝑚𝑒𝑛𝑡: = −1⁄𝑚 ∗ ∑ (𝑦𝑖 − 𝜎(𝑧𝑖 )). 𝑋1 = 1⁄𝑚 ∗ ∑ (𝜎(𝑧𝑖 ) − 𝑦𝑖 ). 𝑋1
𝜕𝑊1 𝑖=1 𝑖=1

𝜕𝐿 𝑚 𝑚
𝑑𝑒 𝑚ê𝑚𝑒: = −1⁄𝑚 ∗ ∑ (𝑦𝑖 − 𝜎(𝑧𝑖 )). 𝑋2 = 1⁄𝑚 ∗ ∑ (𝜎(𝑧𝑖 ) − 𝑦𝑖 ). 𝑋2
𝜕𝑊2 𝑖=1 𝑖=1

𝜕𝐿 𝑚 𝑚
𝑎𝑢𝑠𝑠𝑖: = −1⁄ ∗ ∑ (𝑦𝑖 − 𝜎(𝑧𝑖 )) = 1⁄𝑚 ∗ ∑ (𝜎(𝑧𝑖 ) − 𝑦𝑖 )
𝜕𝑏 𝑚
𝑖=1 𝑖=1

Dans le programme on choisit aléatoirement les hyper-paramètres W1, W2 et b puis on fait une mise à
jour (des boucles) par la descente du gradient jusqu’à la détermination des meilleurs paramètres qui
minimisent le coût.
𝜕𝐿
𝑊1 = 𝑊1− ∝.
𝜕𝑊1
𝜕𝐿
𝑊2 = 𝑊2− ∝.
𝜕𝑊2
Page 9 sur 15
A.M apsim.ma
𝜕𝐿
𝑏 = 𝑏− ∝.
𝜕𝑏

2-5) Descente du gradient sous forme matricielle


𝑋1 𝑋11 𝑋12 ⋯ 𝑋1𝑚
Les données : 𝑋 = [ ]=[ ] ; 𝑦 = [𝑦1 𝑦2 ⋯ 𝑦𝑚] ;
𝑋2 𝑋21 𝑋22 ⋯ 𝑋2𝑚
𝑳𝒆𝒔 𝒉𝒚𝒑𝒆𝒓𝒑𝒂𝒓𝒂𝒎è𝒕𝒓𝒆𝒔: 𝑊 = [𝑊1 𝑊2]; 𝑏 = [𝑏]

Le modèle :

𝑍𝑖 = 𝑊1 ∗ 𝑋1𝑖 + 𝑊2 ∗ 𝑋2𝑖 + 𝑏

== > 𝑍1 = 𝑊1. 𝑋11 + 𝑊2. 𝑋21 + 𝑏

𝑍2 = 𝑊1. 𝑋12 + 𝑊2. 𝑋22 + 𝑏

𝑗𝑢𝑠𝑞𝑢′ à 𝑍𝑚 = 𝑊1. 𝑋1𝑚 + 𝑊2. 𝑋2𝑚 + 𝑏

Qui donne sous forme matricielle : 𝒁 = 𝑾. 𝑿 + 𝒃 de dimensions [1*m]

Fonction coût :

𝑳 = −𝟏⁄𝒎 ∗ ∑𝒎
𝒊=𝟏(𝒚𝒊 ∗ 𝒍𝒐𝒈(𝝈(𝒛𝒊 )) + (𝟏 − 𝒚𝒊 ) ∗ 𝒍𝒐𝒈(𝟏 − 𝝈(𝒛𝒊 )))

Le résultat est un scalaire.

Vérification:

𝑦1 𝑙𝑜𝑔(𝜎(𝑧1 )) 1 − 𝑦1 (1 − 𝑙𝑜𝑔(𝜎(𝑧1 ))
𝑦2 𝑙𝑜𝑔(𝜎(𝑧2 )) 1 − 𝑦2 (1 − 𝑙𝑜𝑔(𝜎(𝑧2 ))
𝐿 = −1⁄𝑚 ∗ ∑𝑚
𝑖=1 ⋮ ∗ ⋮ + ⋮ ∗ ⋮
⋮ ⋮ ⋮ ⋮
( [ 𝑦𝑚] [ 𝑙𝑜𝑔(𝜎(𝑧𝑚 ))] [ 1 − 𝑦𝑚] [ (1 − 𝑙𝑜𝑔(𝜎(𝑧𝑚 ))])

𝑦1 ∗ 𝑙𝑜𝑔(𝜎(𝑧1 )) (1 − 𝑦1)(1 − 𝑙𝑜𝑔(𝜎(𝑧1 ))


𝑚
𝑦2 ∗ 𝑙𝑜𝑔(𝜎(𝑧2 )) (1 − 𝑦2)(1 − 𝑙𝑜𝑔(𝜎(𝑧2 ))
= −1⁄𝑚 ∗ ∑ ⋮ + ⋮
𝑖=1 ⋮ ⋮
( [𝑦𝑚 ∗ 𝑙𝑜𝑔(𝜎(𝑧𝑚 ))] [ (1 − 𝑦𝑚)(1 − 𝑙𝑜𝑔(𝜎(𝑧𝑚 ))])

𝐿 = −1⁄𝑚 ∗ [(𝑦1 ∗ 𝑙𝑜𝑔(𝜎(𝑧1 )) + (1 − 𝑦1)(1 − 𝑙𝑜𝑔(𝜎(𝑧1 )) + (𝑦2 ∗ 𝑙𝑜𝑔(𝜎(𝑧2 )) + (1 − 𝑦2)(1


− 𝑙𝑜𝑔(𝜎(𝑧2 )) + ⋯ + (𝑦𝑚 ∗ 𝑙𝑜𝑔(𝜎(𝑧𝑚 )) + (1 − 𝑦𝑚)(1 − 𝑙𝑜𝑔(𝜎(𝑧𝑚 ))]

Donc c’est un scalaire

Descente du gradient:
𝜕𝐿
On avait : 𝜕𝑊1 = −1⁄𝑚 ∗ ∑𝑚 1 𝑚
𝑖=1(𝑦𝑖 − 𝜎(𝑧𝑖 )). 𝑋1 = ⁄𝑚 ∗ ∑𝑖=1(𝜎(𝑧𝑖 ) − 𝑦𝑖 ). 𝑋1

𝜕𝐿 𝑚 𝑚
𝑒𝑡 = −1⁄𝑚 ∗ ∑ (𝑦𝑖 − 𝜎(𝑧𝑖 )). 𝑋2 = 1⁄𝑚 ∗ ∑ (𝜎(𝑧𝑖 ) − 𝑦𝑖 ). 𝑋2
𝜕𝑊2 𝑖=1 𝑖=1

Page 10 sur 15
A.M apsim.ma
𝜕𝐿 𝑚 𝑚
𝑒𝑡 = −1⁄𝑚 ∗ ∑ (𝑦𝑖 − 𝜎(𝑧𝑖 )) = 1⁄𝑚 ∗ ∑ (𝜎(𝑧𝑖 ) − 𝑦𝑖 )
𝜕𝑏 𝑖=1 𝑖=1

Sous forme matricielle et 𝑝𝑢𝑖𝑠𝑞𝑢𝑒 𝑙𝑒𝑠 ℎ𝑦𝑝𝑒𝑟𝑝𝑎𝑟𝑎𝑚è𝑡𝑟𝑒𝑠 𝑠𝑜𝑛𝑡: 𝑊 = [𝑊1 𝑊2]; 𝑏 = [𝑏]

on aura :

𝜕𝐿 𝜕𝐿
= 1⁄𝑚 ∗ (𝜎(𝑧) − 𝑦). 𝑋 𝑇 ; 𝑀𝑎𝑡𝑟𝑖𝑐𝑒 𝑑𝑒 𝑑𝑖𝑚𝑒𝑛𝑠𝑖𝑜𝑛𝑠 [2 ∗ 𝑚]
𝜕𝑊 𝜕𝑊
𝑎𝑣𝑒𝑐 𝑋 𝑇 : 𝑡𝑟𝑎𝑛𝑠𝑝𝑜𝑠é𝑒 𝑑𝑒 𝑙𝑎 𝑚𝑎𝑡𝑟𝑖𝑐𝑒 𝑋

𝜕𝐿 𝜕𝐿
= 1⁄𝑚 ∗ (𝜎(𝑧) − 𝑦) ; 𝑀𝑎𝑡𝑟𝑖𝑐𝑒 𝑑𝑒 𝑑𝑖𝑚𝑒𝑛𝑠𝑖𝑜𝑛𝑠 [1 ∗ 𝑚]
𝜕𝑏 𝜕𝑏
Retropropagation (Backpropagation): Propagation vers l’arrière

Consiste à retrouver la méthode de descente du gradient, les meilleurs paramètres W et b pour


minimiser la fonction coût.

Dans le programme on choisit aléatoirement les hyper-paramètres W1, W2 et b puis on fait une mise à
jour (des boucles) par la descente du gradient jusqu’à la détermination des meilleurs paramètres qui
minimisent le coût.
𝜕𝐿
𝑊1 = 𝑊1− ∝.
𝜕𝑊1
𝜕𝐿
𝑊2 = 𝑊2− ∝.
𝜕𝑊2
𝜕𝐿
𝑏 = 𝑏− ∝.
𝜕𝑏

3) Réseau à plusieurs neurones

3-1) Réseau à 3 neurones

W11 Z1 Z1=X1*W11+X2*W12+b1
Z3 = Z1*W31+Z2*W41+b3
X1 b1 W31 =(X1*W11+X2*W21+b1)*W31+(
Z3 X1*W12+X2*W22+b2)*W32+b3
W21 b3

W12
W32 =
X2 b2
W22 Z2=X1*W21+X2*W22+b2
Z2

3-2) Réseau à plusieurs neurones

Page 11 sur 15
A.M apsim.ma
Plus que le nombre de neurones augmente et le nombre des couches intermédiaires (cachées)
augmentent, plus on peut classifier des systèmes complexes.

Figure 9: réseau de neurones à plusieurs couches cachées (Hidden layer).

Page 12 sur 15
A.M apsim.ma
Figure 10: exemple d’application de réseau de neurones.

4) Généralisation matricielle pour un réseau de neurones quelconque

c : nombre de couche du réseau (Hidden Layer), m: étiquettes (cas)

Matrices: X W1, B1 Z1 W2, B2 Z2 W3, B3 Y

Dimensions:[no] [n1*no], n1 n1 [n2*n1], n2 n2 [ n3*n2], n3=ns ns

W11
X1 b1 W’’11 b1 Y1
W’11
W21 b1

W12 W’12 b2
X2 b2
W22 bn2
Yns
X3 bn3
bn1

Xno

Entrée 1ère couche 2ème couche Couche de sortie

Le nombre de couches cachées est : ‘’c’’ (dans cette exemple c=2)

𝑋1 𝑋11 𝑋12 ⋯ 𝑋1𝑚 𝑦11 𝑦12 ⋯ 𝑦1𝑚


𝑋2 𝑋21 𝑋22 ⋯ 𝑋2𝑚 𝑦21 𝑦22 ⋯ 𝑦2𝑚
Données : 𝑋 = ⋮ = ⋮ ⋮ ⋮ ; 𝑦=[ ];
⋮ ⋮ ⋮
⋮ ⋮ ⋮ ⋮
[𝑋𝑛𝑜] [𝑋𝑛𝑜1 𝑋𝑛𝑜2 ⋯ 𝑦𝑛𝑠1 𝑦𝑛𝑠2 ⋯ 𝑦𝑛𝑠𝑚
𝑋𝑛𝑜𝑚]
𝐋𝐞𝐬 𝐡𝐲𝐩𝐞𝐫𝐩𝐚𝐫𝐚𝐦è𝐭𝐫𝐞𝐬: 𝐖 𝐞𝐭 𝐁

( Dans les programmes : Initialisation des matrices [W] et [B] par des valeurs aléatoires)

On possède ‘’c’’ couches cachées, en plus de la matrice d’entrée et la matrice de sortie.

𝑊11 𝑊12 ⋯ 𝑊1𝑛𝑜 𝑊′11 𝑊′12 ⋯ 𝑊′1𝑛1


𝑊21 𝑊22 ⋯ 𝑊2𝑛𝑜 𝑊′21 𝑊′22 ⋯ 𝑊′2𝑛1
𝑊1 = ; 𝑊2 = ;……

[𝑊𝑛11 𝑊𝑛12 ⋯ 𝑊𝑛1𝑛𝑜] [𝑊′𝑛21 𝑊′𝑛22 ⋯ 𝑊′𝑛2𝑛1]


De dim : [n1*no] De dim : [n2*n1]

Wc=[……………………………..] De dim: [nc*nc-1]

Page 13 sur 15
A.M apsim.ma
𝑏1 𝑏′1 𝑏′′1
𝑏2 𝑏′2 𝑏′′2
𝐵1 = ; 𝐵2 = ; … . . 𝐵𝑐 =

[𝑏𝑛1] [𝑏 ′ 𝑛2] [𝑏′′𝑛𝑐 ]

1
Modèle : [𝒁] = [𝑾]. [𝑿] + [𝑩] et 𝜎 (𝑧) =
1+𝑒−𝑧
Pour la matrice Z1 : : [𝒁𝟏] = [𝑾𝟏]. [𝑿] + [𝑩𝟏]

Pour la matrice Z2 : : [𝒁𝟐] = [𝑾𝟐]. [𝝈(𝒁𝟏)] + [𝑩𝟐]

…..
𝟏
En général pour une couche C: [𝒁𝒄] = [𝑾𝒄]. [𝝈(𝒁𝒄 − 𝟏)] + [𝑩𝒄] 𝐞𝐭 𝝈(𝒁𝒄) =
𝟏+𝒆−𝒁𝒄

LogLoss : [𝑳] = −𝟏⁄𝒎 ∗ ∑𝒎


𝒊=𝟏(𝒀 ∗ 𝒍𝒐𝒈(𝝈(𝒛)) + (𝟏 − 𝒀) ∗ 𝐥𝐨𝐠(𝟏 − 𝝈(𝒛)))

Descente du gradient:

Couche c:
𝜕𝐿 𝜕𝐿
= 1⁄𝑚 ∗ (𝜎(𝑍𝑐) − 𝑌). 𝜎(𝑍𝑐)𝑇 ; 𝑀𝑎𝑡𝑟𝑖𝑐𝑒 𝑑𝑒 𝑑𝑖𝑚𝑒𝑛𝑠𝑖𝑜𝑛𝑠 [𝑛𝑐 ∗ 𝑛𝑐 − 1]
𝜕𝑊𝑐 𝜕𝑊𝑐

𝜕𝐿 𝜕𝐿
= 1⁄𝑚 ∗ ∑(𝜎(𝑍𝑐) − 𝑌) ; 𝑀𝑎𝑡𝑟𝑖𝑐𝑒 𝑑𝑒 𝑑𝑖𝑚𝑒𝑛𝑠𝑖𝑜𝑛𝑠 [1 ∗ 𝑛𝑐]
𝜕𝐵𝑐 𝜕𝐵𝑐

Optimisation : Retropropagation (Backpropagation) :


𝜕𝐿
Mise à jour de : 𝑊𝑐 = 𝑊𝑐− ∝. 𝜕𝑊𝑐

𝜕𝐿
𝐵𝑐 = 𝐵𝑐− ∝. 𝜕𝐵𝑐

Page 14 sur 15
A.M apsim.ma

Références :

https://moodle.insa-rouen.fr/mod/resource/view.php?id=1916

https://www.di.ens.fr/eloise.berthier/hs.pdf

http://cazencott.info/dotclear/public/lectures/IntroML_Azencott.pdf

https://machinelearnia.com/machine-learning/

2021-05-cours-Azencott – 1

Petr_Dokladal_COVID-19_classification

Python

https://intellipaat.com/blog/tutorial/python-tutorial/numpy-cheat-sheet/ Pour les calculs, y compris,


calculs Matriciels, Utilisation des tableaux…

https://intellipaat.com/blog/tutorial/python-tutorial/python-matplotlib/ pour traçage des courbes en 2D


/ 3D

https://intellipaat.com/blog/tutorial/python-tutorial/python-list-comprehension/ Pour les listes..

https://intellipaat.com/blog/tutorial/python-tutorial/python-scipy/ Calcul scientifique : Intégrals..

https://intellipaat.com/blog/tutorial/python-tutorial/python-cheat-sheet-basics/ Manipulation des


données

https://intellipaat.com/blog/tutorial/python-tutorial/pandas-cheat-sheet/ Librairie for Data

https://intellipaat.com/blog/tutorial/python-tutorial/scikit-learn-cheat-sheet/ Pour IA / Machine


Learning

https://realpython.com/linear-regression-in-python/

https://www.w3schools.com/python/python_ml_multiple_regression.asp

https://www.w3schools.com/python/pandas/default.asp tutorial Pandas

https://fr.acervolima.com/resolution-de-la-regression-lineaire-en-python/ Algorithmes python détaillés

https://www.javatpoint.com/k-nearest-neighbor-algorithm-for-machine-learning
Page 15 sur 15

Vous aimerez peut-être aussi