0% ont trouvé ce document utile (0 vote)
387 vues1 page

TP 1 Perceptron

Ce document décrit un TP sur le perceptron. Il présente les étapes pour générer des données d'apprentissage et de validation, construire un perceptron pour séparer les données, observer la courbe d'évolution des erreurs et analyser l'impact des paramètres.

Transféré par

gra
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)
387 vues1 page

TP 1 Perceptron

Ce document décrit un TP sur le perceptron. Il présente les étapes pour générer des données d'apprentissage et de validation, construire un perceptron pour séparer les données, observer la courbe d'évolution des erreurs et analyser l'impact des paramètres.

Transféré par

gra
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

Université Batna2, Département d’informatique

Master1, Intelligence artificielle et multimédia

TP 1 perceptron
1. Ecrivez un programme qui génère des points aléatoires dans [0; 1]2. Pour chaque point,
la sortie est 1 si x1 + x2 - 1 > 0 et -1 sinon. Ces points seront stockés dans deux fichiers :
un pour l'ensemble d'apprentissage, et un pour l'ensemble de validation.
Utilisez le format suivant : x1 x2 label
Par exemple :
0.325203 0.768230 1
0.798440 0.821647 1
0.364784 0.417401 -1
0.241603 0.605979 -1
0.653170 0.488392 -1
……

2. Construire un perceptron capable de séparer les données de la question1. Pour cela :


2.1. Créer une structure Neurone, contenant le biais (réel), la sortie (entier) et le tableau de
poids (réels).
2.2. Définir une constante correspondante au pas d'apprentissage α à 0.01.
2.3. Ecrire une fonction initialisant un neurone :
- Le biais (b ou w0) est initialisé à 0.5.
- les poids (wi, i=(1 ; n) où n est le nbre d’exemples) sont initialisés aléatoirement entre
0 et 1.
2.4. Ecrire une fonction qui calcule la sortie du neurone :
- 𝜑 = ∑𝑝𝑜𝑢𝑟 𝑐ℎ𝑎𝑞𝑢𝑒 𝑒𝑥𝑒𝑚𝑝𝑙𝑒 𝑤𝑖 . 𝑥𝑖 + 𝑏
- avec wi le poids du ième attribut et xi la valeur du ième attribut pour l'exemple courant.
- Si 𝜑 > 0 la sortie y du neurone est 1 sinon -1.
2.5. Ecrire une fonction de mise du neurone (mise à jour du biais et du vecteur de poids). La
fonction prend également en paramètre un exemple. Pour la mise à jour nous calculons ce
qui suit :
- b = b + α * (label – sortie_c) * X0.
- pour chaque attribut (Xi) : wi = wi + α * (label – sortie_c) * Xi
2.6. Programme principal :
- Initialiser le neurone.
- Pour 100 itérations :
o NombreDerreurs = 0
o Pour chaque exemple :
 Calculer la sortie du neurone.
 Si la sortie calculée est différente du label: incrémenter le
NombreDerreurs et mettre à jour le neurone.
 Afficher le nombre d'erreurs.

3. Observer la courbe d'évolution du nombre d'erreurs.


3.1. Varier le nombre d'exemples et comparer.
3.2. Commenter l'impact du pas d'apprentissage α (en le faisant varier).
3.3. Modifier les données : pour chaque point généré, rajouter une condition : x2 doit en plus
être supérieur à 0.5 et refaire la question 1
3.4. Regarder également le nombre d'erreurs en généralisation (utiliser un ensemble d’exemples
de test qui n’a pas servi à l’apprentissage et calculer l’erreur totale).

2020

Vous aimerez peut-être aussi