22 Aug 2018

RecSys Semana 2

Comentario: Collaborative Filtering for Implicit Feedback Datasets, PDF

Resumen

Los sistemas recomendadores utilizan distintos tipos de input para lograr sus objetivos de mejorar la experiencia del usuario. La forma mas conveniente para el analisis de esta informacion es el feedback explicito, por lo que la mayoria de la literatura existente esta concentrada en procesar este tipo de informacion. Sin embargo, muchas veces este no esta disponible pero podemos intentar inferir las preferencias del usuario usando el mas abundante feedback implicito (ejs, historial de compras/busquedas, patrones de busqueda, movimientos del mouse). La traduccion de algoritmos pensados para que modelos feedback explicito funcionen con datos de tipo implicito puede no ser directa por varias caracteristicas:

  • no hay feedback negativo
  • el feedback implicito es inherentemente ruidoso
  • no puede asumirse que el valor numerico exprese preferencia, solo confianza (es mas probable que al usuario le guste algo que ha visto muchas veces).
  • la evaluacion puede tener caracterisiticas que necesiten medidas especiales.

Tradicionalmente se han usado modelos de vecindad (heighborhood models) para filtrado colaborativo (generalmente mejores que los content based) pero este tipo de modelos tienen una desventaja, no permiten distinguir entre preferencia y confianza (del sistema en la preferencia). Los autores toman esto en consideracion y eligen usar modelos de factores latentes (descubren caracteristicas latentes que explican los datos) en particular, SVD. Este descompone la matriz de interacciones usario-item para obtener representaciones de los usuario e items en un espacio conjunto que pueda ser utilizado para predecir si el usuario u interactura o no con el item i (binario, no cuantas veces).

Por el ruido que probablemente contengan las observaciones obtenidas con feedback implicito (clicks accidentales, etc) convendría considerar de distinto modo aquellos items en los que tenemos mayor confianza. Esto lo logran los autores penalizando en mayor medida en la funcion de perdida por errores en la prediccion de aquellos items para los que se tiene mayor confianza c_ui. Luego, para evitar overfitting utilizan terminos regularizadores forzando a que las matrices de embedding (tanto para usuarios como items) se complejizen demasiado. Por ultimo, se propone como alternatica a SGD el uso de alternating least squares como tecnica de optimizacion, para lograr que el tiempo de entrenamiento escale linealmente con el tamaño de la libreria. Efecto secundario de esto es que pueda reescribirse el modelo como uno lineal que predice la preferencia por el item i como suma de las confianzas de acciones pasadas (i') ponderadas por la similaridad entre los items i e i'. Lo anteior nos permite explicar la preferencia por el item i considerando los elementos que son similares a este para el usuario u.

Resultados

Usaron datos recolectados de cajas de television que contenian 32 millones de pares usuario-item (cuantas veces cada usuario vio cada item). Luego escalaron logaritmicamente los valores para calcular las confianzas y midieron el rendimiento del modelo usando un set de test recolectado similarmente. Como metrica para el rendimiento usan rank que considera la diferencia entre el valor observado para un par usuario-item vs. la importancia otorgada al par por el modelo.

Se comparan 3 modelos: most-popular, neighborhood based y el propio con distintas dimensionalidades para la reprenentacion en el espacio latente. Observan:

  • el mejor modelo es el propuesto y este mejora con numeros mayores de factores latentes.
  • el mejor modelo para incluir en el top 1% items que verdaderamente son interesantes para el usuario es el nuevo (incluso eliminando secuelas).

Comentarios

Negativo:

  • los valores de alfa y lambda (usados como ponderadores en la formula de confianza y el termino regularizador respectivamente) deben ser determinados usando prueba y error.
  • la metrica elegida contradice lo afirmado antes en el mismo paper (que el valor numerico indica confianza, no preferencia) diciendo “watching a program is an indication of liking it”. Sin embargo, se entiende que requieren una metrica para comparar y el par puede servir como proxy (aunque no optimo).

Positivo:

  • Se valida la eleccion de incluir la confianza en la funcion de perdida probando otras funciones que no la incluyen.
  • Se valida la conversion de pares user-item views en p_i (booleano que indica si usuario u vio item i sin considerar cuantas veces).

Comentario: Matrix Factorization Techniques For Recommender Systems

Resumen

Se comienza haciendo un resumen de distintos metodos utilizados en sistemas recomendadores que no incluyo dado que se parece bastante al survey en mi post anterior (link). A grandes rasgos introduce el concepto y diferencia entre sistemas basados en filtrado por contenido y aquellos que lo hacen con filtrado colaborativo. Tambien nombra como principales areas en el filtrado colaborativo aquellas que comparan vecindades y la mas enfocada en extraccion de representaciones ricas en un nuevo espacio, enfocandose en esta ultima area, particularmente en metodos de factorizacion de matrices.

En mapear usuarios e items a espacios conjuntos se buscan matrices de embedding p y q (para usuarios e items respectivamente) tal que el producto interno \(p_u q_i\) devuelva el rating estimado. Una forma de obtener estas matrices resulta de obtener la representacion SVD (singular value descomposition) de la matriz de interacciones usuario-item (preocupandose de imputar los valores faltantes o bien regularizar los embeddings obtenidos para considerar la sparseness de la conjunta). El entrenamiento para obtener los valores en p y q pueden obtenerse usando SGD para minimizar la funcion de perdida regularizada. De otra manera puede usarse ALS (alternating least squares) alternando entre asumir fijos los \(q_i\) y los \(p_u\). Esta ultima tecnica ayuda a paralelizar y evita iterar sobre todos los datos en situaciones donde la matriz a descomponer esta mas populada.

Otras extensiones al modelo son:

  • tomar en cuenta los bias (sea de usuarios o items) mediante un termino regularizador.
  • considerar ademas fuentes implicitas de datos.
  • considerar biases, preferencias e interacciones como funciones del tiempo para modelar variaciones temporales.
  • añadir metricas de certeza/confianza para reflejar la seguridad del modelo en una prediccion realizada.

Comentarios

El escrito hace un excelente trabajo en comunicar la importancia que han tenido los metodos de factorizacion de matrices para mejorar los resultados de sistemas recomendadores. Ademas, lo hace desde la perspectiva de personas que participaron en el netflix prize, aterrizando el tema. Lo que puedo criticar es no haberse explayado en las ventajas de obtener representaciones conjuntas (mismo espacio vectorial) para aumentar la explicabilidad del modelo como lo hizo Collaborative Filtering for Implicit Feedback Datasets o para obtener recomendaciones directamente usando distancias entre usuarios/items. La figura dos explicitamente muestra un usuario (Dave) y su relacion con distintas peliculas en el espacio compartido, pero no se comenta sobre sus preferencias en relacion a los vecinos mas cercanos. Un analisis poco profundo de las implicancias de embeber juntos usuarios e items habria ilustrado la relevancia de este tipo de sistemas de factores latentes de mejor manera que simplemente mostrar resultados para justificar su uso. Además, considerar las distancias entre usuarios e items nos da la intuicion de porque funciona el sistema y hasta explica la formulacion matematica usada en tanto el producto punto en \(\hat r_{ui} = p_u q_i\) puede ser interpretado como el cuadrado de la distancia euclidiana entre los elementos en su espacio conjunto. Asi, creo que el autor se equivoca al no incluir estas conclusiones al presentar modelos de factores latentes ya que podria haber servido para ayudar al lector a entender lo que esta pasando y darle la intuicion de por que funciona.

Por ultimo, no puedo criticarlo por no profundizar en las matematicas tras la descomposicion matricial, pero me habria encantado que se elaborara en el calculo de los gradientes a traves de la descomposicion en valores singulares SVD.


Tags:
0 comments