You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@mahout.apache.org by yamo93 <ya...@gmail.com> on 2012/09/19 16:48:44 UTC

Which math functions to mix result of several recommenders

Hi,

I try to make hybrid recommendations. So, I run different recommenders 
(with different similarity algorithms) and I want to mix results (each 
algo returns a list of recommended items). It seems to be known as Mixed 
Hybrid in the Burke Taxonomy.

I thought about a simple transposition in the range 0..1 for each list 
of recommended items and to compute the average.

But the results are not necessarily distributed linearly (by ex. Cosine)

Which are the best math functions to do this ?

Is there an existing impl. in mahout or in another framework ?

Thanks for your help,
Yann.

Re: Which math functions to mix result of several recommenders

Posted by Steven Bourke <sb...@gmail.com>.
You can also give ensemble blending a go 
http://videolectures.net/kdd2010_jahrer_cpar/

On 19 Sep 2012, at 16:27, Alejandro Bellogin Kouki wrote:

> I think this problem relates with the one in Information Retrieval of "rank aggregation". In the following paper you can find an example applied to group recommendation:
> http://www.inf.unibz.it/~ricci/papers/fp14-baltrunas.pdf <http://www.inf.unibz.it/%7Ericci/papers/fp14-baltrunas.pdf>
> 
> As Sean has explained, an average of the ratings is valid when the ratings to be combined are in the same range, although probably Borda count or the Spearman footrule are more common.
> 
> When that is not the case, a normalization step is required:
> http://ciir.cs.umass.edu/pubfiles/ir-242.pdf
> A standard or rank-sim normalization step should be OK.
> 
> Regards,
> Alejandro
> 
> Sean Owen escribió:
>> If the output of the recommenders are estimated ratings then they are
>> comparable. You can take the union of all top N lists. Then ask each
>> recommended for an estimated rating for each it did not score already.
>> Average the ratings and rank on that or perhaps average minus standard
>> deviation.
>> 
>> Most recommenders based on rating do this. Those not based on rating don't
>> and it is not necessarily true that values are meaningfully comparable.
>> Then you would have to make up a comparable score based on rank. I would
>> use .5 for first, .25 for second, etc. Then follow the process above.
>> 
>> Sean
>> On Sep 19, 2012 3:49 PM, "yamo93" <ya...@gmail.com> wrote:
>> 
>>  
>>> Hi,
>>> 
>>> I try to make hybrid recommendations. So, I run different recommenders
>>> (with different similarity algorithms) and I want to mix results (each algo
>>> returns a list of recommended items). It seems to be known as Mixed Hybrid
>>> in the Burke Taxonomy.
>>> 
>>> I thought about a simple transposition in the range 0..1 for each list of
>>> recommended items and to compute the average.
>>> 
>>> But the results are not necessarily distributed linearly (by ex. Cosine)
>>> 
>>> Which are the best math functions to do this ?
>>> 
>>> Is there an existing impl. in mahout or in another framework ?
>>> 
>>> Thanks for your help,
>>> Yann.
>>> 
>>>    
>> 
>>  
> 
> -- 
> Alejandro Bellogin Kouki
> http://rincon.uam.es/dir?cw=435275268554687
> 


Re: Which math functions to mix result of several recommenders

Posted by Alejandro Bellogin Kouki <al...@uam.es>.
I think this problem relates with the one in Information Retrieval of 
"rank aggregation". In the following paper you can find an example 
applied to group recommendation:
http://www.inf.unibz.it/~ricci/papers/fp14-baltrunas.pdf 
<http://www.inf.unibz.it/%7Ericci/papers/fp14-baltrunas.pdf>

As Sean has explained, an average of the ratings is valid when the 
ratings to be combined are in the same range, although probably Borda 
count or the Spearman footrule are more common.

When that is not the case, a normalization step is required:
http://ciir.cs.umass.edu/pubfiles/ir-242.pdf
A standard or rank-sim normalization step should be OK.

Regards,
Alejandro

Sean Owen escribió:
> If the output of the recommenders are estimated ratings then they are
> comparable. You can take the union of all top N lists. Then ask each
> recommended for an estimated rating for each it did not score already.
> Average the ratings and rank on that or perhaps average minus standard
> deviation.
>
> Most recommenders based on rating do this. Those not based on rating don't
> and it is not necessarily true that values are meaningfully comparable.
> Then you would have to make up a comparable score based on rank. I would
> use .5 for first, .25 for second, etc. Then follow the process above.
>
> Sean
>  On Sep 19, 2012 3:49 PM, "yamo93" <ya...@gmail.com> wrote:
>
>   
>> Hi,
>>
>> I try to make hybrid recommendations. So, I run different recommenders
>> (with different similarity algorithms) and I want to mix results (each algo
>> returns a list of recommended items). It seems to be known as Mixed Hybrid
>> in the Burke Taxonomy.
>>
>> I thought about a simple transposition in the range 0..1 for each list of
>> recommended items and to compute the average.
>>
>> But the results are not necessarily distributed linearly (by ex. Cosine)
>>
>> Which are the best math functions to do this ?
>>
>> Is there an existing impl. in mahout or in another framework ?
>>
>> Thanks for your help,
>> Yann.
>>
>>     
>
>   

-- 
  Alejandro Bellogin Kouki
  http://rincon.uam.es/dir?cw=435275268554687


Re: Which math functions to mix result of several recommenders

Posted by Sean Owen <sr...@gmail.com>.
If the output of the recommenders are estimated ratings then they are
comparable. You can take the union of all top N lists. Then ask each
recommended for an estimated rating for each it did not score already.
Average the ratings and rank on that or perhaps average minus standard
deviation.

Most recommenders based on rating do this. Those not based on rating don't
and it is not necessarily true that values are meaningfully comparable.
Then you would have to make up a comparable score based on rank. I would
use .5 for first, .25 for second, etc. Then follow the process above.

Sean
 On Sep 19, 2012 3:49 PM, "yamo93" <ya...@gmail.com> wrote:

> Hi,
>
> I try to make hybrid recommendations. So, I run different recommenders
> (with different similarity algorithms) and I want to mix results (each algo
> returns a list of recommended items). It seems to be known as Mixed Hybrid
> in the Burke Taxonomy.
>
> I thought about a simple transposition in the range 0..1 for each list of
> recommended items and to compute the average.
>
> But the results are not necessarily distributed linearly (by ex. Cosine)
>
> Which are the best math functions to do this ?
>
> Is there an existing impl. in mahout or in another framework ?
>
> Thanks for your help,
> Yann.
>