I'm looking for a machine learning model that handles moving targets well. There will be a set of fairly easy to find global optima, where the good-enough areas are quite large, but which one(s) are good at a given time varies. I need the model to learn these different optima, but also account for them appearing and disappearing over time.
This is intended for human interests; you might like lasagna, but 10 days in a row starts becoming too much, or you might like metal music, but only when you're in that mood, or you might prefer a certain kind of tv programs a few weeks before your interest shifts. How many exploratory items we suggest to expand the current model compared to thought-to-be good ones could be tunable.
I, as a programmer, would have a set of models, and stay at the current one until it doesn't fit anymore (user dismisses multiple fish dishes in a row), at which point I would try to find some data point that splits the models into two evenly sized groups (do you want meat at all?), and divide and conquer until I get a better fit, or start training a new model if there's no clear match.
I can find a few (big) problems with my approach (e.g. when do we stop training a new model, and start training a new one?), so I thought I'd ask some professionals in this field.
What models/algorithms should I look into for this kind of problem?