0% ont trouvé ce document utile (0 vote)
131 vues8 pages

Rapport tp1 Deep Learning

Ce résumé décrit un code Python pour un perceptron monocouche. Le code contient une classe Perceptron avec des méthodes pour l'activation, la prédiction et l'apprentissage en utilisant l'algorithme du perceptron. Le document explique en détail chaque partie du code.

Transféré par

M MAX
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
131 vues8 pages

Rapport tp1 Deep Learning

Ce résumé décrit un code Python pour un perceptron monocouche. Le code contient une classe Perceptron avec des méthodes pour l'activation, la prédiction et l'apprentissage en utilisant l'algorithme du perceptron. Le document explique en détail chaque partie du code.

Transféré par

M MAX
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 8

Papport de TP1

Elaboré par:

AATMANE Soukaina

BENSOUDA KORACHI El Ghali

MRANI ALAOUI Ouafae

KAYEYE Mlica Ornella

Encadré par:
M. IBN ELHAJ
Abstract

Un neurone est un objet mathématique qui fut à l’origine introduit, entre autres choses,

pour modéliser le fonctionnement du cerveau humain dans le cadre d’études de la cognition.

En interconnectant plusieurs neurones, nous formons alors un réseau 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édiction . . . . . . . . . . . . . . . . . . . . . . . . . . 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 être 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èques et de refactoriser. Nous allons commencer

par un petit récapitulatif et un résumé.

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èque numérique apportant le support efficace de larges tableaux

multidimensionnels, et de routines mathématiques de haut niveau (fonctions spéciales,

algèbre linéaire, statistiques, etc.). La bibliothèque NumPy permet d’effectuer des calculs

numériques avec Python. Elle introduit une gestion facilitée des tableaux de nombres.

2.2.2 Classe Peceptron

nous créons une nouvelle classe Perceptron. Cela nous permettra, entre autres, de

maintenir l’état afin d’utiliser notre perceptron après qu’il ait appris et attribué des valeurs

à ses poids.

c l a s s Perceptron ( object ) :

def init ( s e l f , i n p u t s i z e , I r =1, e p o c h s =100):

s e l f .W = np . z e r o s ( i n p u t s i z e +1)

s e l f . epochs = epochs

s e l f . I r= I r

np.zeros : Renvoie un nouveau tableau de forme et de type donnés, rempli de zéros.

epochs: le nombre d’époques que nous allons permettre à notre algorithme d’apprentissage

de parcourir avant de se terminer, et il est fixé par défaut à 100.

Ir : est utilisé pour déterminer l’ampleur de la variation de nos poids à chaque étape par

le biais de nos données d’entraı̂nement, et est fixé par défaut à 1.

4
nous déplaçons notre biais dans le vecteur de poids, afin de ne pas avoir à le traiter

indépendamment de nos autres poids ? Ce biais est le +1 de notre vecteur de poids, et

est appelé 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érieure à 0, nous stockons 1 dans la variable activation, sinon, activation

= 0, alors nous renvoyons cette valeur.

def activation fn ( s e l f , x ) :

r e t u r n ( x>=0). a s t y p e ( np . f l o a t 3 2 )

2.2.4 Fonction de Prédiction

La méthode de prédiction prend un argument, les entrées, qu’elle attend être un

tableau/vecteur numpy d’une dimension égale au paramètre x avec lequel le perceptron a

été initialisé sur la ligne 7.

def predict ( s e l f , x ) :

z = s e l f .W. T . dot ( x )

a = self . activation fn (z)

return a

C’est là 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 égale. [ 1,

2, 3] - [1, 2, 3, 4] n’est pas valable. Les choses deviennent un peu délicates ici parce que

nous avons ajouté une dimension supplémentaire à notre vecteur self. w pour agir comme

un biais.

2.2.5 Algorithme d’apprentissage Perceptron

Ensuite, nous définissons la méthode du fit, qui prend deux arguments : les données

d’entrainements et la sortie souhaitéeet .Cette dernière devrait être une liste composée de

vecteurs numpy à utiliser comme entrées par la méthode de prédiction et censé être un

5
tableau numérique des valeurs de sortie attendues pour chacune des entrées correspon-

dantes dans la liste des données d’entrainements .

d e f f i t ( s e l f , X, d ) :

f o r i in range ( s e l f . epochs ) :

f o r i i n r a n g e ( d . shape [ 0 ] ) :

x=np . i n s e r t (X[ i ] , 0 , 1 )

y= s e l f . p r e d i c t ( x )

e=d [ i ]−y

s e l f .W = s e l f .W + s e l f . I r ∗ e ∗ x

Nous définissons la méthode du fit, qui prend deux arguments : X et d. X devrait être une

liste composée de vecteurs numpy à utiliser comme entrées par la méthode de prédiction,

Et censé être un tableau numérique des valeurs de sortie attendues pour chacune des

entrées correspondantes dans la liste X. Conclusion

Vous aimerez peut-être aussi