Bonjour à tous !
Voilà dans le cadre de mes études je dois implémenter un perceptron afin d'apprendre et de classifier différentes données.
Ces données sont, pour la base d'apprentissage, réparties dans un nombre de classes > 2. Donc pour simplifier la chose (enfin je pense que ça simplifie), plutôt que de réaliser un perceptron apprenant directement à distinguer toutes les classes, on nous demande de réaliser n perceptrons binaires, correspondants aux n classes.
Le but étant donc au final, d'avoir pour chaque classe c, un perceptron associé capable au moins de distinguer cette classe c de toutes les autres. Après on décidera la meilleure sortie entre les n perceptrons.
Donc pour exemple :
J'ai un ensemble de données de dimension 4, divisées en 3 classes a, b et c.
Je veux établir le perceptron capable d'apprendre à distinguer la classe a des autres classes. J'ai donc procédé à un ré-étiquetage, tous les exemples de ma classe a sont étiqueté 1, et tout ceux des classes b et c étiquetés -1. (j'ai lu qu'on utilise parfois 0 et 1, parfois -1 et 1, notre enseignant nous a demandé -1 et 1 ici)
Voilà les bases, j'espère que c'est clair.
Mon problème est le suivant, j'ai un grand mal à bien assimiler le principe du perceptron, j'ai lu le très bon cours d'Alp, mais je n'arrive pas à me lancer j'ai trop de points flous :
Dois-je utiliser un perceptron mono-couche ou multi-couches ? Mon algorithme devra pouvoir s'adapter à des données non linéairement séparable pour la suite, donc je pencherai plutôt pour le multi-couches si j'ai bien compris mais je ne suis pas sur.
Ensuite, le gros point d'interrogation pour moi, c'est comment déterminer le nombre de neurones de ma sortie, ainsi que le nombre de couches cachées et de neurones sur celles-ci si on part sur un multi. J'ai vraiment un blocage à ce niveau.
Donc voilà, je solicite votre aide, et vos connaissances afin de pouvoir avancer la dessus
Merci d'avance !
Partager