W5: BPR: Bayesian personalized ranking from implicit feedback

Tamara Alexandra Cucumides
tam_recomienda
Published in
3 min readSep 16, 2019

Esta es mi crítica a BPR: Bayesian personalized ranking from implicit feedback de Rendle, S., Freudenthaler, C., Gantner, Z., & Schmidt-Thieme, L. (2009).

¿De qué se trata el paper?

El objetivo del paper es presentar un método de recomendación para feedback implícito directamente diseñado para optimizar métricas de ranking. Para esto se presenta el estado-del-arte de ese entonces (2009), comentando sus particularidades (ventajas y desventajas). Por otra parte, se presenta el problema ahondando en su formulación como problema de optimización y luego se detalla el solver utilizado (gradiente estocástico). Finalmente se presenta los detalles de la evaluación del método, acompañado de los resultados

Críticas y comentarios

En primer lugar, quiero destacar la estructuración del paper y el nivel de detalle que este presenta al describir tanto el algoritmo que ellos proponen, como los demás que mencionan (MF y kNN). Se destaca, en la descripción de BPR, como cada decisión tomada esta justificada (por ejemplo: la decisión de utilizar gradiente estocástico vs gradiente “normal” y el uso de bootstraping con devolución). Creo que es algo muy necesario y que no todos los autores hacen, lo que provoca que las decisiones parezcan arbitrarias. En este caso, reitero, destaca la explicación de las decisiones, lo que además de hacer que el trabajo gane confianza, entrega una componente educativa a los lectores.

Un detalle en el que considero que faltó ahondar un poco fue en la estrategia de sampleo de ejemplos negativos. Queda claro que toman los sets de (usuario, producto_positivo, producto_negativo) de manera random (para evitar que se repita mucho algún caso), pero no es claro de qué manera se escoge el producto_negativo. Se da a entender que es totalmente aleatorio y, si este es el caso, parece que podrían haber trabajado un poco más en esto

Otra cosa que me provoca bastantes dudas del paper fue la manera en que utilizaron el dataset de Netflix, para el cual removieron los ratings entregados por usuario y se propusieron predecir que tan probable es que un usuario dé un rating para una película. La verdad, no comprendo muy bien cuál era el objetivo tras esto y como se relaciona realmente con un sistema recomendador (o si estaba enfocado quizás en entregar otro tipo de resultados, no necesariamente ofreciendo listas de recomendación). Volviendo al punto, no me queda muy claro el por qué hicieron esto.

Además de esto, hay otra sección que considero que no está muy bien explicada, que es la sección de metodología de evaluación. Se menciona que para los dataset lo que hicieron fue remover una entrada del set de items consumidos para usarla como set de testeo y entrenar con el resto. No es claro por qué solo se remueve una (me parece de hecho que no es muy conveniente). Por otra parte, la partición la hacen random, lo cual no es muy conveniente si se tiene en cuenta una opción de línea temporal.

Otra cosa que no me quedo muy clara fue el por qué comparan su método de ranking personalizado con un ranking no personalizado. Es sabido que métodos de factorización matricial y kNN ya superaban este benchmark, de manera que no veo mucha utilidad a esta comparación. Por otra parte, solo se menciona que usan “el mejor método no-personalizado”, sin especificar cual.

En síntesis, si bien mis comentarios fueron cargados a cosas más bien negativas, considero que este trabajo tiene gran valor educativo para estudiantes y/o investigadores. El nivel de detalle al que llega permite, con bajo costo de decisiones personales, poder implementar un método parecido y replicar resultados.

--

--