1
$\begingroup$

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?

$\endgroup$
  • 1
    $\begingroup$ You don't need to make a new model for this, just have features that account for the temporal aspect. For instance, you would have your current "person" features, but then add feature like "days since last lasagna selection" to account for them either being sick of it or potentially having it be a nice change. $\endgroup$ – Barker Dec 5 '16 at 17:43
  • 1
    $\begingroup$ @Barker Sure, that could cover the food case, but not the music or tv series cases. If I want to listen to hip hop, having the algorithm start playing classical piano because I've listened to "enough" hip hop songs now is a terrible experience. I only want to change when the user shows that they're tired of the current model. $\endgroup$ – Filip Haglund Dec 5 '16 at 21:09
  • 1
    $\begingroup$ That isn't any different, you would just be using different features and the model would be weighting them differently. For the music case, the features might be "last genera selected" which would put a positive weight on selecting the same genera. For the food case if you had a similar feature (ie. "last meal selected") that would put a negative weight on that meal. You engineer the features that inform the decision, the ML will weight them to reflect the patterns in the data. $\endgroup$ – Barker Dec 5 '16 at 22:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.