Tôi đang sử dụng thư viện này để thực hiện một tác nhân học tập.
Tôi đã tạo ra các trường hợp đào tạo, nhưng tôi không biết chắc chắn các bộ kiểm tra và xác nhận là gì.
Giáo viên nói:
70% nên là trường hợp đào tạo, 10% sẽ là trường hợp thử nghiệm và 20% còn lại sẽ là trường hợp xác nhận.
biên tập
Tôi có mã này để đào tạo, nhưng tôi không biết khi nào nên ngừng đào tạo.
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
biên tập
Tôi có thể nhận được một lỗi trung bình 0,2 với dữ liệu xác nhận, sau khi có thể 20 lần lặp đào tạo, tỷ lệ đó phải là 80%?
lỗi trung bình = tổng chênh lệch tuyệt đối giữa mục tiêu xác thực và đầu ra, với đầu vào / kích thước dữ liệu xác thực của dữ liệu xác nhận.
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