Je suis un programmeur...hum disons amateur, qui cherche, pour son TPE, à programmer un petit perceptron capable de reconnaitre une lettre sur une grille de 400 pixels. En l'occurrence, la lettre A (à la fois simple et compliquée ;) )
Voici donc le code en VB6, commenté, de la fonction qui modifie les poids en fonction:
-de la réponse du neurone
-de la réponse du correcteur
Iscorrect est la réponse du correcteur, Response est la réponse du neurone.
Actpixel correspond au tableau des pixels activés lors de l'écriture de la lettre.
La grille fait 20*20 pixels, donc 19*19 en programmations ;)
Seuil = 0
For i = 0 To 19
For e = 0 To 19
If Response = False Then
If ActPixel(i, e) = True Then
'modification du poids Négative
Poids(i, e) = Poids(i, e) - 0.5
Seuil = Seuil + Poids(i, e)
End If
End If
If Response = True Then
If ActPixel(i, e) = True Then
'modification du poids Positive
Poids(i, e) = Poids(i, e) + 0.5
End If
End If
Next
Next
End If
If IsCorrect = False Then
'Si la réponse proposée par le neurone est fausse (correction!)
Seuil = 0
For i = 0 To 19
For e = 0 To 19
If Response = False Then
If ActPixel(i, e) = True Then
'modification du poids Négative
Poids(i, e) = Poids(i, e) + 0.5
Seuil = Seuil + Poids(i, e)
End If
End If
If Response = True Then
If ActPixel(i, e) = True Then
'modification du poids Positive
Poids(i, e) = Poids(i, e) - 0.5
End If
End If
Next
Next
End If
[/code]
Pouvez-vous m'aider, car ma fonction marche moyen. Sinon, conseillez moi tout simplement d'autre chose concernant la programmation d'un tel réseau neuronal.
Merci d'avance pour la communauté robotix ^^