What should learners do when fed the same point twice
def tell(self, x, y):
if x in self.data:
return
This is what we do for LearnerND (and I think Learner2D also, but I'm not sure).
Does this make sense? In what cases would someone call tell
if the point was already evaluated? Would it make more sense to raise an exception because this indicates an error?
If I say
learner.tell(1, 2)
learner.tell(1, 4)
I would either expect:
- An exception to be raised
- The new data to overwrite the old data, losses to be updated etc.