Recomendação de videos com RSVD Bruno de F. Melo e Souza Gustavo Soares Souza PUC-RJ/INF2915 –...

19
Recomendação de videos com RSVD Bruno de F. Melo e Souza Gustavo Soares Souza PUC-RJ/INF2915 – Aprendizado de Máquina I Rio de Janeiro, 2 de dezembro de 2008

Transcript of Recomendação de videos com RSVD Bruno de F. Melo e Souza Gustavo Soares Souza PUC-RJ/INF2915 –...

Page 1: Recomendação de videos com RSVD Bruno de F. Melo e Souza Gustavo Soares Souza PUC-RJ/INF2915 – Aprendizado de Máquina I Rio de Janeiro, 2 de dezembro de.

Recomendação de videos com RSVD

Bruno de F. Melo e SouzaGustavo Soares Souza

PUC-RJ/INF2915 – Aprendizado de Máquina I Rio de Janeiro, 2 de dezembro de 2008

Page 2: Recomendação de videos com RSVD Bruno de F. Melo e Souza Gustavo Soares Souza PUC-RJ/INF2915 – Aprendizado de Máquina I Rio de Janeiro, 2 de dezembro de.

Motivação

“In 2002 20% of Amazon’s sales resulted from personalized

recommendations.” Linden, Greg

Page 3: Recomendação de videos com RSVD Bruno de F. Melo e Souza Gustavo Soares Souza PUC-RJ/INF2915 – Aprendizado de Máquina I Rio de Janeiro, 2 de dezembro de.

Desafio Prever o quanto um usuário irá

gostar ou desgostar de um conjunto de elementos Video On Demand

Filtragem colaborativa User-based

Page 4: Recomendação de videos com RSVD Bruno de F. Melo e Souza Gustavo Soares Souza PUC-RJ/INF2915 – Aprendizado de Máquina I Rio de Janeiro, 2 de dezembro de.

Problema

Aw

q

Aij = w[i] * q[j] Aij varia de 1 a 5 A é uma matriz esparsa

USER

VIDEO

Page 5: Recomendação de videos com RSVD Bruno de F. Melo e Souza Gustavo Soares Souza PUC-RJ/INF2915 – Aprendizado de Máquina I Rio de Janeiro, 2 de dezembro de.

Corpus Não existia um pronto… Logs dos servidores

IP Data/Hora Sistema Operacional Versão do browser Midia id Tamanho do request Tipo do request

25% de novos visitantes/dia Usuários não são obrigados a dar um rating Construção difícil …

Page 6: Recomendação de videos com RSVD Bruno de F. Melo e Souza Gustavo Soares Souza PUC-RJ/INF2915 – Aprendizado de Máquina I Rio de Janeiro, 2 de dezembro de.

Corpus

Como identificar um usuário? IP do usuário (IP + Versão do Browser + Sistema Operacional) Cookie que identifica o usuário

Feedback implícito vs. explícito Usuários: 236.095 Videos com rating: 22.830 A = 5,4B Ratings: ~326k em Out/2008

< 2 ratings por usuário

Page 7: Recomendação de videos com RSVD Bruno de F. Melo e Souza Gustavo Soares Souza PUC-RJ/INF2915 – Aprendizado de Máquina I Rio de Janeiro, 2 de dezembro de.

Corpus Quantidade de vídeos (x) que tiveram y ratings

Quantidade de usuários (x) que deram y ratings

Page 8: Recomendação de videos com RSVD Bruno de F. Melo e Souza Gustavo Soares Souza PUC-RJ/INF2915 – Aprendizado de Máquina I Rio de Janeiro, 2 de dezembro de.

Corpus Rating médio dos usuários

Variância média por perfil de rating

Page 9: Recomendação de videos com RSVD Bruno de F. Melo e Souza Gustavo Soares Souza PUC-RJ/INF2915 – Aprendizado de Máquina I Rio de Janeiro, 2 de dezembro de.

RSVD - Funk, Simon chute inicial para w e q

X =[x1,…, xn] //exemplos

E = ij cij.(xij - wi.qj)2

DwiE = - j 2.cij.(xij - wi.qj).qj

DqjE = - i 2.cij.(xij - wi.qj).wi

wi wi + . j (xij - wi.qj).qj

qj qj + . i (xij - wi.qj).wi

Metodologia & Ferramentas

Page 10: Recomendação de videos com RSVD Bruno de F. Melo e Souza Gustavo Soares Souza PUC-RJ/INF2915 – Aprendizado de Máquina I Rio de Janeiro, 2 de dezembro de.

Metodologia & Ferramentas

erro = VR - VP Ex.: VR = 2, VP = 1.5 Erro = (2 - 1,5)2 = 0.25

Métrica de avaliação: RMSE Implementado em python

Page 11: Recomendação de videos com RSVD Bruno de F. Melo e Souza Gustavo Soares Souza PUC-RJ/INF2915 – Aprendizado de Máquina I Rio de Janeiro, 2 de dezembro de.

Resultados Não foram muito bons…

Num. Var. Latentes RMSE Tempo (min)

1 4,50 0,1310 4,10 1,3720 3,84 4,1830 3,69 8,4940 3,57 13,1250 3,47 19,1160 3,38 26,3470 3,30 35,5180 3,24 45,4890 3,18 58,02100 3,13 69,79110 3,10 83,43120 3,06 99,22130 3,03 118,07140 3,00 133,49150 2,97 157,31

Page 12: Recomendação de videos com RSVD Bruno de F. Melo e Souza Gustavo Soares Souza PUC-RJ/INF2915 – Aprendizado de Máquina I Rio de Janeiro, 2 de dezembro de.

Resultados - Treino & Teste Aumento do tempo de treinamento e redução do RMSE em função da quantidade de variáveis latentes utilizadas

Page 13: Recomendação de videos com RSVD Bruno de F. Melo e Souza Gustavo Soares Souza PUC-RJ/INF2915 – Aprendizado de Máquina I Rio de Janeiro, 2 de dezembro de.

Comparativo: Netflix E se tivéssemos um bom dataset?

Page 14: Recomendação de videos com RSVD Bruno de F. Melo e Souza Gustavo Soares Souza PUC-RJ/INF2915 – Aprendizado de Máquina I Rio de Janeiro, 2 de dezembro de.

Corpus: Netflix Dataset

Videos: 17.771 Usuários: 480.189 Ratings: 1 a 5

A = 8.5 Bilhões

A

Page 15: Recomendação de videos com RSVD Bruno de F. Melo e Souza Gustavo Soares Souza PUC-RJ/INF2915 – Aprendizado de Máquina I Rio de Janeiro, 2 de dezembro de.

Resultados: Netflix Resultados obtidos foram melhores

daqueles com o dataset gerado

Num. Var. Latentes RMSE Tempo (min)

1 1,6527 13,740 1,137 35680 1,1368 700120 1,1359 1050

Page 16: Recomendação de videos com RSVD Bruno de F. Melo e Souza Gustavo Soares Souza PUC-RJ/INF2915 – Aprendizado de Máquina I Rio de Janeiro, 2 de dezembro de.

Conclusão Construir um dataset de treino e

teste é um processo difícil A visualização de um video está

intimamente ligada ao tempo Método não admite atualizações

incrementais

Page 17: Recomendação de videos com RSVD Bruno de F. Melo e Souza Gustavo Soares Souza PUC-RJ/INF2915 – Aprendizado de Máquina I Rio de Janeiro, 2 de dezembro de.

Trabalhos futuros Identificação do usuário por cookie Filtragem do dataset Incluir fator de regularização Metodologia diferente para usuários

e vídeos com poucos dados para correlação

Estender o método para outros tipos de informações consumidas pelos usuários

Page 18: Recomendação de videos com RSVD Bruno de F. Melo e Souza Gustavo Soares Souza PUC-RJ/INF2915 – Aprendizado de Máquina I Rio de Janeiro, 2 de dezembro de.

Trabalhos futuros

Testar diferentes abordagens de filtragem colaborativa para o problema de recomendação: Content-based Item-based Markov random walks

Combinação dessas heurísticas

Page 19: Recomendação de videos com RSVD Bruno de F. Melo e Souza Gustavo Soares Souza PUC-RJ/INF2915 – Aprendizado de Máquina I Rio de Janeiro, 2 de dezembro de.

Referências1. SVD. Wikipedia2. Paterek, Arkadiusz. Improving regularized singular value

decomposition for collaborative filtering3. Funk, Simon. Netflix Update: Try this at home4. Ali, K. and Stam, W. TiVo: Making show

Recommendations Using a Distributed Collaborative Filtering Architecture

5. Baluja, S., Seth, R., Sivakumar, D., Jing, Y., Yagnik, J., Kumar, S., Ravichandran, D. and Aly, M. Video Suggestion and Discovery for YouTube: Taking Random Walks Through the View Graph