[C++] réseau de neurone hopfield

Résolu/Fermé
soumia - 24 mai 2004 à 09:55
nnouhasabri Messages postés 6 Date d'inscription vendredi 8 avril 2016 Statut Membre Dernière intervention 15 avril 2016 - 8 avril 2016 à 12:55
bonjour
je veux savoir comment programmer les reseau de neuone avec langage c++(le reseau de neurone de hopfield) s'il vous plait
merci saut

16 réponses

Salut moi y'a na pas savoir parler et moi ya na toujours pas envie de bosser alors moi toujours exiger des autres des réponses toutes faites...

Non mais je rêve!...
5
Helas, pour les documents, ca va etre chaud : je suis a l'etranger, et j'ai pas d'acces internet chez moi... Aucun moyen de te refiler les docs, donc.
De toutes facons, l'aide de Matlab fait partie de Matlab, donc ce serait illegal ;)

Explication pour l'approche matricielle
ATTENTION, ca ne marche qu'avec les reseaux a couches !!!
(en +, c'est de memoire -> risques d'erreurs)

La premiere "couche" recoit les valeurs d'entree, considerees comme un vecteur V de taille Nv.
Qd tu veux passer a la premiere couche utile (cachee ou de sortie), C1 de taille N1, tu vas considerer une matrice des poids P1 (N1 lignes, Nv colonnes), et tu auras P1*V + B1 = C1 (/!\ a l'ordre !) ou B1 est un vecteur de taille N1, qui correspond au "biais" (terme additif qui permet de trouver des resultats coherents)

Les valeurs trouvees sont justes les valeurs d'entree de la couche, il faut ensuite les faire passer par une fonction de transfert (identite ou une sigmoide) => vecteur C1' et tu recommence pour la couche suivante...

Je crois que j'ai pas ete tres clair...

Pour l'apprentissage de base, je me souviens plus tres bien, donc je prefere ne pas te dire de betises (et j'ai pas trop le temps de rechercher aujourd'hui...)

J'espere que ca t'aidera a demarrer !
3
bonjour
donnée moi les programme des réseau de neurones en c++ le plus vite possible .merci
3
rachid oulhaci
27 janv. 2011 à 21:53
svp donne moi la repense car je suis intéressé par ce programme
2

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
24 mai 2004 à 12:53
Modéliste une neurone en objet d'après les règles de Hopfield,
faire une classe qui se charge de gérer les couches,
puis faire un programme qui va instancier plusieurs couches et lier les neurones entres elles.

C'est du génie logiciel de base.

Ta spec, c'est le modèle de hopfield.
A toi de réaliser...
1
Par contre, apres, il va falloir te taper tous les algos d'apprentissages (peut-etre qu'il y en a des simples, mais bon...)
Parce qu'un reseau de neurones qui n'apprend rien, c'est joli, mais limite...

d'ou mon conseil, si c'est juste pour UTILISER un reseau de neurones et si tu en as les moyens, y'a une boite a outils pas trop mal faite sous Matlab (par contre, la documentation est horrible !).
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
24 mai 2004 à 17:17
Exact.

Il va également falloir faire apprendre le réseau.
Il te faudra donc construire des jeu d'apprentissage (avec tous les inputs + les sorties attendues).

Développer la back-propagation est assez pénible.

Si ton but n'est pas de développer toi-même des classes de réseaux de neurones mais de les utiliser, je te conseille d'utiliser des classes toutes prêtes.

La NASA a publié une bibliothèque sur les réseaux de neurones, gratuite et avec codes sources.
ça devrait largement te simplifier la tâche.
0
tafiscobar Messages postés 1277 Date d'inscription jeudi 7 décembre 2000 Statut Contributeur Dernière intervention 26 février 2009 177
24 mai 2004 à 20:35
bon, j'ai developpé une librairie de reseaux de neurones en C++, mais je n'ai pas implementé les reseaux de hopfield (je n'ai implémenté pour le moment que le perceptron avec retropropagation avec momentum), par contre l'architecture est deja faite et il suffit juste d'implementer une classe abstraite, j'attends la fin de mes exams pour le peaufiner un peu plus et implémenter d'autres algos.
0
Bonjour,
Pouvez - vous m'aider à mettre en ouvre une bibliothèque de réseau de neurones en C++, j'ai besoin de cette bibliothèque pour mon projet de desa.

Merci par avance
0
merci monsieur ,est ce que tu peux m'aider avec le peu que tu a fait avec le c++ "programmation du reseau de hopfield" merci
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
25 mai 2004 à 09:36
Ce que j'avais fait, c'était à l'université il y a un bout de temps, et on avait tout développé nous même (argleu).
Je ne crois pas avoir conservé les sources, désolé !

Je pense que tu trouvera des sources en Googlant.
0
Alex SwartzKaiser
27 mai 2004 à 11:24
Bonjour

Ta question est beaucoup trop génerale. Un réseau de Hopfied, c'est des unités reliées entre elles : les neurones. Don une approche naive est de creer des classes Neurones, Liens. Que mettre dedans comme code ? Ben ca dépend de ce que tu veut faire ton réseau. Tu veut analyser du son, de l'image ? J'ai travaillé avec tafiscobar sur le projet de réseau de neurone, il est spécialisé pour faire du traitement d'image. Et ce n'est pas un réseau de Hopfield mais un Perceptron.
0
Une autre idee, toujours en m'inspirant de Matlab :

Pour eux, un reseau de Hopfield n'est ni plus ni moins que du calcul matriciel : une succession d'additions et de multiplications de matrices, avec un calcul supplementaire pour chaque couche : le passage par la fonction de transfert.

Meme si tu dois coder ton propre reseau, tu peux toujours t'inspirer de cette approche...

N'hesite pas a demander + de renseignements...
0
mr;
aprés avoir vu votre commentaire sur les reseau de neurones et leur application en matlab
j'aimerai bien savoir comment faire la procédure d'apperentissage et si c'est possible m'envoyer des programmes déja fait
je te remerci a l'avance
merci
0
Franky* > bellouti
7 juin 2004 à 09:14
Salut,

Alors pour la procedure d'apprentissage, je vais regarder ca chez moi (ce soir si je peux, mais je ne te promets rien...), par contre, les "programmes dejas faits" font partie de matlab, donc je ne peux pas y acceder...

Il faudra te debrouiller avec des explications formelles...

A+
0
Franky* > Franky*
10 juin 2004 à 13:00
Apres verification, l'aide parle beaucoup moins des algorithmes d'apprentissage que dans mon souvenir (ou alors j'ai pas retrouve la bonne page).

Le mieux serait que tu trouves un bouquin avec des algos precis, quitte a les modifier apres... Ca doit surement exister !
0
salut monsieur merci beaucoup pour l'aide je travaile sur le reseau de hopfield ,j'ai besoin du documentation ,je vais utiliser ce reseau pour la classification des chromosomes humains c'est pour cette reseau je cherche à programmer ce reseau avec c++ merci
0
salut,monsieur javainaise,j'ai envoyé l'algorithme de hopfield comme vous avez demandé ,mais j'ai pas eu de répones jusqu'à maintenant merci
0
salut programmation du reseau de hopfield avec c++ builder
0
s'il te plait noura donnez moi une idée sur cette programmation, je me suis bloqué., merci d'avance
0
BOUNJOUR
j'ai besoin d'un aide pour programer un reseau de neurons à couche, mais je veux des programmes en c++ builder
0
nnouhasabri Messages postés 6 Date d'inscription vendredi 8 avril 2016 Statut Membre Dernière intervention 15 avril 2016
8 avril 2016 à 12:55
Bonjour je suis aussi intéresser par les sujet des réseaux de neurone et je désire avoir un programme simple sur la création d'un RN
0