Time Based Recommender System

2013-04-30 Thread Chirag Lakhani
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

2013-04-30 Thread Sean Owen
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

2013-04-30 Thread Chirag Lakhani
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

2013-04-30 Thread Sean Owen
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

2013-04-30 Thread Ted Dunning
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

2013-05-01 Thread Chirag Lakhani
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

2013-05-01 Thread Ted Dunning
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

2013-05-01 Thread Robin Morris


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