[Question] How to deal with cold start
risufaj opened this issue · comments
Hi mabwiser team,
Thank you for this great library!
I am wondering what would be the best approach for mabwiser to be used in cold start situations, where there aren't yet any recorded decisions and rewards. Could it be possible to initialize rewards for all arms with 0? The use case I have in mind has binary rewards [0,1].
Thanks in advance!
Hi @risufaj!
Thank for your interest in the library.
Great question! Cold-start is a challenging problem in many recommender system problems. Note we have a warm_start
function in the MAB object that can be used to warm-start cold arms. In order to warm-start the multi-armed bandit we need a list of features for each arm that can be used to calculate pairwise similarities between the arms. See here for an example how it's used.
An obvious next question is where to get these features. In practice, one would typically have some textual information for arms, but not necessarily numerical features. Fortunately, we also developed a library called TextWiser that can be used for text featurization based on a rich set of methods. Check it out if it sounds interesting.
Hi @bkleyn,
Thank you for answering!
I understand that using the function you mentioned, it would be possible to warm start an arm that is most similar to some existing arms, for which you have data. In situations where there aren't any data recorded for any of the arms, I suppose the best could be to have some sort of data collection phase, right?