Валидационные потери ниже, чем тренировочные потери, но хуже точность - PullRequest
0 голосов
/ 29 сентября 2019

Я тренирую FFNN для классификации и удивляюсь, почему моя потеря при проверке всегда кажется низкой по сравнению с потерей при обучении, так как точность также хуже для проверки, чем при обучении.

Я нашел несколько похожих вопросов, которые привели к тому, что по сути можно добиться большей производительности в наборе данных проверки, чем в обучающем наборе, но не в сценарии с меньшими потерями И более низкой точностью.

enter image description here

вот код, который я использую для тренировки моего NN-патрона, включая расчет потерь:

optimizer = optim.Adam(model_pyt.parameters(), lr=learning_rate, betas=(0.9,0.999))
criterion = nn.CrossEntropyLoss()

for epoch in range(epochs):
    start_time = time.time()
    train_running_loss = 0
    train_acc = 0
    with torch.set_grad_enabled(True):
        for i, data_pack in enumerate(training_generator):
            x_data, y_data = data_pack 
            optimizer.zero_grad()                
            outputs = model_pyt(x_data)
            loss = criterion(outputs, y_data)
            loss.backward()
            optimizer.step()
            train_running_loss += loss.detach().item()
            train_acc += get_accuracy(outputs, y_data, batch_size)
    test_labels = torch.tensor(labels_test).long()
    test_inputs = torch.tensor(np.array(data_bal_test)).float()
    test_outputs = model_pyt(test_inputs)
    test_loss = criterion(test_outputs, test_labels).detach().item()
    test_acc = get_accuracy(test_outputs, test_labels, len(test_labels))
    print('Epoch:  %d | Loss: %.4f | Acc %.4f | Test-Loss: %.4f | Test-Acc %.4f | Time Elapsed: %s' 
          %(epoch+1, train_running_loss/(i+1), train_acc/(i+1), loss, test_acc, time_since(start_time)))
    print('=====================================================================================================')    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...