Crítica: Evaluationg Recomendation Systems

Florencia Barrios
Sep 1, 2018 · 3 min read

Este paper trata a grandes rasgos el cómo evaluar y comparar distintos sistemas recomendadores dado el contexto en donde se van a utilizar. En primer lugar, se habla de los distintos tipos de experimentos que hay para comprobar los sistemas. Dentro de estos encontramos los experimentos offline, que son los más fáciles de conducir puesto que no requieren la interacción de usuarios reales. También están los estudios de usuario (user studies), en donde un grupo pequeño de usuarios en un ambiente controlado usan el sistema y reportan su experiencia. Finalmente, el último tipo de experimento es la evaluación online, donde el sistema es usado por usuarios reales que normalmente no saben del experimento y por lo mismo, es el más cercano a la realidad.

Luego, se habla de las distintas propiedades que tienen los RecSys y como evaluar los trade-offs y el efecto de cada una de estas en la performance final del sistema. Se habla de preferencias del usuario, precisión de predicción, cobertura, confianza, novedad, serendipia (descubrimiento o un hallazgo afortunado, valioso e inesperado que se produce de manera accidental o casual, o cuando se está buscando una cosa distinta — Wikipedia), diversidad, utilidad, riesgo, robustez, privacidad, adaptabilidad y escalabilidad.

En primer lugar, quiero recalcar la importancia que se le da en el paper al timming en el que se aplican las evaluaciones online con usuarios reales del sistema puesto que como se menciona, es necesario que antes de realizar este tipo de experimentos se realicen las primeras pruebas en el “laboratorio” u offline para filtrar a los algoritmos que no están dando buenas métricas de precisión. Si este tipo de experimentos no se hace al final, se estaría corriendo en un riesgo que el usuario deje de usar el sistema real a razón de malas recomendaciones.

Otro tema interesante sobre todo cuando hay que analizar costos de implementar un sistema recomendador, es el tema del intervalo de confianza puesto que hay casos en donde una mala recomendación puede costar carísimo para la empresa y por lo mismo, debe invertir una gran cantidad de dinero en los distintos tipos de experimentos mencionados con el fin de que las recomendaciones sean dadas con un alto porcentaje de confianza (por ejemplo, 99%), mientras que hay otros en donde este error no es tan costoso y pueden por ejemplo, hacer tempranamente experimentos de evaluación online (incluso antes de llevar a cabo estudios de usuario).

En relación a las propiedades del sistema, es importante destacar que para analizar alguna de estas en un algoritmo y como su variación mejora las recomendaciones, es importante no solo analizarlo en pruebas offline y viendo métricas como el RMSE o el MAE, si no que hay que ponerlo en práctica a través de estudios de usuario o evaluación online y ver como la variación de esa propiedad afecta en la experiencia del usuario en el sistema puesto que puede ocurrir que a pesar que mejoren las métricas, la experiencia final del usuario podría ser la misma o incluso peor. Sin embargo, cabe destacar que este tipo de pruebas, en donde se espera feedback explícito del usuario es difícil de aplicar sin que el usuario lo note y altere su percepción de la experiencia.

Hablando un poco de la precisión en la predicción, es interesante analizar si las recomendaciones deben tener un largo fijo o variable, puesto que dependiendo de esto, es mejor analizar la precisión (verdaderos positivos / verdaderos positivos + falsos positivos) o el recall (verdaderos positivos / verdaderos positivos + falsos negativos). A una lista más grande de recomendaciones, mejorará el recall (pueden haber menos falsos negativos) pero se reduce la precisión puesto que se pueden recomendar más falsos positivos (a medida que la lista es más grande, la probabilidad de recomendar un item que no fue usado aumenta).