I am also very interested in the answer to this question. Just to reiterate, if you use different recommenders, e.g., kNN user-based, kNN item-based, ALS, each one produces recommendations on a different scale. So how do you combine them?
On Fri, May 31, 2013 at 3:07 PM, Dominik Hübner <[email protected]>wrote: > Hey, > I have implemented a cross recommender based on the approach Ted Dunning > proposed (cannot find the original post, but here is a follow up > http://www.mail-archive.com/[email protected]/msg12983.html). > Currently I am struggling with the last step of blending the initial > recommendations. > > My current approach: > 1. Compute a cooccurrence matrix for each useful combination of > user-product interaction (e.g. which product views and purchased do appear > in common …) > 2. Perform initial recommendation based on each matrix and the required > type of user vector (e.g. a user's history of views OR purchases) (like the > item-based recommender implemented in Mahout) > > In step 2, I adapted the AggregateAndRecommendReducer of Mahout, which > normalizes vectors while building the sum of weighted similarities or in > this case => cooccurrences. > > Now I end up with multiple recommendations for each product, but all of > them are on a different scale. > How can I convert them to have the same scale, in order to be able to > weight them and build the linear combinations of initial recommendations as > Ted proposed? > Would it make sense to normalize user vectors (before multiplying) as well? > > Otherwise views would have a much higher influence than purchases due to > their plain characteristics (they just appear way more frequently). Or is > this the reason for weighting purchases higher and views lower? If so, I > think it's sort of inconvenient. Wouldn't it be much more favorable to get > each type of interaction within the same scale and use the weights just to > control each types influence on the final recommendation? > > Thanks in advance for any suggestions! > > > > Regards > Dominik > > Sent from my iPhone
