이 라이브러리 를 사용하여 학습 에이전트를 구현하고 있습니다.
교육 사례를 생성했지만 유효성 검사 및 테스트 세트가 무엇인지 확실하지 않습니다.
교사는 말합니다 :
70 %는 교육 사례 여야하고 10 %는 테스트 사례이며 나머지 20 %는 검증 사례입니다.
편집하다
교육용 코드가 있지만 교육을 언제 중단 해야할지 모르겠습니다 .
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
편집하다
유효성 검사 데이터를 사용하여 평균 20의 평균 오류를 얻을 수 있습니다 .20 번의 훈련 반복 후에 80 % 여야합니까?
평균 오류 = 유효성 검사 데이터의 입력 / 크기가 주어지면 유효성 검사 대상과 출력 간의 절대 차이의 합입니다.
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