lunes, 24 de abril de 2017

Clase n2: 24-Abril-2017 - Filtrado Colaborativo basado en USUARIOS & ITEMS + otros

 Filtrado Colaborativo

Este sistema se basa en la recopilación de grande volumen de dato del comportamiento de los usuarios para predecir una recomendación a un usuario basado a un usuario similar a él. Una ventaja de este modelo es que no es necesario entender el contenido del item por ende puedo predecir con precision items complejos. El modelo puede basar en usuarios similares o en items similares.

La lógica del algoritmo es decir que dos usuario son parecidos si tienen un historial de gusto en el pasado, por ende se puede recomendar un producto consumido por un usuario al otro usuario si no lo ha recomendado, lo mismo corresponde si se basa por items.

1. Basado en Usuario

Filtrado Colaborativo (Basado en el usuario): Buscamos los K usuarios más parecidos a nuestro "active" o "center" user (K-NN). Luego, hacemos predicción de items que los vecinos han consumido, pero que el "active user" no ha consumido aún.

Pasos del Algoritmo basado en Usuarios



1. k-NN:
2. Correlación de Pearson:
3. Predicción de Ranking:

Este tipo de Modelo sufren los siguientes problemas:
  • Cold Start,: es necesario mucho datos del usuario para hacer predicciones presisas
  • Scalability: Cuando existen millones de usurios/items se require un alto costo de computación
  • Sparsity. Cuando existe una gran variedad de items cae el problema que estos tienen poco ranking sobre todo los items menos consumidos, lo cual traer un problema de hacer predicciones precisas.

2. Basado en Items


Esta metodología toma relevancia debido que mejora el balance entre escalabilidad y exactitud. Por ejemplo, el método KNN para aumentar su exactitud debe aumentar el numero de vecinos lo que conlleva que la complejidad aumente a un orden O(dnk) y crea problemas de dispersión.

Pasos del Algoritmo basado en Items

  1. Calcular similaridad entre los items
    1. a.Cosine-Based
    2. b.Correlation-Based
    3. Jaccard distance
  2. Calculo de Predicción 
    1. Suma ponderada
    2. Regresión

Resultados Importante para medir

  • a. Efecto de la métricas de Similaridad
  • b. Sensitividad de la proporción de training/test
  • c. Tamaño de Vecindario
  • d. Comparación con otros métodos

Google usa los siguientes modelos colaborativos en conjunto en modelo lineal para su recomendaciones de Google News.
Mas detalles en su paper: http://www2007.org/papers/paper570.pdf
  • Minhash
  • LSH
  • MapReduce
  • PLSI

3. Model-Based

Redes Bayesianas (ideales en casos en que las preferencias del usuario no cambian tan a menudo), Reducción de dimensionalidad (estado del arte, pero tiene algunos costos de implementación, especialmente en "tunear" los parámetros)

4. Clustering

Aunque tienen como efecto producir recomendaciones "no tan personalizadas" y, disminuir la exactitud de las predicciones en algunos casos (Breese et al. 1998)

5. Graph-based Metthods

Horting, Random Walks, Spread of activation. Son menos precisos, pero contribuyen a dar mayor diversidad a las recomendaciones