1. Evaluando sistemas
´
de recomendacion
Blanca Vargas Govea
´
Grupo de Sistemas de Recomendacion
Departamento de Ciencias Computacionales
CENIDET
30 de noviembre de 2011
2. Contenido
1 ´
Introduccion
2 Metodolog´a
ı
3 Lo m´nimo para evaluar
ı
4 Por grupos
5 Atributos de contexto
6 Conclusiones
Blanca Vargas Govea (CENIDET) ´
Evaluando sistemas de recomendacion 30 de noviembre de 2011 2 / 34
3. ´
¿Por que evaluar?
Mostrar que el sistema
cumple su objetivo.
Analizar deficiencias y
corregirlas.
´
Comparacion con otros
sistemas/algoritmos.
Blanca Vargas Govea (CENIDET) ´
Evaluando sistemas de recomendacion 30 de noviembre de 2011 3 / 34
4. Dificultades 1/2
Gran cantidad de
algoritmos.
Distintas tareas.
No hay metodolog´aı
´
estandar (¿es viable?)
Cuestionamiento en
´
elegir las metricas.
Blanca Vargas Govea (CENIDET) ´
Evaluando sistemas de recomendacion 30 de noviembre de 2011 4 / 34
5. Dificultades 2/2
Escasez de datos de
prueba.
No se consideran las
diferencias de los
sistemas.
´
La evaluacion no refleja
aspectos destacables.
El mismo esquema de
´
evaluacion no funciona
para todos.
Blanca Vargas Govea (CENIDET) ´
Evaluando sistemas de recomendacion 30 de noviembre de 2011 5 / 34
6. ´ ´
¿Que se esta haciendo?
´
Nuevas metricas.
Busqueda de
´
metodolog´a unica.
ı ´
Enfoques centrados en
el usuario.
Tomar en cuenta las
caracter´sticas de los
ı
datos.
Nuestro enfoque
´
Analisis estad´stico-particionamiento y de atributos de contexto.
ı
Blanca Vargas Govea (CENIDET) ´
Evaluando sistemas de recomendacion 30 de noviembre de 2011 6 / 34
7. Metodolog´a
ı
Blanca Vargas Govea (CENIDET) ´
Evaluando sistemas de recomendacion 30 de noviembre de 2011 7 / 34
9. Sistema a evaluar: Surfeous
´
Prototipo de sistema de informacion contextual.
Filtrado colaborativo.
Fusiona enfoque social y contextual.
Social: extiende el enfoque usuario-item-rating con anotaciones.
Contexto: incorpora modelos de contexto: entorno, usuario y
ı ´
servicio (´tem). Uso de web semantica, ontolog´as.
ı
Blanca Vargas Govea (CENIDET) ´
Evaluando sistemas de recomendacion 30 de noviembre de 2011 9 / 34
10. Sistema a evaluar: Surfeous
Blanca Vargas Govea (CENIDET) ´
Evaluando sistemas de recomendacion 30 de noviembre de 2011 10 / 34
11. Lo m´nimo
ı
Blanca Vargas Govea (CENIDET) ´
Evaluando sistemas de recomendacion 30 de noviembre de 2011 11 / 34
12. ´
Identificacion de la tarea
Mostrar todos los ´tems encontrados.
ı
´
Prediccion del rating.
Mostrar secuencia de ´tems (e.g., musica).
ı ´
√
Lista ordenada de ´tems (top n).
ı
Blanca Vargas Govea (CENIDET) ´
Evaluando sistemas de recomendacion 30 de noviembre de 2011 12 / 34
13. ´
Descripcion de datos
Usuario ´tem
I Rating
35
id01 253 0
30
id02 253 1 25
id02 258 0 20
Ratings
... 15
id138 247 2 10
5
0
0
10
20
30
40
50
60
70
80
90
100
110
120
130
top ´tem
I Freq pcj pcj acum. Restaurants
1 5085 36 3.10 3.10
100
2 2825 33 2.75 5.85 90
3 5032 28 2.41 8.26 80
Number of ratings %
70
... 60
50
33 5046 11 0.948 49.31 40
... 30
20
130 5016 3 0.259 100 % 10
0
0
10
20
30
40
50
60
70
80
90
100
110
120
130
Cuadro: Frecuencia acumulada ´tems
ı Items
Figura: Power law distribution, top 33
Usuario ´tem
I Rating ≈ 50 %.
138 130 1161
Blanca Vargas Govea (CENIDET) ´
Evaluando sistemas de recomendacion 30 de noviembre de 2011 13 / 34
14. Esquema entrenamiento - prueba
Leave one out. Conjunto de prueba: se extrae aleatoriamente una
instancia (usuario,´tem, rating) por cada usuario. Las instancias
ı
restantes forman el conjunto de entrenamiento.
n Usuario ´tem
I Rating n Usuario ´tem
I Rating
1 id01 253 0 1 id01 253 0
2 id02 253 1 2 id02 253 1
3 id02 258 0 3 id02 258 0
... ...
1161 id138 247 2 1023 id138 247 2
Cuadro: Todos Cuadro: Conjunto de entrenamiento
n Usuario ´tem
I Rating
1 id01 253 0 Repeticiones
2 id02 253 1
3 id03 258 0 10 veces por cada experimento.
...
138 id138 247 2
Cuadro: Conjunto de prueba
Blanca Vargas Govea (CENIDET) ´
Evaluando sistemas de recomendacion 30 de noviembre de 2011 14 / 34
15. ´ ´
Seleccion de metricas
´
Metrica Tarea
1 n 2
MSE = n i=1 (pi − ai ) ´
Prediccion de ratings
1 n 2
RMSE = n i=1 (pi − ai ) ´
Prediccion de ratings
Relevantes recuperados
Precision = Recuperados
y Top n
Recuerdo = Relevantes recuperados
Relevantes
ROC Top n
TP
TPR = TP+FN
FP
FPR = FP+TN
1 k 2relevance score(i) −1
NDCGk = Z i=1 log2 (i+1)
Top n
Blanca Vargas Govea (CENIDET) ´
Evaluando sistemas de recomendacion 30 de noviembre de 2011 15 / 34
16. ´
Precision/Recuerdo
Evalua la capacidad del sistema de mostrar el ´tem esperado en la
´ ı
lista.
Relevantes recuperados
´
Precision = Recuperados
Recuerdo = Relevantes recuperados
Relevantes
´ı
¿Que ´tems son relevantes? posibles respuestas:
Los que aparecen en la lista y que
´
estan en el conjunto de prueba.
Los que el usuario considera
´
utiles y toma la recomendacion.
´
Los que aparecen dentro de las
primeras n posiciones de la lista y
´
estan en el conjunto de prueba.
Blanca Vargas Govea (CENIDET) ´
Evaluando sistemas de recomendacion 30 de noviembre de 2011 16 / 34
17. ´
Precision/Recuerdo: ejemplo
Tenemos 5 usuarios en el conjunto de prueba. Para cada usuario se
´
realizan 11 queries en un sistema de recomendacion variando un
´ ´
parametro (0,0-1,0). Los resultados muestran la posicion en la que
´
aparece el ´tem. Obtener la precision y el recuerdo del sistema para
ı
las 5 primeras posiciones de la lista.
Usuario ´
Precision Recuerdo
u1:{3,3,3,3,2,3,2,4,8} 0.88 (8/9) 0.73 (8/11)
u2:{2,2,6,8} 0.5 (2/4) 0.18 (2/11)
u3:{10,7,7,6,9,9,8,7,10} 0 (0/4) 0 (0/11)
u4:{2,2,2,2,2,2,3,4} 1 (8/8) 0 (8/11)
u5:{5,5,5,6,8} 0.6 (3/5) 0.27 (3/11)
Promedio 0.596 (2.98/5) 0.38 (1.9/5)
´ ´
Cuadro: Precision/Recuerdo: Para obtener el promedio, la division es entre el
numero de usuarios en el conjunto de prueba, no sobre los usuarios
´
recuperados. Algunos usuarios no reciben recomendaciones.
Blanca Vargas Govea (CENIDET) ´
Evaluando sistemas de recomendacion 30 de noviembre de 2011 17 / 34
18. NDCG: Normalized Discounted Cumulative Gain
Evalua la capacidad del sistema de mostrar el ´tem en las primeras
´ ı
posiciones.
1 k 2relevance score(i) −1
NDCGk = Z i=1 log2 (i+1)
Supongamos que en un query para un usuario, el ´tem esperado
ı
´ ´
aparecio en la posicion 4 de la lista. Esto se representa como:
{0,0,0,1,0,0,0,0,0,0}
k 1 2 3 4 5 6 7 8 9 10
1 0.63 0.5 0.43 0.38 0.35 0.33 0.32 0.30 0.29
21 −1
DCG4 = 0 + 0 + 0 + log2 (4+1) = 0,43
Blanca Vargas Govea (CENIDET) ´
Evaluando sistemas de recomendacion 30 de noviembre de 2011 18 / 34
19. ´
¿Y ahora? receta para evaluacion
Ingredientes:
´
1 sistema de recomendacion contextual (Surfeous).
´
2 metricas definidas.
10 pares de conjuntos para entrenamiento/prueba.
´
Lenguaje de programacion (sugerencia: lenguaje de scripts).
Modo de hacerse:
1 ´
Ejecutar el sistema de recomendacion para cada par de
conjuntos: entrenar y mostrar los datos de prueba.
2 Surfeous* da como resultados las posiciones en las que aparece
(si aparece) el ´tem esperado (i.e., el del conjunto de prueba).
ı
´
Obtendras 10 conjuntos de resultados.
3 ´
Aplicar las metricas a los resultados. Promediar.
4 Graficar.
* La informacion de salida depende del sistema.
´
Blanca Vargas Govea (CENIDET) ´
Evaluando sistemas de recomendacion 30 de noviembre de 2011 19 / 34
20. Resultado
0.70
0.65
0.60
Precision
subset
0.55 All
0.50
0.45
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
Lambda
0.35
0.30
0.25
Recall
subset
0.20 All
0.15
0.0
0.2
0.4
0.6
0.8
1.0
Lambda
0.56
0.54
NDCG 0.52
0.50 subset
All
0.48
0.46
0.0
0.2
0.4
0.6
0.8
1.0
Lambda
Blanca Vargas Govea (CENIDET) ´
Evaluando sistemas de recomendacion 30 de noviembre de 2011 20 / 34
21. Por grupos
Blanca Vargas Govea (CENIDET) ´
Evaluando sistemas de recomendacion 30 de noviembre de 2011 21 / 34
22. ´ ´
¿Por que? ¿no basta con la evaluacion anterior?
Muestra la capacidad del sistema para generar recomendaciones para
distintas caracter´sticas de los datos.
ı
´
¿Como se comporta para
recomendar ´tems
ı
no-populares?
¿Y para usuarios con pocos
ratings?
´
¿Que hace cuando hay mayor
numero de ´tems que de
´ ı
usuarios? ¿y viceversa?
Blanca Vargas Govea (CENIDET) ´
Evaluando sistemas de recomendacion 30 de noviembre de 2011 22 / 34
27. Atributos de contexto
Blanca Vargas Govea (CENIDET) ´
Evaluando sistemas de recomendacion 30 de noviembre de 2011 27 / 34
28. Atributos: posibles dificultades
Problemas de
dimensionalidad: lentitud.
˜
Desempeno predictivo:
atributos redundantes e
irrelevantes.
Exceso de informacion ´
solicitada al usuario.
˜
Diseno de interfaz.
Blanca Vargas Govea (CENIDET) ´
Evaluando sistemas de recomendacion 30 de noviembre de 2011 28 / 34
29. Surfeous: atributos de contexto
Service model (23 attributes)
latitude,longitude,address,city,state,country,fax,ZIP,
alcohol,smoking,dress,accessibility,price,franchise,
ambiance,space,services,parking,cuisine,phone,accepts,
days,hours
User model (21 attributes)
latitude,longitude,smoking,alcohol,dress,ambiance,age,
transportation,marital-status,children,interests,
personality,religion,occupation,favorite-color,weight,
height,budget,accepts,accessibility,cuisine
Environment model (2 attributes)
time,weather
Blanca Vargas Govea (CENIDET) ´
Evaluando sistemas de recomendacion 30 de noviembre de 2011 29 / 34
30. ´
¿Que se hizo? (1/2)
1 ´
Se eligio el modelo de servicio.
2 ´
Se construyo una tabla: item, at1, ..., at23, rating.
3 ´ ´
Se selecciono un algoritmo de seleccion de atributos que tomara
´
en cuenta la correlacion entre atributos (Weka).
4 Se obtuvo el sub-conjunto: days, hours, accepts, cuisine.
5 ´
Se evaluo ahora con el sub-conjunto.
6 ´
Se evaluo eliminando un atributo a la vez (sub-conjuntos de 3).
Blanca Vargas Govea (CENIDET) ´
Evaluando sistemas de recomendacion 30 de noviembre de 2011 30 / 34
31. ´
¿Que se hizo? (2/2)
Blanca Vargas Govea (CENIDET) ´
Evaluando sistemas de recomendacion 30 de noviembre de 2011 31 / 34
32. ´
Resultados seleccion de atributos.
0.70 0.35
0.65 subset 0.30 subset
All All
0.60 0.25
Precision
B B
Recall
C C
0.55 0.20
D D
0.50 E 0.15 E
F F
0.45
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
0.0
0.2
0.4
0.6
0.8
1.0
Lambda Lambda
0.56
0.54
subset
0.52 All
B
NDCG
0.50
C
0.48 D
E
0.46
F
0.0
0.2
0.4
0.6
0.8
Lambda 1.0
All: {Todos los atributos}, B:{accepts,cuisine,hours,days}, C:{cuisine,hours,days},D:
{accepts,hours,days},E: {accepts,cuisine,days}, F:{accepts,hours,cuisine}
Blanca Vargas Govea (CENIDET) ´
Evaluando sistemas de recomendacion 30 de noviembre de 2011 32 / 34
33. ´
Resultados: seleccion de atributos.
´ ˜
Se logro reducir la dimensionalidad sin degradar el desempeno.
Se identificaron los atributos contextuales relevantes. Criteros de
´
decision de los usuarios.
´
Se observa un grupo de prueba homogeneo.
Los atributos relevantes pueden cambiar conforme el conjunto de
usuarios aumenta.
Blanca Vargas Govea (CENIDET) ´
Evaluando sistemas de recomendacion 30 de noviembre de 2011 33 / 34
34. Algunas conclusiones.
´
Una sola metrica no es suficiente para mostrar distintos aspectos
de un sistema.
´
Una misma metrica puede tener distintos criterios de uso.
´
Las diversas particiones facilitan el analisis de distintas
capacidades del sistema.
´ ´
Las tecnicas de seleccion de atributos son una herramienta util
´
´ ´
para la reduccion de la dimensionalidad y la identificacion de los
´
criterios de decision de los usuarios.
Blanca Vargas Govea (CENIDET) ´
Evaluando sistemas de recomendacion 30 de noviembre de 2011 34 / 34