34
Evaluando sistemas de recomendaci ´ on Blanca Vargas Govea Grupo de Sistemas de Recomendaci ´ on Departamento de Ciencias Computacionales CENIDET 30 de noviembre de 2011

Evaluando sistemas de recomendación

Embed Size (px)

Citation preview

Page 1: Evaluando sistemas de recomendación

Evaluando sistemasde recomendacion

Blanca Vargas Govea

Grupo de Sistemas de RecomendacionDepartamento de Ciencias Computacionales

CENIDET

30 de noviembre de 2011

Page 2: Evaluando sistemas de recomendación

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

Page 3: Evaluando sistemas de recomendación

¿Por que evaluar?

Mostrar que el sistemacumple su objetivo.

Analizar deficiencias ycorregirlas.

Comparacion con otrossistemas/algoritmos.

Blanca Vargas Govea (CENIDET) Evaluando sistemas de recomendacion 30 de noviembre de 2011 3 / 34

Page 4: Evaluando sistemas de recomendación

Dificultades 1/2

Gran cantidad dealgoritmos.

Distintas tareas.

No hay metodologıaestandar (¿es viable?)

Cuestionamiento enelegir las metricas.

Blanca Vargas Govea (CENIDET) Evaluando sistemas de recomendacion 30 de noviembre de 2011 4 / 34

Page 5: Evaluando sistemas de recomendación

Dificultades 2/2

Escasez de datos deprueba.

No se consideran lasdiferencias de lossistemas.

La evaluacion no reflejaaspectos destacables.

El mismo esquema deevaluacion no funcionapara todos.

Blanca Vargas Govea (CENIDET) Evaluando sistemas de recomendacion 30 de noviembre de 2011 5 / 34

Page 6: Evaluando sistemas de recomendación

¿Que se esta haciendo?

Nuevas metricas.

Busqueda demetodologıa unica.

Enfoques centrados enel usuario.

Tomar en cuenta lascaracterısticas de losdatos.

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

Page 7: Evaluando sistemas de recomendación

Metodologıa

Blanca Vargas Govea (CENIDET) Evaluando sistemas de recomendacion 30 de noviembre de 2011 7 / 34

Page 8: Evaluando sistemas de recomendación

¿Como?

Restaurants

Rat

ings

0

5

10

15

20

25

30

35

0 10 20 30 40 50 60 70 80 90 100

110

120

130

Lambda

Pre

cisi

on

0.3

0.4

0.5

0.6

0.7

0.8

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

dataset

TopU.pop

TopU.nopop

BottomU.pop

BottomU.nopop

Lambda

Rec

all

0.10

0.15

0.20

0.25

0.30

0.35

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

dataset

popular

no_popular

Blanca Vargas Govea (CENIDET) Evaluando sistemas de recomendacion 30 de noviembre de 2011 8 / 34

Page 9: Evaluando sistemas de recomendación

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 yservicio (ıtem). Uso de web semantica, ontologıas.

Blanca Vargas Govea (CENIDET) Evaluando sistemas de recomendacion 30 de noviembre de 2011 9 / 34

Page 10: Evaluando sistemas de recomendación

Sistema a evaluar: Surfeous

Blanca Vargas Govea (CENIDET) Evaluando sistemas de recomendacion 30 de noviembre de 2011 10 / 34

Page 11: Evaluando sistemas de recomendación

Lo mınimo

Blanca Vargas Govea (CENIDET) Evaluando sistemas de recomendacion 30 de noviembre de 2011 11 / 34

Page 12: Evaluando sistemas de recomendación

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

Page 13: Evaluando sistemas de recomendación

Descripcion de datos

Usuario Item Ratingid01 253 0id02 253 1id02 258 0...id138 247 2

top Item Freq pcj pcj acum.1 5085 36 3.10 3.102 2825 33 2.75 5.853 5032 28 2.41 8.26...33 5046 11 0.948 49.31...130 5016 3 0.259 100 %

Cuadro: Frecuencia acumulada ıtems

Usuario Item Rating138 130 1161

Restaurants

Rat

ings

0

5

10

15

20

25

30

35

0 10 20 30 40 50 60 70 80 90 100

110

120

130

Items

Num

ber

of r

atin

gs %

0

10

20

30

40

50

60

70

80

90

100

0 10 20 30 40 50 60 70 80 90 100

110

120

130

Figura: Power law distribution, top 33≈ 50 %.

Blanca Vargas Govea (CENIDET) Evaluando sistemas de recomendacion 30 de noviembre de 2011 13 / 34

Page 14: Evaluando sistemas de recomendación

Esquema entrenamiento - prueba

Leave one out. Conjunto de prueba: se extrae aleatoriamente unainstancia (usuario,ıtem, rating) por cada usuario. Las instanciasrestantes forman el conjunto de entrenamiento.

n Usuario Item Rating1 id01 253 02 id02 253 13 id02 258 0...1161 id138 247 2

Cuadro: Todos

n Usuario Item Rating1 id01 253 02 id02 253 13 id03 258 0...138 id138 247 2

Cuadro: Conjunto de prueba

n Usuario Item Rating1 id01 253 02 id02 253 13 id02 258 0...1023 id138 247 2

Cuadro: Conjunto de entrenamiento

Repeticiones

10 veces por cada experimento.

Blanca Vargas Govea (CENIDET) Evaluando sistemas de recomendacion 30 de noviembre de 2011 14 / 34

Page 15: Evaluando sistemas de recomendación

Seleccion de metricas

Metrica TareaMSE = 1

n

∑ni=1(pi − ai )

2 Prediccion de ratings

RMSE =√

1n

∑ni=1(pi − ai )2 Prediccion de ratings

Precision = Relevantes recuperadosRecuperados y Top n

Recuerdo = Relevantes recuperadosRelevantes

ROC Top nTPR = TP

TP+FNFPR = FP

FP+TN

NDCGk = 1Z

∑ki=1

2relevance score(i)−1

log2(i+1) Top n

Blanca Vargas Govea (CENIDET) Evaluando sistemas de recomendacion 30 de noviembre de 2011 15 / 34

Page 16: Evaluando sistemas de recomendación

Precision/Recuerdo

Evalua la capacidad del sistema de mostrar el ıtem esperado en lalista.

Precision =Relevantes recuperados

Recuperados

Recuerdo =Relevantes recuperados

Relevantes

¿Que ıtems son relevantes? posibles respuestas:

Los que aparecen en la lista y queestan en el conjunto de prueba.

Los que el usuario considerautiles y toma la recomendacion.

Los que aparecen dentro de lasprimeras n posiciones de la lista yestan en el conjunto de prueba.

Blanca Vargas Govea (CENIDET) Evaluando sistemas de recomendacion 30 de noviembre de 2011 16 / 34

Page 17: Evaluando sistemas de recomendación

Precision/Recuerdo: ejemplo

Tenemos 5 usuarios en el conjunto de prueba. Para cada usuario serealizan 11 queries en un sistema de recomendacion variando unparametro (0,0-1,0). Los resultados muestran la posicion en la queaparece el ıtem. Obtener la precision y el recuerdo del sistema paralas 5 primeras posiciones de la lista.

Usuario Precision Recuerdou1:{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 elnumero de usuarios en el conjunto de prueba, no sobre los usuariosrecuperados. Algunos usuarios no reciben recomendaciones.

Blanca Vargas Govea (CENIDET) Evaluando sistemas de recomendacion 30 de noviembre de 2011 17 / 34

Page 18: Evaluando sistemas de recomendación

NDCG: Normalized Discounted Cumulative Gain

Evalua la capacidad del sistema de mostrar el ıtem en las primerasposiciones.

NDCGk =1Z

∑ki=1

2relevance score(i)−1log2(i+1)

Supongamos que en un query para un usuario, el ıtem esperadoaparecio 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 101 0.63 0.5 0.43 0.38 0.35 0.33 0.32 0.30 0.29

DCG4 = 0 + 0 + 0 +21−1

log2(4+1) = 0,43

Blanca Vargas Govea (CENIDET) Evaluando sistemas de recomendacion 30 de noviembre de 2011 18 / 34

Page 19: Evaluando sistemas de recomendación

¿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

Page 20: Evaluando sistemas de recomendación

Resultado

Lambda

Pre

cisi

on

0.45

0.50

0.55

0.60

0.65

0.70

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0.1

1.0

subset

All

Lambda

Rec

all

0.15

0.20

0.25

0.30

0.35

0.0

0.2

0.4

0.6

0.8

1.0

subset

All

Lambda

ND

CG

0.46

0.48

0.50

0.52

0.54

0.56

0.0

0.2

0.4

0.6

0.8

1.0

subset

All

Blanca Vargas Govea (CENIDET) Evaluando sistemas de recomendacion 30 de noviembre de 2011 20 / 34

Page 21: Evaluando sistemas de recomendación

Por grupos

Blanca Vargas Govea (CENIDET) Evaluando sistemas de recomendacion 30 de noviembre de 2011 21 / 34

Page 22: Evaluando sistemas de recomendación

¿Por que? ¿no basta con la evaluacion anterior?

Muestra la capacidad del sistema para generar recomendaciones paradistintas caracterısticas de los datos.

¿Como se comporta pararecomendar ıtemsno-populares?

¿Y para usuarios con pocosratings?

¿Que hace cuando hay mayornumero de ıtems que deusuarios? ¿y viceversa?

Blanca Vargas Govea (CENIDET) Evaluando sistemas de recomendacion 30 de noviembre de 2011 22 / 34

Page 23: Evaluando sistemas de recomendación

Popularidad de ıtems

Lambda

Pre

cisi

on

0.52

0.54

0.56

0.58

0.60

0.62

0.64

0.66

0.68

0.70

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

dataset

popular

no_popular

Lambda

Rec

all

0.10

0.15

0.20

0.25

0.30

0.35

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

dataset

popular

no_popular

Lambda

ND

CG

0.46

0.48

0.50

0.52

0.54

0.56

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

dataset

popular

no_popular

Blanca Vargas Govea (CENIDET) Evaluando sistemas de recomendacion 30 de noviembre de 2011 23 / 34

Page 24: Evaluando sistemas de recomendación

Ratings. Usuarios con mas ratings.

Lambda

Pre

cisi

on

0.3

0.4

0.5

0.6

0.7

0.8

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

dataset

TopU.pop

TopU.nopop

Lambda

Rec

all

0.05

0.10

0.15

0.20

0.25

0.30

0.35

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

dataset

TopU.pop

TopU.nopop

Lambda

ND

CG

0.42

0.44

0.46

0.48

0.50

0.52

0.54

0.56

0.58

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

dataset

TopU.pop

TopU.nopop

Blanca Vargas Govea (CENIDET) Evaluando sistemas de recomendacion 30 de noviembre de 2011 24 / 34

Page 25: Evaluando sistemas de recomendación

Ratings. Usuarios con menos ratings.

Lambda

Pre

cisi

on

0.44

0.50

0.55

0.60

0.65

0.70

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

dataset

BottomU.pop

BottomU.nopop

Lambda

Rec

all

0.05

0.10

0.15

0.20

0.25

0.30

0.35

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

dataset

BottomU.pop

BottomU.nopop

Lambda

ND

CG

0.35

0.40

0.45

0.50

0.55

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

dataset

BottomU.pop

BottomU.nopop

Blanca Vargas Govea (CENIDET) Evaluando sistemas de recomendacion 30 de noviembre de 2011 25 / 34

Page 26: Evaluando sistemas de recomendación

Distribucion usuarios-ıtems.

Lambda

Pre

cisi

on

0.50

0.55

0.60

0.65

0.70

0.75

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

dataset

lessU.moreItems

moreU.lessItems

Lambda

Rec

all

0.15

0.20

0.25

0.30

0.35

0.40

0.45

0.50

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

dataset

lessU.moreItems

moreU.lessItems

Lambda

ND

CG

0.42

0.44

0.46

0.48

0.50

0.52

0.54

0.56

0.58

0.60

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

dataset

lessU.moreItems

moreU.lessItems

Blanca Vargas Govea (CENIDET) Evaluando sistemas de recomendacion 30 de noviembre de 2011 26 / 34

Page 27: Evaluando sistemas de recomendación

Atributos de contexto

Blanca Vargas Govea (CENIDET) Evaluando sistemas de recomendacion 30 de noviembre de 2011 27 / 34

Page 28: Evaluando sistemas de recomendación

Atributos: posibles dificultades

Problemas dedimensionalidad: lentitud.

Desempeno predictivo:atributos redundantes eirrelevantes.

Exceso de informacionsolicitada al usuario.

Diseno de interfaz.

Blanca Vargas Govea (CENIDET) Evaluando sistemas de recomendacion 30 de noviembre de 2011 28 / 34

Page 29: Evaluando sistemas de recomendación

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,hoursUser 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,cuisineEnvironment model (2 attributes)time,weather

Blanca Vargas Govea (CENIDET) Evaluando sistemas de recomendacion 30 de noviembre de 2011 29 / 34

Page 30: Evaluando sistemas de recomendación

¿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 tomaraen 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

Page 31: Evaluando sistemas de recomendación

¿Que se hizo? (2/2)

Blanca Vargas Govea (CENIDET) Evaluando sistemas de recomendacion 30 de noviembre de 2011 31 / 34

Page 32: Evaluando sistemas de recomendación

Resultados seleccion de atributos.

Lambda

Pre

cisi

on

0.45

0.50

0.55

0.60

0.65

0.70

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0.1

1.0

subset

All

B

C

D

E

F

Lambda

Rec

all

0.15

0.20

0.25

0.30

0.35

0.0

0.2

0.4

0.6

0.8

1.0

subset

All

B

C

D

E

F

Lambda

ND

CG

0.46

0.48

0.50

0.52

0.54

0.560.

0

0.2

0.4

0.6

0.8

1.0

subset

All

B

C

D

E

F

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

Page 33: Evaluando sistemas de recomendación

Resultados: seleccion de atributos.

Se logro reducir la dimensionalidad sin degradar el desempeno.

Se identificaron los atributos contextuales relevantes. Criteros dedecision de los usuarios.

Se observa un grupo de prueba homogeneo.

Los atributos relevantes pueden cambiar conforme el conjunto deusuarios aumenta.

Blanca Vargas Govea (CENIDET) Evaluando sistemas de recomendacion 30 de noviembre de 2011 33 / 34

Page 34: Evaluando sistemas de recomendación

Algunas conclusiones.

Una sola metrica no es suficiente para mostrar distintos aspectosde un sistema.

Una misma metrica puede tener distintos criterios de uso.

Las diversas particiones facilitan el analisis de distintascapacidades del sistema.

Las tecnicas de seleccion de atributos son una herramienta utilpara la reduccion de la dimensionalidad y la identificacion de loscriterios de decision de los usuarios.

Blanca Vargas Govea (CENIDET) Evaluando sistemas de recomendacion 30 de noviembre de 2011 34 / 34