Bonjour!
Je voudrais programmer un perceptron avec Python mais ne parvient pas à utiliser la formule d'apprentissage(celle de Widrow-Hoff).
Pour l'instant j'ai fais ça:
#Seuil
s = 1
#entrées
e1 = [1,1,1,1]
e2 = [-1,1,1,-1]
e3 = [1,1,1,-1]
e4 = [-1,1,-1,1]
#sorties
x=[1,1,-1,-1]
# poids (on prend des valeurs quelconques)
w1 = 0
w2 = 0
w3 = 0
w4 = 0
t= 0 #initialisation d'un paramètre t à 0
e1[0]*w1+e2[0]*w2+e3[0]*w3+e4[0]*w4=x[0]
# y = sortie intermédiaire ac les diff valeurs de w modifié
# on veut y = x(x est la sortie désirée)
for i in range(4):
y = e1[i]*w1+e2[i]*w2+e3[i]*w3+e4[i]*w4=x[i]
if y==x:
#on change rien
print("Entrees e1:",e1[i],"e2:",e2[i],"e3:",e3[i],"e4:",e4[i])
print("Poids w1:",w1,"w2:",w2,"w3:",w3,"w4:",w4)
print("Sortie x:",x[i])
else:
#on modifie les poids selon la formule
#wi(t+1) = wi(t)+deltawi(t) avec deltawi(t) = (x-y)Ii
t = t+1
Il s'agit d'un perceptron qui prend 4 entrées et donne une sortie.
Je dois obtenir le tableau suivant:
e1 e2 e3 e4 x
1 -1 1 -1 1
1 1 1 1 1
1 1 1 -1 -1
1 -1 -1 1 -1
Je pense avoir compris le principe, il faut modifier les poids jusqu'à ce qu'on trouve la bonne sortie...et pour les modifier on utilise la formule.
Mais je ne la comprend pas du tout Si quelqu'un connaissant python ou ayant des connaissances en intelligence artificielle pouvait m'éclairer...
Merci Beaucoup!!
Claire