In the notebooks when using TTA the usual procedure is:
log_preds,y = learn.TTA() probs = np.mean(np.exp(log_preds),axis=0) preds = np.argmax(probs, axis=1)
Instead of averaging the results why do we not find the most confident prediction? i.e.:
probs = np.max(np.exp(log_preds),axis=0) # won't add to one but won't matter as result is just used in next line preds = np.argmax(probs, axis=1)
My understanding of TTA is that by presenting variants of the image to the trained classifier it may have a better chance at classifying correctly. Just as if you presented me variants of an image I may be able to recognize it better in one variant over another, e.g. if you showed me pictures of celebrities upside down I would be less accurate than if they were all right side up and I would probably be more confident about the right side up pictures. We would not take the average of the predictions in this case but would take the most confident prediction. Why do we not do this with TTA results?