IIC Sistemas Recomendadores. Denis Parra Profesor Asistente, DCC, PUC CHile

Documentos relacionados
IIC Sistemas Recomendadores

IIC Sistemas Recomendadores. Denis Parra Profesor Asistente, DCC, PUC CHile

IIC Sistemas Recomendadores

IIC Sistemas Recomendadores

IIC Sistemas Recomendadores

IIC Sistemas Recomendadores

IIC Sistemas Recomendadores

IIC Sistemas Recomendadores

IIC Sistemas Recomendadores - PUC Chile

IIC Sistemas Recomendadores

IIC Sistemas Recomendadores

IIC Sistemas Recomendadores

SISTEMAS RECOMENDADORES BASADOS EN GRAFOS

Máquinas de Factorización { Factorization Machines (FM) } Denis Parra Sistemas Recomendadores IIC do semestre de 2016

Factorización Matricial en Sistemas Recomendadores Clase de Introducción. Denis Parra 30 de Sep<embre de 2014

Sistemas Híbridos de Recomendación. IIC3633 RecSys 2do semestre de Sep=embre Denis Parra

Eficiencia y precisión de algoritmos de Filtrado Colaborativo: análisis y comparativa

IIC Sistemas Recomendadores - PUC Chile. Denis Parra Profesor Asistente, DCC, PUC CHile

Evaluación e Integración de Toma de Decisiones en Sistemas de Recomendación. Autor: Rus María Mesas Jávega Tutor: Alejandro Bellogín Kouki

webir /08/2018

Recuperación de información desde diferentes perspectivas

SISTEMAS DE RECOMENDACIÓN BASADOS EN MÉTODOS DE FILTRADO COLABORATIVO

Noviembre18, 2017 Concepción, Chile. #sqlsatconcepcion

ANX-PR/CL/ GUÍA DE APRENDIZAJE. ASIGNATURA Recuperacion e integracion de informacion de recursos cientificos

IIC3633 Sistemas Recomendadores Functional Matrix Factorizations for Cold-Start Recommendation. Juan Navarro

Recomendación Musical

Sistemas de Recomendación. en Apache Spark. E.T.S. de Ingeniería Industrial, Informática y de Telecomunicación. Grado en Ingeniería Informática

RECOMENDADOR DE USUARIOS EN UNA PLATAFORMA COLABORATIVA EN BASE A SU PERFIL Y REPUTACIÓN

From SQL to Graph Databases. Sábado 26 de Mayo

Aprendizaje para Clasificación con Factorización Matricial Basado en Listwise para Filtrado Colaborativo

Recomendación de lugares para redes sociales basadas en ubicación

Métricas para la validación de Clustering

EVALUACIÓN E INTEGRACIÓN DE TOMA DE DECISIONES EN SISTEMAS DE RECOMENDACIÓN

Recomendación de usuarios de Twitter basada en la topología de red

La Temporalidad en los Sistemas de Recomendación: Una revisión actualizada de propuestas teóricas

Aprendizaje Automático Segundo Cuatrimestre de Evaluación de Hipótesis

Implicit Feedback for Recommender Systems. Denis Parra Sistemas Recomendadores IIC 3633

Aprendizaje, hallazgo y satisfacción en un sistema de recomendación en turismo. Lama 2. Dept. de Electrónica y Computación.

Clasificación de documentos

Aplicación de Apache Spark y su librería MLlib para el desarrollo de sistemas recomendadores

Reconocimiento de Patrones

Factorización Matricial en Sistemas Recomendadores Clase de Introducción. Denis Parra 22 de Sep;embre de 2015

Sistema de Recomendación de Trabajos de Titulación de la Facultad de Ciencias Antropológicas de la Universidad Autónoma de Yucatán

Pangea. Sistema de recomendación de viajes. Speaker: Andrés Pipicello. Lucas Bernardi, Martín Chaia, Bruno Cuervo Parrino. Demo

Los datos siguientes contienen indicadores demográficos y criminales sobre 47

REIN-I7P23 - Recuperación de la Información

Grado en Ingeniería Informática. Trabajo Fin de Grado ESTUDIO Y APLICACIÓN DE ALGORITMOS Y ESTRUCTURAS DE DATOS A LOS SISTEMAS DE RECOMENDACIÓN

TRABAJO FIN DE GRADO. Suite de algoritmos de recomendación en aplicaciones reales

Evaluación de modelos

RECOMENDACIÓN DE PERFILES ACADÉMICOS MEDIANTE ALGORITMOS COLABORATIVOS BASADOS EN EL EXPEDIENTE

DEPARTAMENTO DE: Ciencias Básicas Licenciatura en Sistemas de Información. PROGRAMA DE LA ASIGNATURA: Recuperación de Información (11090)

TRABAJO FIN DE GRADO

Evaluación de Hipótesis

Complementos de aprendizaje automático

Introducción al Procesamiento de Lenguaje Natural. Grupo de PLN - InCo

Procesamiento de Texto y Modelo Vectorial

Macro para evaluación de modelos con variables de respuesta dicotómicas con fines de priorización.

Obteniendo valoraciones de ítems desde opiniones de usuarios para resolver el problema de Cold Start en sistemas recomendadores

Prof. Sven Dickinson. Catedrático y director del Departamento de Ciencias de la Computación Universidad de Toronto Canadá.

EXTRACCIÓN INTERACTIVA DE OBJETOS EN RESTAURACIÓN DIGITAL DE IMÁGENES

Recomendación de Objetos de Aprendizaje basado en el Perfil del Usuario y la Información de Atención Contextualizada

Autómatas celulares en Model Builder: Modelos dinámicos de cambio de usos de suelo

MULTICOLINEALIDAD (Gujarati y Porter, Capítulo 10) Ejemplo de la sección donde

Regularización. agosto 2017

The annual variation rate of the Housing Price Index increases five tenths, standing at 7.2%

Atributos de calidad La Eficiencia

Explotación del B2B y segmentación de la clientela

Universidad Nacional de Luján República Argentina Ruta 5 y Av. Constitución C.C LUJÁN (Bs. As.)

Técnicas Multivariadas Avanzadas


Doble Grado en Ingeniería Informática y Matemáticas. Trabajo Fin de Grado SIMILITUDES BASADAS EN MÉTRICAS NO EUCLÍDEAS

Métricas de revistas Revisión crítica

GUÍA DOCENTE DE BÚSQUEDA Y MINERÍA DE INFORMACIÓN

PRODUCTOS SEO. media.prensalibre.com

Programa Secyt Modelo de Ecuaciones Estructurales como herramienta de investigación. Aplicaciones en las ciencias sociales y económicas.

Evaluación educativa

RECOMENDACIÓN PERSONALIZADA Y BIG DATA

Análisis y Recuperación de Información


Identificación de usuarios en Sistemas de Recomendación mediante un modelo basado en Teoría de Juegos

FORMACIÓN E-LEARNING. Curso Online de Planificación de la Demanda (Demand Planning)

Behavior Modeling State Diagrams


Asignatura: Informática Documental Código: Año académico: Centro:

Pronósticos, Series de Tiempo y Regresión. Capítulo 4: Regresión Lineal Múltiple

PROGRAMA DE CURSO. Personal CC3301 Programación de Software de Sistemas Resultados de Aprendizaje

Sistema de recomendación de objetos de aprendizaje a través de filtrado colaborativo

Predicción de Inventarios Series de Tiempo

Desarrollo, validación e integración de una extensión a un framework para la evaluación de recomendaciones conscientes del contexto temporal.

Aplicaciones Numéricas de la Informática

Recuperación de información

Programación en Lenguaje R

Aux 7. Introducción a la Minería de Datos

Métodos y Técnicas de Trabajo Corporativo

b. Universidad Nacional-Sede Medellín

Transcripción:

Métricas de Evaluación IIC 3633 - Sistemas Recomendadores Denis Parra Profesor Asistente, DCC, PUC CHile

TOC En esta clase 1. Prediccion de Ratings: MAE, MSE, RMSE 2. Evaluacion via Precision-Recall 3. Metricas P@n, MAP, 4. Metricas de Ranking: DCG, ndcg, 5. Metricas en Tarea 1 2/29

Con respecto al paper sobre CF de Resnick et al. (1994) Ver Video de "re-presentación" del paper por P. Resnick y John Riedl en CSCW 2013, conmemorando que ha sido el paper más citado de dicha conferencia: Video CF paper re-presented at CSCW2013 3/29

Resumen + Próxima Semana Ranking no personalizado: Ordenar items considerando el porcentage de valoraciones positivas y la cantidad total de valoraciones. Filtrado Colaborativo: Basado en Usuario y en Items. Parámetros principales (K, métrica de distancia), ajustes por baja cantidad de valoraciones. Slope One: Eficiencia y Escalabilidad por sobre la precisión Métricas de Evaluación Próxima Semana: Content-based filtering y práctico tarea 4/29

Evaluación Tradicional: Predicción de Ratings MAE: Mean Absolute Error MAE = n i=1 rˆui r ui n MSE: Mean Squared Error MSE = n i=1 ( rˆui r ui ) 2 n RMSE: Root Mean Squared Error RMSE = n i=1 ( rˆui r ui ) 2 n 5/29

Evaluación de una Lista de Recomendaciones Si consideramos los elementos recomendados como un conjunto como el conjunto R, tenemos: S y los elementos relevantes Luego, Precision es: Precision = Recall = Recomendados Relevantes Recomendados Recomendados Relevantes Relevantes, y 6/29

Ejemplo 1: Precision y Recall Si bien la lista de recomendaciones está rankeada, para estas métricas la lista se entiende más bien como un conjunto. Precision =?? Recall =?? Precision =?? Recall =?? 7/29

Ejemplo 1: Precision y Recall 5 Precision = = 0, 5 10 5 Recall = = 0, 25 20 3 Precision = = 0, 6 5 3 Recall = = 0, 15 20 8/29

Compromiso entre Precision y Recall Al aumentar el Recall (la proporción de elementos relevantes) disminuimos la precision, por lo cual hay un compromiso entre ambas métricas. Por ello, generalmente reportamos la media harmónica entre ambas métricas: F β=1 = 2 Precision Recall P + R Ref: http://nlp.stanford.edu/ir-book/pdf/08eval.pdf 9/29

De evaluación de Conjuntos a Ranking Mean Recicropal Rank (MRR) Precision@N MAP Rank score DCG ndcg 10/29

Mean Reciprocal Rank (MRR) Consideramos la posición en la lista del primer elemento relevante. MRR = 1 r, donde r: ranking del 1er elemento relevante MR R 1 =?? MR R 2 =?? Problema: Usualmente tenemos más de un elemento relevante!! 11/29

Mean Reciprocal Rank (MRR) Consideramos la posición en la lista del primer elemento relevante. MRR = 1 r, donde r: ranking del 1er elemento relevante 1 MR R 1 = = 0, 5 2 1 MR R 2 = = 0, 5 2 Problema: Usualmente tenemos más de un elemento relevante!! 12/29

Precision at N (P@N) Corresponde a la precision en puntos específicos de la lista de items recomendados. En otras palabras, dado un ranking específica en la lista de recomendaciones, qué proporción de elementos relevantes hay hasta ese punto Precision@n = n i=1 Rel(i) n, donde Rel(i) = 1si elemento es relevante Precision@5 =?? Precision@5 =?? 13/29

Precision at N (P@N) Corresponde a la precision en puntos específicos de la lista de items recomendados. En otras palabras, dado un ranking específica en la lista de recomendaciones, qué proporción de elementos relevantes hay hasta ese punto Precision@n = n i=1 Rel(i) n, donde Rel(i) = 1si elemento es relevante 2 Precision@5 = = 0, 4 5 Pro: permite evaluar topn; Problema: aún no permite una evalución orgánica del los items con ranking < n. 3 Precision@5 = = 0, 6 5 14/29

Mean Average Precision (MAP) Average Precision (AP) El AP se calcula sobre una lista única de recomendaciones, al promediar la precision cada vez que encontramos un elemento relevante, es decir, en cada recall point. AP = P@k rel(k) k K relevantes P@k donde es la precision en el recall point, es una función que indica 1 si el ítem en el ranking j es relevante (0 si no lo es), y k rel(k) MAP es la media de varias "Average Precision" K son posiciones de ranking con elementos relevantes. Considerando n usuarios en nuestro dataset y que a cada uno de dimos una lista de recomendaciones, MAP = n u=1 AP(u) m, donde m es el numero de usuarios. 15/29

Mean Average Precision (MAP) - II Como no siempre sabemos de antemano el número de relevantes o puede que hagamos una lista que no alcanza a encontrar todos los elementos relevantes, podemos usar una formulación alternativa** para Average Precision (AP@n) AP@n = P@k rel(k) k K min(m, n) n donde es el máximo número de recomendaciones que estoy entregando en la lista, y es el número de elementos relevantes. Ejericio: calcule AP@n y luego MAP@n, con n = 10, y m = 20 de: m ** https://www.kaggle.com/wiki/meanaverageprecision 16/29

Rankscore Rank Score se define como la tasa entre el Rank Score de los items correctos respecto al mejor Rank Score alcanzable por el usuario en teoría. PARAMETROS FORMULA h el conjunto de items correctamente recomendados, i.e. hits rank retorna la posición (rank) de un item T es el conjunto de items de interés α es el ranking half life, i.e. un factor de reducción exponencial 17/29

DCG y ndcg DCG: Discounted cummulative Gain DCG = i p 2 rel i 1 lo (1 + i) g 2 ndcg: normalized Discounted cummulative Gain, para poder comparar listas de distinto largo ndcg = DCG idcg Ejercicio: Calcular ndcg para 18/29

Coverage Como no a todos los usuarios se logran hacer recomendaciones, consideramos en la evaluación el User Coverage, el porcentaje de usuarios a los cuales se les pudo hacer recomendaciones. Como no a todos los items pueden ser recomendaciones, consideramos en la evaluación el Item Coverage, el porcentaje de items que fueron recomendados al menos una vez. 19/29

Métricas para Tarea 1 Precision@10 = Recall@10, (ya que estamos "forzando" recomendados = relevantes) MAP (en realidad, será MAP@10) ndcg 20/29

Ejemplo con R Paquete rrecsys library(rrecsys) data("mllatest100k") ML <- definedata(mllatest100k, minimum =.5, maximum = 5, halfstar = TRUE) ML Dataset containing 718 users and 8927 items. 21/29

R library(rrecsys) # rowratings(ml) : number of ratings per row # colratings(ml) : number of ratings per columns numratings(ml) [1] 100234 sparsity(ml) [1] 0.9843619 22/29

R library(rrecsys) # Ratings por usuario hist( log(rowratings(ml)) ) 23/29

R library(rrecsys) plot(sort(rowratings(ml), decreasing = T)) 24/29

Filtering dataset subml <- ML[rowRatings(ML)>=40, colratings(ml)>=30] sparsity(subml) [1] 0.8683475 25/29

Recomendación No personalizada # RecSys no personalizado ---- globav <- rrecsys(subml, alg = "globalaverage") # predict and recommend for all p_globav <- predict(globav) # output: matriz de predicciones r_globav <- recommend(globav, topn = 2) # output: lista con recomendaciones 26/29

Evaluación de predicciones e <- evalmodel(subml, folds = 5) evalpred(e, 'globalaverage') Fold: 1 / 5 elapsed. Time: 0.02280593 Fold: 2 / 5 elapsed. Time: 0.02660012 Fold: 3 / 5 elapsed. Time: 0.04744887 Fold: 4 / 5 elapsed. Time: 0.02128005 Fold: 5 / 5 elapsed. Time: 0.02667189 The model was trained on the dataset using globalaverage algorithm. MAE RMSE globalmae globalrmse 1-fold 0.8208376 0.9768961 0.8020253 1.007941 2-fold 0.8190966 0.9703925 0.7953272 0.996439 3-fold 0.8306264 0.9869071 0.8050932 1.011743 4-fold 0.8394394 0.9964792 0.8064962 1.007534 5-fold 0.8366290 0.9930068 0.7991900 1.002777 Average 0.8293258 0.9847363 0.8016264 1.005287 27/29

Evaluación de recomendación topn evalrec(e, 'globalaverage', goodrating = 4, topn = 5) Evaluating top- 5 recommendation with globalaverage. Fold: 1 / 5 elapsed. Time: 0.155278 Fold: 2 / 5 elapsed. Time: 0.09362984 Fold: 3 / 5 elapsed. Time: 0.09240508 Fold: 4 / 5 elapsed. Time: 0.0922451 Fold: 5 / 5 elapsed. Time: 0.09173799 The model was trained on the dataset using globalaverage algorithm. Item coverage: 1.527615 %. User coverage: 100 %. TP FP TN FN precision recall 1-fold 0.1592742 4.840726 833.2903 12.70968 0.03185484 0.02470612 2-fold 0.1794355 4.820565 833.1310 12.86895 0.03588710 0.02141615 3-fold 0.1431452 4.856855 833.3750 12.62500 0.02862903 0.02932543 4-fold 0.1330645 4.866935 833.2177 12.78226 0.02661290 0.02966589 5-fold 0.1491935 4.850806 833.0827 12.91734 0.02983871 0.02188431 Average 0.1528226 4.847177 833.2194 12.78065 0.03056452 0.02539958 F1 ndcg rankscore 1-fold 0.01625969 0.1925534 0.2228745 2-fold 0.01728055 0.2085054 0.2416831 3-fold 0.01559165 0.1842961 0.2096182 4-fold 0.01488790 0.1597289 0.1851920 5-fold 0.01316086 0.1826945 0.2107694 Average 0.01543613 0.1855557 0.2140274 28/29

Referencias Manning, C. D., Raghavan, P., & Schütze, H. (2008). Introduction to information retrieval (Vol. 1, p. 6). Cambridge: Cambridge university press. Baeza-Yates, R., & Ribeiro-Neto, B. (1999). Modern information retrieval (Vol. 463). New York: ACM press. Slides "Evaluating Recommender Systems" http://www.math.uci.edu/icamp/courses/math77b/lecture_12w/pdfs/chapter%2007%20- %20Evaluating%20recommender%20systems.pdf 29/29