Diferença de recomendação baseada em item e baseada em usuário no Mahout

15

Eu gostaria de saber como exatamente a maioria das recomendações baseadas no usuário e no item diferem umas das outras.

Define que

Baseado no usuário : recomende itens encontrando usuários semelhantes. Isso geralmente é mais difícil de dimensionar devido à natureza dinâmica dos usuários.

Baseado em itens: calcule a similaridade entre itens e faça recomendações. Os itens geralmente não mudam muito, então isso geralmente pode ser calculado off-line.

Mas, embora haja dois tipos de recomendação disponíveis, o que eu entendo é que ambos terão algum modelo de dados (digamos 1,2 ou 1,2, 0,5 como item1, item2, valor ou usuário1, usuário2, valor em que o valor não é obrigatório) e executará todo o cálculo conforme a função de compilação de medida de similaridade e recomendação que escolhemos e podemos executar as recomendações baseadas no usuário / item nos mesmos dados (essa é uma suposição correta ??).

Então, eu gostaria de saber exatamente como e em que todos os aspectos esses dois tipos de algoritmo diferem.

Sreejithc321
fonte

Respostas:

11

Você está certo de que ambos os modelos funcionam nos mesmos dados sem nenhum problema. Ambos os itens operam em uma matriz de classificações de itens do usuário.

Na abordagem baseada no usuário, o algoritmo produz uma classificação para um item ipor um usuário u, combinando as classificações de outros usuários u'semelhantes u. Similar aqui significa que as classificações dos dois usuários têm uma alta correlação de Pearson ou semelhança de cosseno ou algo semelhante.

Na abordagem baseada em item que produzir uma classificação para ipor uolhando para o conjunto de itens i'que são semelhantes aos i(no mesmo sentido que acima, exceto agora estaríamos olhando para as classificações que os itens recebidos de usuários) que uavaliou e depois combina as classificações por ude i'em uma classificação prevista por upor i.

A abordagem baseada em itens foi inventada na Amazon ( http://dl.acm.org/citation.cfm?id=642471 ) para enfrentar seus desafios de escala com a filtragem baseada no usuário. O número de itens vendidos é muito menor e muito menos dinâmico que o número de usuários, de modo que as semelhanças entre itens e itens podem ser calculadas offline e acessadas quando necessário.

mrmcgreg
fonte
21

Algoritmo Baseado em Item

for every item i that u has no preference for yet

  for every item j that u has a preference for

    compute a similarity s between i and j

    add u's preference for j, weighted by s, to a running average

 return the top items, ranked by weighted average

Algoritmo Baseado em Usuário

for every item i that u has no preference for yet

 for every other user v that has a preference for i

   compute a similarity s between u and v

   add v's preference for i, weighted by s, to a running average

 return the top items, ranked by weighted average

Item vs Usuário:

1) Os recomendadores escalam com o número de itens ou usuários com os quais devem lidar, para que haja cenários em que cada tipo possa ter um desempenho melhor que o outro

2) As estimativas de similaridade entre itens têm maior probabilidade de convergir ao longo do tempo do que as similaridades entre os usuários

3) Podemos calcular e armazenar em cache as semelhanças que convergem, o que pode dar aos recomendadores baseados em itens uma vantagem de desempenho

4) Os recomendadores baseados em itens começam com uma lista dos itens preferidos de um usuário e, portanto, não precisam de uma vizinhança de itens mais próxima, assim como os recomendados.

SRS
fonte
Aviso justo: os links não são aceitos como respostas neste site. Eu recomendo editar ou excluir antes de receber quaisquer votos negativos!
Sheldonkreger
1
provavelmente existe um erro de digitação no "algoritmo baseado no usuário" - a quarta linha deve começar com "a preferência de adicionar u por i ..."
Bernardo Aflalo
@BernardoAflalo Eu não acho que é um erro de digitação, você adiciona preferência por todo o v, e depois tomar uma média ponderada
Oswald