You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@mahout.apache.org by James James <re...@yahoo.com> on 2010/09/21 16:53:49 UTC

SVDRecommender

Hi,

I was looking at the implementation of the SVDRecommender, and was wondering if 
anyone could point me to a paper or an algorithm on which the implementation is 
based. 


In addition, I was wondering if the current implementation supports 
binary-rating data (all we know is whether a piece of content is consumed or 
not).
The current implementation relies on a value which is the average score given by 
all the users to all the items. In case of binary-rating data, there are no 
explicit scores given. However, if we assign 1 to all consumed items and 0 to 
all unconsumed items, we will be able to get an average score needed. Has 
anybody tried the SVDRecommender on such binary-rating data before?

Thanks so much.

James


      

Re: SVDRecommender

Posted by Stanley Ipkiss <sa...@gmail.com>.
I agree with Sebastian. I had gone through Simon's blog post earlier and the
implementation seems similar to that. I think that the latest code even
acknowledges him in the comments.

Thanks for the link to the research paper. I will read through it.

-- 
View this message in context: http://lucene.472066.n3.nabble.com/SVDRecommender-tp1555236p1564953.html
Sent from the Mahout User List mailing list archive at Nabble.com.

Re: SVDRecommender

Posted by Sebastian Schelter <ss...@apache.org>.
Hi James,

I'm not sure either, but regarding the comment about Simon Funk, I'd
guess that the implementation is based on Simon Funk's famous Netflix
post, at least the code looks very similar to his approach. Correct me
if I'm wrong.

Simon Funk, "Netflix Update: Try this at home"
http://sifter.org/~simon/journal/20061211.html
<http://sifter.org/%7Esimon/journal/20061211.html>

-- sebastian

Am 21.09.2010 17:01, schrieb Sean Owen:
> On Tue, Sep 21, 2010 at 3:53 PM, James James
> <re...@yahoo.com> wrote:
>   
>> Hi,
>>
>> I was looking at the implementation of the SVDRecommender, and was wondering if
>> anyone could point me to a paper or an algorithm on which the implementation is
>> based.
>>     
> This was asked recently on the mailing list, and all I knew was:
> I'm not the author, but understand that the implementation is based on
> an expectation maximization approach. I don't know the best resource,
> nor the one that might have informed the implementation, but I suspect
> this is basically it:
>
> http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.68.1154&rep=rep1&type=pdf
>
>   
>> In addition, I was wondering if the current implementation supports
>> binary-rating data (all we know is whether a piece of content is consumed or
>> not).
>>     
> You specifically mean the SVD implementation?
> Sure you can feed in 1 and 0 and see the result (which will not be 1
> and 0). It's not the most usual application for an SVD and I've never
> done it.
>
>
>   
>> The current implementation relies on a value which is the average score given by
>> all the users to all the items. In case of binary-rating data, there are no
>> explicit scores given. However, if we assign 1 to all consumed items and 0 to
>> all unconsumed items, we will be able to get an average score needed. Has
>> anybody tried the SVDRecommender on such binary-rating data before?
>>     


Re: SVDRecommender

Posted by Sean Owen <sr...@gmail.com>.
On Tue, Sep 21, 2010 at 3:53 PM, James James
<re...@yahoo.com> wrote:
>
> Hi,
>
> I was looking at the implementation of the SVDRecommender, and was wondering if
> anyone could point me to a paper or an algorithm on which the implementation is
> based.

This was asked recently on the mailing list, and all I knew was:
I'm not the author, but understand that the implementation is based on
an expectation maximization approach. I don't know the best resource,
nor the one that might have informed the implementation, but I suspect
this is basically it:

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.68.1154&rep=rep1&type=pdf

>
> In addition, I was wondering if the current implementation supports
> binary-rating data (all we know is whether a piece of content is consumed or
> not).

You specifically mean the SVD implementation?
Sure you can feed in 1 and 0 and see the result (which will not be 1
and 0). It's not the most usual application for an SVD and I've never
done it.


> The current implementation relies on a value which is the average score given by
> all the users to all the items. In case of binary-rating data, there are no
> explicit scores given. However, if we assign 1 to all consumed items and 0 to
> all unconsumed items, we will be able to get an average score needed. Has
> anybody tried the SVDRecommender on such binary-rating data before?