Objectivos
Desenvolver um sistema de recomendação utilizando aprendizagem estatística.
Descrição
Neste trabalho, pretende-se implementar um sistema de recomendação utilizando aprendizagem estatística.
Em muitas aplicações (por exemplo sistemas de aluguer de filmes) cada utilizador atribui pontuações a produtos que reflectem o seu gosto (por exemplo de uma a cinco estrelas). Estas pontuações podem ser vistas como elementos de uma matriz (de utilizadores por produtos) incompleta, isto é, onde muitas entradas não foram ainda observadas.
Com base no recente desafio do Netflix Prize (http://www.netflixprize.com), pretende-se implementar algoritmos capazes de "completar" esta matriz, ou seja, de prever as preferências dos utilizadores acerca de novos produtos.
Pretende-se experimentar várias técnicas de filtragem colaborativa (seguindo o princípio de que utilizadores "semelhantes"
gostam de produtos "semelhantes"). Algumas sugestões: k-nearest neighbors, modelos probabilísticos com variáveis latentes, etc.
Requisitos
Boa formação base em probabilidades e estatística e álgebra linear.
Preferência (mas não obrigatoriedade): experiência em C/C++, Java e/ou MatLab.
Resultado esperado
Um sistema de recomendação.
Referências
B. Sarwar, G. Karypis, J. Konstan and J. Riedl, "Item-based collaborative filtering recommendation algorithms," in Proceedings of the Tenth International Conference on the World Wide Web (WWW 10), pp.
285-295, 2001.
Luo Si and Rong Jin. (2003). "Flexible Mixture Model for Collaborative Filtering" In Proceedings of the Twentieth International Conference on Machine Learning. Washington, DC USA. (ICML)
Links
http://lucene.apache.org/mahout/taste.html