Time Based Recommender System
I was wondering if the collaborative filtering library in Mahout has any algorithms that incorporate concept drift i.e. time dynamics. From my own research I have come across the BellKor algorithm called TimeSVD++ and there is a recent paper using hidden markov models with collaborative filtering. Has anything of this sort been implemented in Mahout? I am working on a problem where a company offers many different services and the dataset is their subscriber's subscription levels for each service at different time snapshots. I am interested in using some sort of recommender system that can give recommendations for new services based on such data.
Re: Time Based Recommender System
No, time is in the data model but nothing uses it that I know of. On Tue, Apr 30, 2013 at 3:18 PM, Chirag Lakhani wrote: > I was wondering if the collaborative filtering library in Mahout has any > algorithms that incorporate concept drift i.e. time dynamics. From my own > research I have come across the BellKor algorithm called TimeSVD++ and > there is a recent paper using hidden markov models with collaborative > filtering. Has anything of this sort been implemented in Mahout? > > I am working on a problem where a company offers many different services > and the dataset is their subscriber's subscription levels for each service > at different time snapshots. I am interested in using some sort of > recommender system that can give recommendations for new services based on > such data.
Re: Time Based Recommender System
Do you know of any other large scale machine learning platforms that do incorporate it? On Tue, Apr 30, 2013 at 10:21 AM, Sean Owen wrote: > No, time is in the data model but nothing uses it that I know of. > > On Tue, Apr 30, 2013 at 3:18 PM, Chirag Lakhani > wrote: > > I was wondering if the collaborative filtering library in Mahout has any > > algorithms that incorporate concept drift i.e. time dynamics. From my > own > > research I have come across the BellKor algorithm called TimeSVD++ and > > there is a recent paper using hidden markov models with collaborative > > filtering. Has anything of this sort been implemented in Mahout? > > > > I am working on a problem where a company offers many different services > > and the dataset is their subscriber's subscription levels for each > service > > at different time snapshots. I am interested in using some sort of > > recommender system that can give recommendations for new services based > on > > such data. >
Re: Time Based Recommender System
GraphLab -- http://docs.graphlab.org/collaborative_filtering.html#SVD_PLUS_PLUS On Tue, Apr 30, 2013 at 3:30 PM, Chirag Lakhani wrote: > Do you know of any other large scale machine learning platforms that do > incorporate it? > > > On Tue, Apr 30, 2013 at 10:21 AM, Sean Owen wrote: > >> No, time is in the data model but nothing uses it that I know of. >> >> On Tue, Apr 30, 2013 at 3:18 PM, Chirag Lakhani >> wrote: >> > I was wondering if the collaborative filtering library in Mahout has any >> > algorithms that incorporate concept drift i.e. time dynamics. From my >> own >> > research I have come across the BellKor algorithm called TimeSVD++ and >> > there is a recent paper using hidden markov models with collaborative >> > filtering. Has anything of this sort been implemented in Mahout? >> > >> > I am working on a problem where a company offers many different services >> > and the dataset is their subscriber's subscription levels for each >> service >> > at different time snapshots. I am interested in using some sort of >> > recommender system that can give recommendations for new services based >> on >> > such data. >>
Re: Time Based Recommender System
Keep in mind that time dynamics generally have benefit for predicting ratings. The point is that the average rating for a person goes up and down over time even if their general taste doesn't change. Likewise for an item. If you use implicit feedback and recommend based on recent behavior most of the practical benefit to modeling the time dynamics goes away since you aren't predicting ratings in any case. On Tue, Apr 30, 2013 at 7:18 AM, Chirag Lakhani wrote: > I was wondering if the collaborative filtering library in Mahout has any > algorithms that incorporate concept drift i.e. time dynamics. From my own > research I have come across the BellKor algorithm called TimeSVD++ and > there is a recent paper using hidden markov models with collaborative > filtering. Has anything of this sort been implemented in Mahout? > > I am working on a problem where a company offers many different services > and the dataset is their subscriber's subscription levels for each service > at different time snapshots. I am interested in using some sort of > recommender system that can give recommendations for new services based on > such data. >
Re: Time Based Recommender System
Thanks, I will take a look at the Implicit Feedback literature to see how it can apply to my situation. Are you aware of any time aware implicit feedback models? On Tue, Apr 30, 2013 at 11:46 AM, Ted Dunning wrote: > Keep in mind that time dynamics generally have benefit for predicting > ratings. The point is that the average rating for a person goes up and > down over time even if their general taste doesn't change. Likewise for an > item. > > If you use implicit feedback and recommend based on recent behavior most of > the practical benefit to modeling the time dynamics goes away since you > aren't predicting ratings in any case. > > > > > On Tue, Apr 30, 2013 at 7:18 AM, Chirag Lakhani > wrote: > > > I was wondering if the collaborative filtering library in Mahout has any > > algorithms that incorporate concept drift i.e. time dynamics. From my > own > > research I have come across the BellKor algorithm called TimeSVD++ and > > there is a recent paper using hidden markov models with collaborative > > filtering. Has anything of this sort been implemented in Mahout? > > > > I am working on a problem where a company offers many different services > > and the dataset is their subscriber's subscription levels for each > service > > at different time snapshots. I am interested in using some sort of > > recommender system that can give recommendations for new services based > on > > such data. > > >
Re: Time Based Recommender System
On Wed, May 1, 2013 at 9:28 AM, Chirag Lakhani wrote: > Thanks, I will take a look at the Implicit Feedback literature to see how > it can apply to my situation. Are you aware of any time aware implicit > feedback models? > No. I don't know of any work on that. I am also not clear that there is a lot of gain to be had there. If you want to see high gain, look at how the recommendation system feeds itself and how alternative exploration options feed the recommendation system. The question here is how to get the recommendation engine to explore more when appropriate and less when no. Exploring now (i.e. bringing in more diversity in recommendations) pays off tomorrow because the system gets new kinds of data. Not exploring now pays off today because you recommend what you know already works. How to trade these off is a big question. Presumably the things one learns from Bayesian Bandits would be very helpful in this respect. > On Tue, Apr 30, 2013 at 11:46 AM, Ted Dunning > wrote: > > > Keep in mind that time dynamics generally have benefit for predicting > > ratings. The point is that the average rating for a person goes up and > > down over time even if their general taste doesn't change. Likewise for > an > > item. > > > > If you use implicit feedback and recommend based on recent behavior most > of > > the practical benefit to modeling the time dynamics goes away since you > > aren't predicting ratings in any case. > > > > >
Re: Time Based Recommender System
On 5/1/13 11:03 AM, "Ted Dunning" wrote: > >The question here is how to get the recommendation engine to explore more >when appropriate and less when no. Exploring now (i.e. bringing in more >diversity in recommendations) pays off tomorrow because the system gets >new >kinds of data. Not exploring now pays off today because you recommend >what >you know already works. How to trade these off is a big question. > Presumably the things one learns from Bayesian Bandits would be very >helpful in this respect. Ideas from Bayesian Bandits are the way to go - see http://www.economics.uci.edu/~ivan/asmb.874.pdf . Bayesian methods in general are the way to go. I've been developing a Bayesian framework for recommendations where the exploration/exploitation drops out naturally, as does figuring out which items to recommend which have never been recommended so far. It's running live, and showing good results. Unfortunately, I can't go into any of the details yetÅ :( Robin