Papport de TP1 Elabor´ e par: AATMANE Soukaina BENSOUDA KORACHI El Ghali MRANI

Papport de TP1 Elabor´ e par: AATMANE Soukaina BENSOUDA KORACHI El Ghali MRANI ALAOUI Ouafae KAYEYE Mlica Ornella Encadr´ e par: M. IBN ELHAJ Abstract Un neurone est un objet math´ ematique qui fut ` a l’origine introduit, entre autres choses, pour mod´ eliser le fonctionnement du cerveau humain dans le cadre d’´ etudes de la cognition. En interconnectant plusieurs neurones, nous formons alors un r´ eseau de neurones. Contents 1 Introduction 2 2 Code du Perceptron monocouche 3 2.1 Le code complet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 Explication du code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2.1 Bibliotheque numpy . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2.2 Classe Peceptron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2.3 Fonction d’activation . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2.4 Fonction de Pr´ ediction . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2.5 Algorithme d’apprentissage Perceptron . . . . . . . . . . . . . . . . . 5 References 6 1 Chapter 1 Introduction Ce qui rend ce perceptron Python unique, c’est que nous allons ˆ etre aussi explicites que possible avec nos noms de variables et nos formules, et que nous allons tout passer en revue, ligne par ligne, avant de devenir intelligents, d’importer un tas de biblioth` eques et de refactoriser. Nous allons commencer par un petit r´ ecapitulatif et un r´ esum´ e. 2 Chapter 2 Code du Perceptron monocouche 2.1 Le code complet En utilisant Spyder,Voila le code: En executant ce dernier: 3 2.2 Explication du code 2.2.1 Bibliotheque numpy numpy est une biblioth` eque num´ erique apportant le support efficace de larges tableaux multidimensionnels, et de routines math´ ematiques de haut niveau (fonctions sp´ eciales, alg` ebre lin´ eaire, statistiques, etc.). La biblioth` eque NumPy permet d’effectuer des calculs num´ eriques avec Python. Elle introduit une gestion facilit´ ee des tableaux de nombres. 2.2.2 Classe Peceptron nous cr´ eons une nouvelle classe Perceptron. Cela nous permettra, entre autres, de maintenir l’´ etat afin d’utiliser notre perceptron apr` es qu’il ait appris et attribu´ e des valeurs ` a ses poids. c l a s s Perceptron ( object ) : def i n i t ( s e l f , input size , Ir =1, epochs =100): s e l f .W = np . zeros ( i n p u t s i z e +1) s e l f . epochs = epochs s e l f . Ir= Ir np.zeros : Renvoie un nouveau tableau de forme et de type donn´ es, rempli de z´ eros. epochs: le nombre d’´ epoques que nous allons permettre ` a notre algorithme d’apprentissage de parcourir avant de se terminer, et il est fix´ e par d´ efaut ` a 100. Ir : est utilis´ e pour d´ eterminer l’ampleur de la variation de nos poids ` a chaque ´ etape par le biais de nos donn´ ees d’entraˆ ınement, et est fix´ e par d´ efaut ` a 1. 4 nous d´ epla¸ cons notre biais dans le vecteur de poids, afin de ne pas avoir ` a le traiter ind´ ependamment de nos autres poids ? Ce biais est le +1 de notre vecteur de poids, et est appel´ e le poids du biais. 2.2.3 Fonction d’activation C’est notre fonction de marche pied. Cela se lit comme un pseudo-code : si la somme du haut est sup´ erieure ` a 0, nous stockons 1 dans la variable activation, sinon, activation = 0, alors nous renvoyons cette valeur. def a c t i v a t i o n f n ( s e l f , x ) : return (x>=0). astype (np . f l o a t 3 2 ) 2.2.4 Fonction de Pr´ ediction La m´ ethode de pr´ ediction prend un argument, les entr´ ees, qu’elle attend ˆ etre un tableau/vecteur numpy d’une dimension ´ egale au param` etre x avec lequel le perceptron a ´ et´ e initialis´ e sur la ligne 7. def predict ( s e l f , x ) : z = s e l f .W.T. dot (x) a = s e l f . a c t i v a t i o n f n ( z ) return a C’est l` a qu’intervient la fonction de produit numpy dot, qui fonctionne exactement comme on peut s’y attendre. np. dot(a, b) == a - b. Il est important de se rappeler que les produits de points ne fonctionnent que si les deux vecteurs sont de dimension ´ egale. [ 1, 2, 3] - [1, 2, 3, 4] n’est pas valable. Les choses deviennent un peu d´ elicates ici parce que nous avons ajout´ e une dimension suppl´ ementaire ` a notre vecteur self. w pour agir comme un biais. 2.2.5 Algorithme d’apprentissage Perceptron Ensuite, nous d´ efinissons la m´ ethode du fit, qui prend deux arguments : les donn´ ees d’entrainements et la sortie souhait´ eeet .Cette derni` ere devrait ˆ etre une liste compos´ ee de vecteurs numpy ` a utiliser comme entr´ ees par la m´ ethode de pr´ ediction et cens´ e ˆ etre un 5 tableau num´ erique des valeurs de sortie attendues pour chacune des entr´ ees correspon- dantes dans la liste des donn´ ees d’entrainements . def f i t ( s e l f ,X, d ) : f o r i in range ( s e l f . epochs ) : f o r i in range (d . shape [ 0 ] ) : x=np . i n s e r t (X[ i ] , 0 , 1 ) y=s e l f . predict (x) e=d [ i ]−y s e l f .W = s e l f .W + s e l f . Ir ∗e ∗x Nous d´ efinissons la m´ ethode du fit, qui prend deux arguments : X et d. X devrait ˆ etre une liste compos´ ee de vecteurs numpy ` a utiliser comme entr´ ees par la m´ ethode de pr´ ediction, Et cens´ e ˆ etre un tableau num´ erique des valeurs de sortie attendues pour chacune des entr´ ees correspondantes dans la liste X. Conclusion 6 uploads/S4/ rapport-tp1-deep-learning.pdf

  • 31
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Jul 30, 2021
  • Catégorie Law / Droit
  • Langue French
  • Taille du fichier 0.3436MB