Programmation C++ de l'algorithme de kohonen

W-B Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
Raghad.Jr Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Dans le cadre de mon projet de fin d'étude, j'ai besoin de programme l'algorithme de réseau de kohonen avec C ou C++. J'ai eu des problèmes lors de la programmation (la partie de mise à jour des poids ).
Pourriez vous m'aider s'il vous plait.
Merci d'avance.
A voir également:

1 réponse

baladur13 Messages postés 47805 Date d'inscription   Statut Modérateur Dernière intervention   13 688
 
Bonjour,
Nous ne ferons pas votre exercice à votre place.
Merci de décrire précisément votre problème et en postant le code déjà réalisé.

Cliquez ici pour des conseils d'écriture des messages et ici concernant les devoirs scolaires ou PFE.

Pour poster votre code, merci de penser à la coloration syntaxique.
0
W-B Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
le problème, après avoir calculer les distances, c'est de savoir comment déterminer la position d'un neurone gagnant sur une carte 2D qui a la distance minimale, puis d'effectuer la mise à jours de poids de ce neurone et ces voisins.
voici la première partie de ce code

<code>
//Déclaration des variables 
const int       m_dX = 5;
const int    m_dY = 5;
const int NumWeights = 25;
const int InNumber = 3;
double    m_dWeights[NumWeights][InNumber];
double    IN[InNumber] = { 0.21, 0.85, 0.5 };
double   D[NumWeights];
const int alpha = 0.6;


//calcul et affichage de distance 
void CalculateDistance(double X[])
{
 for (int i = 0; i < NumWeights; i++)
 {
  for (int j = 0; j < InNumber; j++)
  {
 D[i] += ((X[j] - m_dWeights[i][j])*(X[j] - m_dWeights[i][j]));
 cout << "D=" << D[i] << " ";
  }system("pause");
 }
}
  
//calcule de la distance minimale 
double  minimum()
{
 double min = D[0];
 for (int i = 0; i < NumWeights; i++)
 {
  if (min > D[i])
  
   min = D[i];
   cout << "\n" << min;
 // cout << "\n" << i << " est le neurone gagnant";       
// afficher la position de neurone gagnant 
 }system("pause"); 
 return min;
}
</code>
0
Raghad.Jr Messages postés 1 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour je suis en train de développer mon projet, j'ai fini la partie de l'etat de l'art et je passe maintenent à la partie programmtion en c d'un algorithme SOM
j'ai besoin vraiment de votre aide , comment réaliser la fonction de voisinage et les mises à jour des poids , avez vous un code ? et un énorme merci d'avance
0