Evaluando sistemas de recomendación

Preview:

Citation preview

Evaluando sistemasde recomendacion

Blanca Vargas Govea

Grupo de Sistemas de RecomendacionDepartamento de Ciencias Computacionales

CENIDET

30 de noviembre de 2011

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

¿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

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

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

¿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

Metodologıa

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

¿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

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

Sistema a evaluar: Surfeous

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

Lo mınimo

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

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

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

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

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

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

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

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

¿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

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

Por grupos

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

¿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

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

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

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

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

Atributos de contexto

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

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

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

¿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

¿Que se hizo? (2/2)

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

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

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

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

Recommended