fix holdout loss

This should fix the holdout loss broken issue. Basically the loss calculation is in the update function, but it is not called for holdout data, leading to a loss of 0.