Im en utilisant cette bibliothèque
http://pastebin.com/raw.php?i=aMtVv4RZ
pour mettre en œuvre un apprentissage de l'agent.
J'ai généré le train des cas, mais je ne sais pas exactement ce que sont la validation et de test, le professeur dit:
70% devrait être de former des cas, 10% sont des cas de test et le reste 20% devrait être de validation des cas.
modifier
j'ai ce code, pour la formation.. mais je n'ai pas de ideia quand arrêter l'entraînement..
def train(self, train, validation, N=0.3, M=0.1):
# N: learning rate
# M: momentum factor
accuracy = list()
while(True):
error = 0.0
for p in train:
input, target = p
self.update(input)
error = error + self.backPropagate(target, N, M)
print "validation"
total = 0
for p in validation:
input, target = p
output = self.update(input)
total += sum([abs(target - output) for target, output in zip(target, output)]) #calculates sum of absolute diference between target and output
accuracy.append(total)
print min(accuracy)
print sum(accuracy[-5:])/5
#if i % 100 == 0:
print 'error %-14f' % error
if ? < ?:
break
modifier
je peux avoir une erreur moyenne de 0,2 avec les données de validation, après peut-être 20 formation d'itérations, qui devrait être de 80%?
l'erreur moyenne = somme de l'absolu diference entre la validation de la cible et de sortie donnée de validation des données d'entrée / taille de la validation des données
1
avg error 0.520395
validation
0.246937882684
2
avg error 0.272367
validation
0.228832420879
3
avg error 0.249578
validation
0.216253590304
...
22
avg error 0.227753
validation
0.200239244714
23
avg error 0.227905
validation
0.199875013416