A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Sistemas de Recomendação – Filtragem Colaborativa

Apresentações semelhantes


Apresentação em tema: "Sistemas de Recomendação – Filtragem Colaborativa"— Transcrição da apresentação:

1 Sistemas de Recomendação – Filtragem Colaborativa
AULA 18 DATA MINING Sandra de Amo

2 Técnicas: Filtragem Colaborativa
Por vizinhança (usando Clusterização) Usuários similares são agrupados: itens apreciados por um usuário similar a mim (cujas avaliações passadas são parecidas com as minhas) são recomendados para mim. Items similares são agrupados: items similares àqueles que eu avaliei positivamente são recomendados para mim. Modelos de Fatores Latentes

3 Clusterização Clusterizar usuários ? Clusterizar items ?
Clusterizar usuários e items ? Como representar um usuário ? Como representar um item ? Que medidas de similaridade utilizar ?

4 Perfis de items e de usuários
HP1 HP2 HP3 TW SW1 SW2 SW3 4 5 1 Perfil do usuário A A B 5 5 4 C 4 2 2 D 3 3 Perfil do filme HP1

5 Medidas de similaridade
MU só contém 1 e vazios: item foi comprado ou não Medida utilizada: distância de Jacquard Exemplo: HP1 HP2 HP3 TW SW1 SW2 SW3 A 1 1 1 B 1 1 1 C 1 1 1 D 1 1 Jacquard-Dist(A,B) = 4/5 Jacquard-Dist(A,C) = 1/2 A é mais similar a C do que a B

6 Medidas de similaridade
MU contém notas: distância de Jacquard não é adequada ! HP1 HP2 HP3 TW SW1 SW2 SW3 A 4 5 1 B 5 5 4 C 2 4 2 D 3 3 A é mais similar a C do que a B ? A e C têm opiniões antagônicas ! A e B têm opiniões coincidentes ! Jacquard-Dist(A,B) = 4/5 Jacquard-Dist(A,C) = 1/2

7 Medidas de similaridade
MU contém notas : distância do cosseno Vazios são tratados como zero Interpreta “não avaliei” como “não gostei” HP1 HP2 HP3 TW SW1 SW2 SW3 A 4 5 1 B 5 5 4 C 2 4 2 D 3 3 Cosseno(A,B) = 0,380 Cosseno(A,C) = 0.322 A é mais similar a B do que a C

8 Pré-processamento Arredondar notas: Notas 5,4,3 = 1 e notas 1,2 = vazio HP1 HP2 HP3 TW SW1 SW2 SW3 4 5 1 A B 5 5 4 C 2 4 2 D 3 3 Jacquard-Dist(A,B) = 3/4 Jacquard-Dist(A,C) = 1 A é mais similar a B do que a C

9 Pré-processamento Normalizar notas: subtraindo de cada nota de um usuário X, a média das notas de X Cosseno(A,B) = Cosseno(A,C) = A é mais similar a B do que a C

10 Métodos de Recomendação
Método 1) Recomendar items a um usuário u olhando para os K usuários mais próximos de u: Recomenda-se para u items que foram avaliados pela maioria dos K usuários mais próximos ou que obtiveram notas altas da maioria destes usuários. Método 2) Recomendar items a um usuário u olhando para os items que ele avaliou positivamente Para cada item I não avaliado: Encontra-se os m items mais próximos de I Considera-se dentre estes m items aqueles que o usuário avaliou. Calcula-se a média das notas destes items Esta será a nota prevista para I Faz-se um ranking das notas dos items não avaliados por u e recomenda-se os mais cotados Não há simetria usuário/item nestas duas maneiras de recomendação

11 Clusterizando Usuários e Items : como lidar com a esparsidade da MU
Esparsidade da MU  dificuldade para avaliar a distância entre items e entre usuários. Mesmo se dois items i1 e i2 são do mesmo gênero, poucos usuários compraram ou avaliaram ambos. Mesmo se dois usuários u1 e u2 gostam de um mesmo gênero de filmes, eles podem não ter comprado nenhum item em comum. Método Passo 1 Usar um algoritmo de clusterização hierárquico para clusterizar items (ou usuários) Número de clusters deve ser grande = metade do número de items

12 Método de lidar com a esparsidade
Exemplo Passo 1 HP1 HP2 HP3 TW SW1 SW2 SW3 4 5 1 A B 5 5 4 C 2 4 2 D 3 3 M1 Clusters de items Vazios diminuiram

13 Método de lidar com a esparsidade
Passo 2: Clusteriza-se os usuários na MU obtida no passo 1. Número de clusters = metade do número de usuários Calcula-se as entradas da nova matriz M2 (cluster usuários x cluster items) Entrada i, j = média dos valores que aparecem na coluna j da matriz M1, para todos os usuários do cluster I Repete-se os passos 1 e 2 até obter um número razoável de clusters Matriz final = Mn

14 Como recomendar usando a matriz Mn ?
Seja U um usuário e I um item que o usuário não avaliou Queremos prever a nota que U daria para I Encontra-se os clusters C e D de Mn aos quais U e I pertencem. C = cluster de usuários (na vertical) D = cluster de items (na horizontal) Se a posição C,D da matriz Mn não é vazia: Valor da posição C,D de Mn = x Esta é a nota prevista para I que seria dada por U Se a posição C,D da matriz Mn é vazia Utiliza-se Método 2 para inferir a entrada da matriz Mn Valor desta entrada = nota prevista

15 Modelo de Fatores Latentes
O quanto o usuáro 1 gosta de filmes da Julia Roberts A=JR G=Com Ator = Julia Roberts Gênero = Comédia O quanto o filme HP1 tem a ver com a atriz Julia Roberts Procura fatores “latentes” que relacionam características de preferências dos usuários com características dos items.

16 Redução UV MU = U.V MU = matriz n x m U = matriz n x p,
V = matriz p x m onde p = número de fatores latentes p = parâmetro do algoritmo Problema de Otimização = Dada a matriz MU (esparsa) encontrar matrizes U e V (completas) tais que MU é muito próxima de UV

17 Como medir “proximidade” entre as matrizes
RMSE (root-mean-square error) MU

18 Exemplo MU RMSE = 1,086 U V UV

19 Inicia-se com todos os elementos de U e V iguais a 1.
Como encontrar as melhores matrizes U e V a 2 fatores latentes tais que UV aproximam MU ? Inicia-se com todos os elementos de U e V iguais a 1. Altera-se progressivamente os valores de cada entrada de modo que o novo valor é o que mais diminui o RMSE da matriz anterior com o velho valor.

20 Exemplo: melhorando o u11

21 Exemplo: melhorando o u11
Contribuição da 1a linha Soma dos erros quadráticos da 1a linha: Antes: 18 Depois : 5,2 RMSE Antes : 75 Depois: 62.2

22 Exemplo: melhorando o v11

23 Exemplo: quando a entrada a otimizar envolve espaços vazios da MU
Otimizando u31 MU

24 Técnica Gradient Descent
Dados um conjunto de valores (os elementos não vazios da MU), para cada um deles encontrar a direção de mudança que minimiza a função erro (o RMSE) Quando a matriz é muito grande, esta técnica é bem demorada, leva muito tempo para convergir. Gradient Descent Estocástico: selecionar randomicamente apenas um subconjunto dos pontos da matriz.

25 Algoritmo da Decomposição UV
Entrada: matriz MU (nxm) (com valores vazios), p = número de fatores latentes Saida : matrizes U (nxp), V (pxm) tais que RMSE(MU,UV) é minimal. Pre-processamento da Matriz MU (n x m) Inicializar U e V Estipular um caminho x1,x2,...,xk, onde k = np+mp e xi são elementos da matriz U ou da matriz V Condição de parada

26 Etapas do algoritmo Preprocessamento de MU
Subtrair de cada elemento mij (não vazio) de MU a média ei das notas dadas pelo usuário i Subtrair de cada elemento resultante a média fj das notas obtidas pelo item j Pode-se inverter a ordem dos 2 procedimentos acima. Os resultados não serão os mesmos mas serão próximos Sempre que se for fazer predições sobre notas, é preciso “desfazer a normalização” no final. Se o valor previsto para mij for X, então o valor recomendado deverá ser X + ei + fj

27 Etapas do algoritmo 2. Inicialização de U e V
Seja a = média dos valores de MU Inicializar U e V com o valor √a/p para cada elemento de U e de V Outra maneira: Cada valor é inicializado de forma diferente considerando o valor √a/p + x, onde x um número escolhido em um conjunto com distribuição normal com média 0 e desvio padrão c para algum c.

28 Etapas do algoritmo 3. Estipular a ordem dos elementos de U e V em que é feita a otimização. Linha por linha: alternando linhas de U com linhas de V Visitar os elementos nesta ordem, de uma maneira round-robin Outra maneira: escolhe-se uma permutação qualquer do conjunto {1,...,k} e visita os elementos das matrizes U e V nesta ordem.

29 Etapas do algoritmo 4. Condição de parada
A cada iteração todos os k pontos são otimizados e o RMSE é calculado. Caso RMSE < threshold dado, para-se o processo. Outra variante: assim que o RMSE durante uma iteração for < threshold, pára.

30 Problema com overfitting
Considere diversas decomposições UV A fim de inferir o valor de uma posição vazia mij na MU considere a média das inferências feitas por cada decomposição para mij.

31 Fórmula Geral para otimizar elemento urs
Seja P = UV Elemento urs só afeta a linha r de P urs

32 Exercicio para entregar
Deduzir fórmula análoga para obter o valor otimizado para o elemento vrs = y


Carregar ppt "Sistemas de Recomendação – Filtragem Colaborativa"

Apresentações semelhantes


Anúncios Google