Я знаю, что набор валидации очень важен, так как вкратце мы можем проверить нашу модель и настроить оптимальные гиперпараметры без обработки тестового набора. Тем не менее, есть некоторые статьи о машинном обучении, которые не сделали проверку . Например, в Neural Collaborative Filtering авторы упоминали, что они используют набор проверки для настройки гиперпараметров, но при наличии кода они просто обучали модель с набором поездов и проверяли ее с помощью теста установить для каждой эпохи.
for epoch in xrange(epochs):
t1 = time()
# Generate training instances
user_input, item_input, labels = get_train_instances(train, num_negatives)
# Training
hist = model.fit([np.array(user_input), np.array(item_input)], #input
np.array(labels), # labels
batch_size=batch_size, nb_epoch=1, verbose=0, shuffle=True)
t2 = time()
# Evaluation
if epoch %verbose == 0:
(hits, ndcgs) = evaluate_model(model, testRatings, testNegatives, topK, evaluation_threads)
hr, ndcg, loss = np.array(hits).mean(), np.array(ndcgs).mean(), hist.history['loss'][0]
print('Iteration %d [%.1f s]: HR = %.4f, NDCG = %.4f, loss = %.4f [%.1f s]'
% (epoch, t2-t1, hr, ndcg, loss, time()-t2))
if hr > best_hr:
best_hr, best_ndcg, best_iter = hr, ndcg, epoch
if args.out > 0:
model.save_weights(model_out_file, overwrite=True)
Я не смог найти никакого кода создания или обработки набора проверки в этом github. Можно ли просто использовать набор тестов вместо набора валидации для каких-либо исследований в области машинного обучения? Между тем, на мой взгляд, мы должны использовать набор валидации для таких соревнований, как Kaggle или реальная система.