You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@mahout.apache.org by Mugoma Joseph Okomba <mu...@yengas.com> on 2012/05/20 03:31:45 UTC

Mixing simiarity measures

Hello,

We have come across situation where one similarity measure doesn't give
desired result.

E.g we use PearsonCorrelationSimilarity to get similarity between users
but find that only overlaps in ratings between the 2 users are being
considered in final result, without consideration of the overall
population.

However, instead of resorting to a different measure, e.g.
LogLikelihoodSimilarity or TanimotoCoefficientSimilarity, we are of
opinion that we mix 2 or 3 measures so that weakness of one is booted by
strength of the other.

This is still experimental and don't how final outcome will be. But was
just wondering if mixing similarity measures is advisable in the 1st
place?

Thanks.

Mugoma Joseph.


Re: Mixing simiarity measures

Posted by Ted Dunning <te...@gmail.com>.
Great.

We are happy to help you get your implementation going and if it really is
useful, then it makes sense for Mahout.  But implementation is the
beginning.

On Wed, May 30, 2012 at 4:44 AM, Geek Gamer <ge...@gmail.com> wrote:

>
> Right now it is pretty much in theory, i am doing some ground work,
> but since i am using mahout heavily I would end up using it in mahout.
> I'll keep the group updated.

Re: Mixing simiarity measures

Posted by Geek Gamer <ge...@gmail.com>.
On Wed, May 30, 2012 at 3:54 AM, Ted Dunning <te...@gmail.com> wrote:
> On Tue, May 29, 2012 at 5:36 AM, Geek Gamer <ge...@gmail.com> wrote:
>
>> ...
>> Do you have any refernce paper or system about how people have used it
>> to improve recommendation systems? How people define context vectors
>> using extra information.
>>
>
> I don't have references at hand, but I remember that a google search got
> some good ones last time I looked.
>
> A quick idea I got was to use LDA to build topic vectors and use them
>> as context vectors, any thoughts on that.
>>
>
> That can work well.
>
>
>> RI seems to be a good candidate for contribution to mahout.
>>
>
> Could be.  We are less than enthusiastic about purely theoretical
> contributions.  If you use it seriously, that would count for a lot, but
> just writing it for the sake of writing it isn't as likely to find a
> positive reception.

Right now it is pretty much in theory, i am doing some ground work,
but since i am using mahout heavily I would end up using it in mahout.
I'll keep the group updated.

>
> On Wed, May 23, 2012 at 12:11 PM, Ted Dunning <te...@gmail.com> wrote:
>> > RI, per se, probably won't help that much with the coincidence problem.
>> >
>> > The Mahout math libraries would help a lot with a random indexing
>> > implementation.
>> >
>> > Kitenga has some very nice random indexing support.  See
>> > http://www.kitenga.com/
>> >
>> > They offer commercial software, but you get what you pay for.
>> >
>> > On Wed, May 23, 2012 at 12:18 AM, Mugoma Joseph Okomba <
>> mugoma@yengas.com>wrote:
>> >
>> >>
>> >> Thanks for all the comments. They give us idea on what direction to
>> take.
>> >>
>> >> We have been zeroing on idea of Random Indexing, but R.I seems missing
>> in
>> >> mahout currently. Are there future plans for implementing R.I in mahout?
>> >> Any libraries out that that would be useful for R.I?
>> >>
>> >> On Sun, May 20, 2012 9:47 am, Ted Dunning wrote:
>> >> > The basic reasoning here is that any cooccurrence measure without
>> >> > smoothing
>> >> > is will have zero overlap whenever all the others have zero overlap.
>> >>  This
>> >> > seems to be the root of your problem.  The solution is to increase
>> >> overlap
>> >> > or increase data.
>> >> >
>> >> > The problem with correlation based approaches is that they over state
>> >> > coincidental overlaps.  Fixing that can't fix the problem of no
>> overlap.
>> >> >
>> >>
>> >>
>> >>
>>

Re: Mixing simiarity measures

Posted by Ted Dunning <te...@gmail.com>.
On Tue, May 29, 2012 at 5:36 AM, Geek Gamer <ge...@gmail.com> wrote:

> ...
> Do you have any refernce paper or system about how people have used it
> to improve recommendation systems? How people define context vectors
> using extra information.
>

I don't have references at hand, but I remember that a google search got
some good ones last time I looked.

A quick idea I got was to use LDA to build topic vectors and use them
> as context vectors, any thoughts on that.
>

That can work well.


> RI seems to be a good candidate for contribution to mahout.
>

Could be.  We are less than enthusiastic about purely theoretical
contributions.  If you use it seriously, that would count for a lot, but
just writing it for the sake of writing it isn't as likely to find a
positive reception.

On Wed, May 23, 2012 at 12:11 PM, Ted Dunning <te...@gmail.com> wrote:
> > RI, per se, probably won't help that much with the coincidence problem.
> >
> > The Mahout math libraries would help a lot with a random indexing
> > implementation.
> >
> > Kitenga has some very nice random indexing support.  See
> > http://www.kitenga.com/
> >
> > They offer commercial software, but you get what you pay for.
> >
> > On Wed, May 23, 2012 at 12:18 AM, Mugoma Joseph Okomba <
> mugoma@yengas.com>wrote:
> >
> >>
> >> Thanks for all the comments. They give us idea on what direction to
> take.
> >>
> >> We have been zeroing on idea of Random Indexing, but R.I seems missing
> in
> >> mahout currently. Are there future plans for implementing R.I in mahout?
> >> Any libraries out that that would be useful for R.I?
> >>
> >> On Sun, May 20, 2012 9:47 am, Ted Dunning wrote:
> >> > The basic reasoning here is that any cooccurrence measure without
> >> > smoothing
> >> > is will have zero overlap whenever all the others have zero overlap.
> >>  This
> >> > seems to be the root of your problem.  The solution is to increase
> >> overlap
> >> > or increase data.
> >> >
> >> > The problem with correlation based approaches is that they over state
> >> > coincidental overlaps.  Fixing that can't fix the problem of no
> overlap.
> >> >
> >>
> >>
> >>
>

Re: Mixing simiarity measures

Posted by Geek Gamer <ge...@gmail.com>.
Ted,
RI seems pretty interesting,

Do you have any refernce paper or system about how people have used it
to improve recommendation systems? How people define context vectors
using extra information.

A quick idea I got was to use LDA to build topic vectors and use them
as context vectors, any thoughts on that.

RI seems to be a good candidate for contribution to mahout.


On Wed, May 23, 2012 at 12:11 PM, Ted Dunning <te...@gmail.com> wrote:
> RI, per se, probably won't help that much with the coincidence problem.
>
> The Mahout math libraries would help a lot with a random indexing
> implementation.
>
> Kitenga has some very nice random indexing support.  See
> http://www.kitenga.com/
>
> They offer commercial software, but you get what you pay for.
>
> On Wed, May 23, 2012 at 12:18 AM, Mugoma Joseph Okomba <mu...@yengas.com>wrote:
>
>>
>> Thanks for all the comments. They give us idea on what direction to take.
>>
>> We have been zeroing on idea of Random Indexing, but R.I seems missing in
>> mahout currently. Are there future plans for implementing R.I in mahout?
>> Any libraries out that that would be useful for R.I?
>>
>> On Sun, May 20, 2012 9:47 am, Ted Dunning wrote:
>> > The basic reasoning here is that any cooccurrence measure without
>> > smoothing
>> > is will have zero overlap whenever all the others have zero overlap.
>>  This
>> > seems to be the root of your problem.  The solution is to increase
>> overlap
>> > or increase data.
>> >
>> > The problem with correlation based approaches is that they over state
>> > coincidental overlaps.  Fixing that can't fix the problem of no overlap.
>> >
>>
>>
>>

Re: Mixing simiarity measures

Posted by Ted Dunning <te...@gmail.com>.
RI, per se, probably won't help that much with the coincidence problem.

The Mahout math libraries would help a lot with a random indexing
implementation.

Kitenga has some very nice random indexing support.  See
http://www.kitenga.com/

They offer commercial software, but you get what you pay for.

On Wed, May 23, 2012 at 12:18 AM, Mugoma Joseph Okomba <mu...@yengas.com>wrote:

>
> Thanks for all the comments. They give us idea on what direction to take.
>
> We have been zeroing on idea of Random Indexing, but R.I seems missing in
> mahout currently. Are there future plans for implementing R.I in mahout?
> Any libraries out that that would be useful for R.I?
>
> On Sun, May 20, 2012 9:47 am, Ted Dunning wrote:
> > The basic reasoning here is that any cooccurrence measure without
> > smoothing
> > is will have zero overlap whenever all the others have zero overlap.
>  This
> > seems to be the root of your problem.  The solution is to increase
> overlap
> > or increase data.
> >
> > The problem with correlation based approaches is that they over state
> > coincidental overlaps.  Fixing that can't fix the problem of no overlap.
> >
>
>
>

Re: Mixing simiarity measures

Posted by Mugoma Joseph Okomba <mu...@yengas.com>.
Thanks for all the comments. They give us idea on what direction to take.

We have been zeroing on idea of Random Indexing, but R.I seems missing in
mahout currently. Are there future plans for implementing R.I in mahout?
Any libraries out that that would be useful for R.I?

On Sun, May 20, 2012 9:47 am, Ted Dunning wrote:
> The basic reasoning here is that any cooccurrence measure without
> smoothing
> is will have zero overlap whenever all the others have zero overlap.  This
> seems to be the root of your problem.  The solution is to increase overlap
> or increase data.
>
> The problem with correlation based approaches is that they over state
> coincidental overlaps.  Fixing that can't fix the problem of no overlap.
>



Re: Mixing simiarity measures

Posted by Ted Dunning <te...@gmail.com>.
The basic reasoning here is that any cooccurrence measure without smoothing
is will have zero overlap whenever all the others have zero overlap.  This
seems to be the root of your problem.  The solution is to increase overlap
or increase data.

The problem with correlation based approaches is that they over state
coincidental overlaps.  Fixing that can't fix the problem of no overlap.

On Sun, May 20, 2012 at 2:27 AM, Ted Dunning <te...@gmail.com> wrote:

> I wouldn't generally do this.
>
> One option to get better recall is something like random indexing or LSA.
>  My guess is that you don't have enough data in general.
>
> On Sat, May 19, 2012 at 9:31 PM, Mugoma Joseph Okomba <mu...@yengas.com>wrote:
>
>> This is still experimental and don't how final outcome will be. But was
>> just wondering if mixing similarity measures is advisable in the 1st
>> place?
>>
>
>

Re: Mixing simiarity measures

Posted by Ted Dunning <te...@gmail.com>.
I wouldn't generally do this.

One option to get better recall is something like random indexing or LSA.
 My guess is that you don't have enough data in general.

On Sat, May 19, 2012 at 9:31 PM, Mugoma Joseph Okomba <mu...@yengas.com>wrote:

> This is still experimental and don't how final outcome will be. But was
> just wondering if mixing similarity measures is advisable in the 1st
> place?
>

Re: Mixing simiarity measures

Posted by Sean Owen <sr...@gmail.com>.
On Sun, May 20, 2012 at 2:31 AM, Mugoma Joseph Okomba <mu...@yengas.com> wrote:
> E.g we use PearsonCorrelationSimilarity to get similarity between users
> but find that only overlaps in ratings between the 2 users are being
> considered in final result, without consideration of the overall
> population.

Yes, this is how Pearson is defined.


> However, instead of resorting to a different measure, e.g.
> LogLikelihoodSimilarity or TanimotoCoefficientSimilarity, we are of
> opinion that we mix 2 or 3 measures so that weakness of one is booted by
> strength of the other.

The values output by different metrics are not necessarily comparable.
It would work, in the sense that it would run without error. It may
become harder to understand what the result means though.

I would simply use a different metric like LogLikelihoodSimilarity,
and stop there.