Aprendizaje de reglas para un sistema de recomendación contextual

31
Aprendizaje de Reglas para un SR contextual Blanca A. Vargas Govea [email protected] Grupo de Sistemas de Recomendación cenidet Feb 16, 2012

Transcript of Aprendizaje de reglas para un sistema de recomendación contextual

Page 1: Aprendizaje de reglas para un sistema de recomendación  contextual

Aprendizaje de Reglas para unSR contextual

Blanca A. Vargas [email protected]

Grupo de Sistemas de Recomendacióncenidet

Feb 16, 2012

Page 2: Aprendizaje de reglas para un sistema de recomendación  contextual

2

AntecedentesEvaluación

Surfeous

Metodología para el aprendizaje de reglas

Selección de atributos

Preparación de datos

1

Contenido

2

3

4

Page 3: Aprendizaje de reglas para un sistema de recomendación  contextual

3

Surfeous: prototipo de SRusuario

opiniones

buscando restaurante

ratings y tags

enfoque contextual

enfoque social

[1]

Page 4: Aprendizaje de reglas para un sistema de recomendación  contextual

4

Surfeous: modelos de contexto

usuario item

presupuesto

latitud

fumador alcohol

formalidad

ambiente

edad

transportación

estado-civil

hijos

interés

personalidadreligión

ocupación

pesoestatura

pago

accesibilidad

cocinafax

ZIPzona-fumar

ciudad

servicioscocina

ambienteestado

latitud

alcohol

formalidad

país

estacionamiento

teléfono

tipo-de-pago

dirección

días

horas

franquiciaaccesibilidad

costo

longitud

color-favorito

Page 5: Aprendizaje de reglas para un sistema de recomendación  contextual

5

Evaluación: metodología

Popularidad ítemBásica

Por grupos Usuarios con más ratings

Usuarios con menos ratings

Distribución usuario-ítem

Selección de atributos

Page 6: Aprendizaje de reglas para un sistema de recomendación  contextual

6

Evaluación: resultados

social fusión contextooriginal 0.335 0.278 0.133atributos-sel 0.335 0.327 0.133

original atributos-sel0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

socialfusióncontexto

La evaluaciónmás baja se obtiene en el enfoque contextual

Page 7: Aprendizaje de reglas para un sistema de recomendación  contextual

7

¿Sobreajuste?¿Por qué es bajo? ¿Qué ocurre con las reglas?

¿Demasiado generales?

Si   es roja, redonda, de 5cm de    diámetro   y es jaspeada en el 20% de su    superficie entonces    es una manzana

Si   es rojaentonces    es una manzana

Page 8: Aprendizaje de reglas para un sistema de recomendación  contextual

8

Ejemplo de reglas

Page 9: Aprendizaje de reglas para un sistema de recomendación  contextual

9

Aprendizaje de Reglas

Se necesita un conjunto de reglas que describa los datos sin sobre-ajuste ni extrema generalización

¿Entonces?

Page 10: Aprendizaje de reglas para un sistema de recomendación  contextual

10

Metodología

Selección de atributos

modelo del usuario

con ambos modelos

Análisis del estado actual de las reglasPreparación de datos para el aprendizaje

Aprendizaje automático usando ILP

Prueba de reglas aprendidas

modelo del ítem

Page 11: Aprendizaje de reglas para un sistema de recomendación  contextual

11

Selección de atributos

Page 12: Aprendizaje de reglas para un sistema de recomendación  contextual

12

¿Para qué sirve?

Mejorar el desempeño predictivo

Construir modelos máseficientes

Mejorar el entendimientode los modelos

Selección deatributos

[2]

Page 13: Aprendizaje de reglas para un sistema de recomendación  contextual

13

Selección de atributos: proceso

Generación desub-conjuntos

Criterio de paro

Validación deresultados

Evaluación desub-conjuntos

forward/backwardbúsqueda: hill-climbing, best-first,...

Métrica

filtro/wrapper

no

si

sub-conjunto chi-cuadrada, ganan-cia de información,clasificador, consisten-cia

UmbralNo. de atributos seleccionadosQue no mejore la evaluación

Page 14: Aprendizaje de reglas para un sistema de recomendación  contextual

14

Las Vegas Filter: criterio de inconsistencia

IC s(A)=S (A)−maxkS k (A)

IR(S )=∑A∈S

IC S (A)

∣S∣

Conteo de inconsistencia

Valor de inconsistencia

[3]

Page 15: Aprendizaje de reglas para un sistema de recomendación  contextual

15

área costo franquicia fumar Rating A Rating B1 i bajo n s 0 02 i bajo n s 1 03 i bajo n s 2 04 i bajo n s 1 15 i alto n n 0 16 i alto n n 1 17 i alto n n 2 18 e alto s n 1 19 e bajo n n 1 110 e bajo n s 2 2

Ejemplo

Page 16: Aprendizaje de reglas para un sistema de recomendación  contextual

16

Instancias iguales: 1,2,3,4n=4, clases=0,1,2,1clase frecuente=1 (2 instancias)Conteo de inconsistencia (IC): 4-2=2

Instancias iguales: 5,6,7N=3, clases= 0,1,2clase frecuente=1 (1 instancia)Conteo de inconsistencia (IC): 3-1=2

Valor de Inconsistencia: (2+2)/10 = 4/10 = 0.4

Sub-conjunto AInstancias iguales: 1,2,3,4n=4, clases=0,0,0,1clase frecuente=0 (3 instancias)Conteo de inconsistencia (IC): 4-3=1

Instancias iguales: 5,6,7N=3, clases= 1,1,1clase frecuente=1 (3 instancias)Conteo de inconsistencia (IC): 3-3=0

Valor de Inconsistencia: (1+0)/10 = 1/10 = 0.1

Sub-conjunto B

Ejemplo

Page 17: Aprendizaje de reglas para un sistema de recomendación  contextual

17

Descripción de los datos: Surfeous

130restaurantes

1,160ratings

0,1,2valores de

rating 8.41ratings/usuario

115restaurantescon 1 rating

138usuarios

Page 18: Aprendizaje de reglas para un sistema de recomendación  contextual

18

¿Cómo se hizo?

http://www.cs.waikato.ac.nz/ml/weka/

Modelo del usuario

Modelo del servicio

Modelo del usuario + Modelo del servicio

Selección de atributos para: [4]

Page 19: Aprendizaje de reglas para un sistema de recomendación  contextual

19

Preparación de datos

usuario

user­profile

user­cuisine user­payment

user­attributesClase

Page 20: Aprendizaje de reglas para un sistema de recomendación  contextual

20

Preparación de datos

Para el modelo de servicio se efectuóun proceso similar.

Selección deatributos

ítem

usuario+

ítem

usuario

Selección deatributos

Selección deatributos

Page 21: Aprendizaje de reglas para un sistema de recomendación  contextual

21

Cada archivo es la entrada a WEKA

Page 22: Aprendizaje de reglas para un sistema de recomendación  contextual

22

WEKA

Page 23: Aprendizaje de reglas para un sistema de recomendación  contextual

23

WEKA

Page 24: Aprendizaje de reglas para un sistema de recomendación  contextual

24

Resultadosusuario ítem

formalidad

edadinterés

color-favoritococina

zona-fumar

cocinaalcohol

tipo-de-pago

días

horas

alcohol

cocina

edad religión

interéscolor-favorito

horas

usuario + ítem

86.96%80.95%

75.00%

Page 25: Aprendizaje de reglas para un sistema de recomendación  contextual

25

Preparación de datos

Page 26: Aprendizaje de reglas para un sistema de recomendación  contextual

26

Preparación de datos para el aprendizaje

Obtener los elementos necesarios para el aprendizaje automático: reglas prototipo, conocimiento del dominio e instancias aterrizadas.

Objetivos

Preparar una plataforma de prueba de reglas.

Page 27: Aprendizaje de reglas para un sistema de recomendación  contextual

27

Preparación de datos para el aprendizaje

ReglasFormato RDF

PredicadosProlog

Extracción deliterales (condiciones)

Instanciar las condiciones con los valores de atributos

usuariofuma(Restaurant,User):­atom_chars(Msg,"Regla1\n"),write(Msg),permiteFumar(Restaurant,"section"),esFumador(User,true).

<regla nombre="fumatrue1"><antecedente>Restaurant(?r) ^ IDPlace(?r,?id) 

^....</antecedente><consecuente>

sqwrl:selectDistinct(?id)</consecuente><tipo>2</tipo>

</regla>

esFumador("AAAM",false).esFumador("aguilar",false).esFumador("agusperez",false).

permiteFumar(Item,Algo)tieneFormalidad(Item,Algo)ofreceServicio(Item,Algo)sirveAlimento(Item,Algo)esFranquicia(Item,Algo)

Page 28: Aprendizaje de reglas para un sistema de recomendación  contextual

28

Preparación de datos para el aprendizaje

Plataforma para prueba de reglas

Análisis de las reglas originales

Predicados correspondientes a atributos (condiciones)

Reglas muy generales, producen varios resultados por tipo de regla (fumador, estudiante, …)

Ya se tiene

En proceso

Page 29: Aprendizaje de reglas para un sistema de recomendación  contextual

29

Lo que sigue

Selección de atributos

modelo del usuario

con ambos modelos

Análisis del estado actual de las reglasPreparación de datos para el aprendizaje

Aprendizaje automático usando ILP

modelo del ítem

Prueba de reglas aprendidas

Page 30: Aprendizaje de reglas para un sistema de recomendación  contextual

30

[4] M. Hall, E. Frank, G. Holmes, B. Pfahringer, P. Reutemann, and I. H. Witten, “The WEKA data mining software: an update,” SIGKDD Explorations Newsletter, vol. 11, no. 1, pp. 10–18, Nov. 2009.

[2] I. Guyon and A. Elisseeff, “An introduction to variable and feature selection,” Journal of Machine Learning Research, vol. 3, pp. 1157–1182, Mar. 2003.

[1] R. Ponce-Medellín, Búsquedas contextuales de servicios basados en localización en un entorno de web social. 2010.

[3] H. Liu and R. Setiono, “A probabilistic approach to feature selection - A filter solution,” in 13th International Conference on Machine Learning, 1996, pp. 319–327.

Referencias

Page 31: Aprendizaje de reglas para un sistema de recomendación  contextual

31

Gracias

[email protected]@blancavg