Cross recommendation

2013-02-21 Thread Pat Ferrel
S and LLL as well as for sparsification techniques such as the LLR sparsification. All that changes is the mechanics of how you do the multiplications. Weighting of components works the same as well. What is very different here is that we have a component of cross recommendation. That is the B'A

Re: Cross recommendation

2013-02-21 Thread Ted Dunning
On Thu, Feb 21, 2013 at 12:13 PM, Pat Ferrel wrote: > I am quite interested in trying this but have a few questions. > > To use/abuse mahout to do this: > > A and B can be thought of as having the same size, in other words they > must be constructed to have the same dimension definitions (userID

Re: Cross recommendation

2013-02-22 Thread Pat Ferrel
My plan was to NOT use lucene to start with though I see the benefits. This is because I want to experiment with weighting--doing idf, no weighting, and with a non-log idf. Also I want to experiment with temporal decay of recomendability and maybe blend item similarity based results in certain c

Re: Cross recommendation

2013-02-22 Thread Ted Dunning
On Fri, Feb 22, 2013 at 9:48 AM, Pat Ferrel wrote: > ... lots of stuff I can't answer right now ... > > Then the question is how to blend B'A h_v with B'B h_p? > Add the scores. With coherent weighting schemes that should work just fine. To do this, get the two recommendation lists and add s

Re: Cross recommendation

2013-02-22 Thread Ted Dunning
ce as much work as you need to do and it also doesn't let you adjust weightings separately. But it is probably the simplest way to get going with cross recommendation. On Fri, Feb 22, 2013 at 9:48 AM, Pat Ferrel wrote: > Therefore my discussion was assuming the use of the entire ma

Re: Cross recommendation

2013-02-23 Thread Pat Ferrel
combined item recommendation matrix which is roughly twice as much work as you need to do and it also doesn't let you adjust weightings separately. But it is probably the simplest way to get going with cross recommendation. On Fri, Feb 22, 2013 at 9:48 AM, Pat Ferrel wrote: > There

Re: Cross recommendation

2013-02-23 Thread Ted Dunning
No. It is uniformly better to have (item+action, user). In fact, I would prefer to have it the other way around when describing it to match the matrix row x column convention. (user, item+action) where action is binary leads to A = [A_1 | A_2] = user by 2xitem. The alternative of (user+action,

Re: Cross recommendation

2013-02-24 Thread Pat Ferrel
Yes I understand that you need (user, item+action) input for user based recs returned from recommender.recommend(userID, n). But can you expect item similarity to work with the same input? I am fuzzy about how item similarity is calculated in cf/taste. I was expecting to train one recommender

Re: Cross recommendation

2013-02-24 Thread Ted Dunning
On Sun, Feb 24, 2013 at 8:39 AM, Pat Ferrel wrote: > ... > But can you expect item similarity to work with the same input? I am fuzzy > about how item similarity is calculated in cf/taste. > The cooccurrence oriented item-based recommenders should be fine. I was expecting to train one recommend

Re: Cross recommendation

2013-02-24 Thread Sean Owen
I may not be 100% following the thread, but: Similarity metrics won't care whether some items are really actions and some items are items. The math is the same. The problem which you may be alluding to is the one I mentioned earlier -- there is no connection between item and item-action in the mod

Blending initial recommendations for cross recommendation

2013-05-31 Thread Dominik Hübner
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/user@mahout.apache.org/msg12983.html). Currently I am struggling with the last step of blending the initial recommendations.

Re: Blending initial recommendations for cross recommendation

2013-05-31 Thread Koobas
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 wrote: >

Re: Blending initial recommendations for cross recommendation

2013-05-31 Thread Ted Dunning
In my case, I put all the indicators from all different sources in the same Solr/Lucene index. Recommendations consists of making a single query to Solr/Lucene with as much data as I have or want to include. At the point that this query is done, there are no weights on the indicators ... merely p

Re: Blending initial recommendations for cross recommendation

2013-05-31 Thread Koobas
Ted, Thank you very much. This is very insightful. The log scaling is definitely an intuitive way of building the meta model. Not much disagreement about the uselessness of predicting ratings. On Fri, May 31, 2013 at 4:00 PM, Ted Dunning wrote: > In my case, I put all the indicators from all di

Re: Blending initial recommendations for cross recommendation

2013-05-31 Thread Pat Ferrel
I've got a cross-recommender too. It was originally conceived to do a multi-action ensemble from Ted's notes. I'm now gathering a new data set and building the meta-model learner. Even with the same scale you need to learn the weighting factors. Consider a simple ensemble case: R_p is the matr

Re: Blending initial recommendations for cross recommendation

2013-06-01 Thread Dominik Hübner
Thanks for those detailed responses! So I assume that the problem of scaling the initial recommendations can be implicitly solved by learning the weights for the linear combination. The log rank Ted mentioned seems to be useful as well! What metric do you use to evaluate your recommendations? I

Re: Blending initial recommendations for cross recommendation

2013-06-01 Thread Pat Ferrel
I use MAP (mean average precision) http://en.wikipedia.org/wiki/Information_retrieval#Mean_average_precision . Either with random held out data or more usually a time-based split. The oldest 90% for train the the most recent 10% for test. We looked at the power of purchases and views for predic

Re: Blending initial recommendations for cross recommendation

2013-06-04 Thread Pat Ferrel
Err, I think there is a mistake below. You want to do [B'A]H_v, where H_v = A', the user's history of views as column vectors. At least that is what my code was doing. On another subject the idea of truncating the user history vectors came up in another thread. In some research we did using the

Re: Blending initial recommendations for cross recommendation

2013-06-04 Thread Dominik Hübner
I am using [B'A]H_v in my code as well. Furthermore, the basics of my implementation are done so far (a more "general purpose" reimplementation of the item-based recommender) and I soon will move on to evaluate the approach with my dataset. On the one hand I'm quite lucky since each of the inte

Re: Blending initial recommendations for cross recommendation

2013-06-04 Thread Pat Ferrel
You don't want to decay the training values, only the query values. The training values indicate user taste similarity and that decays very slowly if at all. The truncation I was talking about is in the query vectors. And even with that I'd measure its effect. If you do this with [B'B]H_p you'