Tópicos de Big Data - Sistemas de Recomendación

33
Tópicos de Estadística & Data Mining en Big Data Sistemas de recomendación Lic. Ernesto Mislej Maestría en Exploración de Datos y Descubrimiento del Conocimiento Universidad de Buenos Aires [email protected] Octubre 2014

description

Los Sistemas de Recomendación (RS), rec. systems, engines, frameworks, platforms es una disciplina derivada del Data Mining que se centra en el diseño de filtros sobre colecciones de items que son del gusto o del interés del usuario. Para tal fin se utilizan la historia de calificaciones realizada por el usuario y por la comunidad de usuarios. Se trabajan sobre dominos ligados al gusto como son las películas, programas de TV, video por demanda, música, libros, espectáculos, restaurantes, noticias, entre otros. Referencias: http://mmds.org

Transcript of Tópicos de Big Data - Sistemas de Recomendación

Page 1: Tópicos de Big Data - Sistemas de Recomendación

Tópicos de Estadística & Data Miningen Big Data

Sistemas de recomendación

Lic. Ernesto Mislej

Maestría en Exploración de Datos yDescubrimiento del Conocimiento

Universidad de Buenos Aires

[email protected]

Octubre 2014

Page 2: Tópicos de Big Data - Sistemas de Recomendación

Tópicos de Estadística & Data Miningen Big Data

Sistemas de recomendación

Lic. Ernesto Mislej

Maestría en Exploración de Datos yDescubrimiento del Conocimiento

Universidad de Buenos Aires

[email protected]

Octubre 2014

Page 3: Tópicos de Big Data - Sistemas de Recomendación

Afro Celt Sound System

Page 4: Tópicos de Big Data - Sistemas de Recomendación

Definición

Los Sistemas de Recomendación (RS), rec. systems, engines,frameworks, platforms es una disciplina derivada del DataMining que se centra en el diseño de filtros sobre colecciones deitems que son del gusto o del interés del usuario.

Para tal fin se utilizan la historia de calificaciones realizada porel usuario y por la comunidad de usuarios.

Se trabajan sobre dominos ligados al gusto como son laspelículas, programas de TV, video por demanda, música, libros,espectáculos, restaurantes, noticias, entre otros.

Page 5: Tópicos de Big Data - Sistemas de Recomendación

The Long Tail

Page 6: Tópicos de Big Data - Sistemas de Recomendación

The Long Tail

• Recomendaciones de items muy poco populares y aúndesconocidos por el usuario, pero que serán de su agrado!

• 20 % de los items acumulan el 80 % de los votos• Serendipia (a.k.a chiripa) ocurre cuando encontrás algo

supuestamente inesperado.

Page 7: Tópicos de Big Data - Sistemas de Recomendación

The Long Tail

!"#!"$%!$& '()*&+*,-./*01&23456.)7&8$9:;&<=5=5>&<4,,=/*&?434,*3,& :&

Read http://www.wired.com/wired/archive/12.10/tail.html to learn more!

Page 8: Tópicos de Big Data - Sistemas de Recomendación

The Netflix Prize

Page 9: Tópicos de Big Data - Sistemas de Recomendación

The Netflix Prize

• Training data: 100 millones de calificaciones, 48.000usuarios, 17.770 películas

• 6 años de información: 2000-2005

• Test data: Algunas últimas calificaciones de cada usuarios(2.8 millones)

• Criterio de evaluation: root mean squared error (RMSE)• Netflix Cinematch RMSE: 0.9514

• Concurso 2700+ equipos• $1M USD para aquél quien supere en un 10 % a Netflix

Cinematch

• Grand Prize to team BellKor’s Pragmatic Chaos 21 deseptiembre de 2009.

Page 10: Tópicos de Big Data - Sistemas de Recomendación

!"#$%&'()*)!"#$%&'()*+,)%-.%!"#$%&'/)0'(1%-.%

!"#$%&'()+).2'$%$')3,1%24%&'()*+,)%5',266'40'3%$#$('6%$"//'$($%&'/)0'(1%7326%0)()%,2**',('0%7326%,"$(26'3%8%

9:;9:<=9<% >"3'%?'$@2A',B%C()47230%-<DEF%&+4+4/%&)$$+A'%.)()$'($% <%

Juan Carlos

Page 11: Tópicos de Big Data - Sistemas de Recomendación

!"#$%&'()*)!"#$%&'()*+,)%-.%!"#$%&'/)0'(1%-.%

!"#$%&'()+).2'$%$')3,1%24%&'()*+,)%5',266'40'3%$#$('6%$"//'$($%&'/)0'(1%7326%0)()%,2**',('0%7326%,"$(26'3%8%

9:;9:<=9<% >"3'%?'$@2A',B%C()47230%-<DEF%&+4+4/%&)$$+A'%.)()$'($% <%

René

Page 12: Tópicos de Big Data - Sistemas de Recomendación

Sistemas de Recomendación

Items

Search Recommendations

Products, web sites, blogs, news items, …

!"#!"$%!$& #&'()*&+*,-./*01&23456.)7&8$9:;&<=5=5>&<4,,=/*&?434,*3,&

!"#$%&'()*

Page 13: Tópicos de Big Data - Sistemas de Recomendación

Ejemplos de Sistemas de Recomendación

1 Ofrecer artículos periodísticos en sitios de noticias onlinebasados en los intereses del lector.

2 Ofrecer sugerencias de productos en una tienda onlinebasados en el historial de compra.

3 Encontrar cuál es el grupo de fans con más ganas paraviajar a ver un recital.

4 Ofrecer cursos de capacitación a personas conociendo suscapacidades y su historia curricular.

5 Sugerir destinos de viaje en relación a las búsquedasrealizadas en una agencia de viajes online.

Page 14: Tópicos de Big Data - Sistemas de Recomendación

Paradigmas de los sistemas de recomendación

Los recsys utilizan diferentes tecnologías, podemos clasificarlasdentro de este grupo de 2 (+1) categorías.• Basados en Contenido el sistema encuentra características

de los ítems pertenecientes al catálogo y encuentra ítemsaún no vistos. Por ejemplo, si el usuario vio muchaspeliculas cowboys, el sistema recomendará otras películasde ese género.

• Filtros Colaborativos el sistema encuentra otros usuariossimilares respecto de sus historiales de compra yrecomendará items aún no vistos.

• Basados en Conocimiento: el sistema emula elcomportamiento de un vendedor realizando preguntas paraconocer cuáles son nuestros intereses

Page 15: Tópicos de Big Data - Sistemas de Recomendación

Paradigmas de los sistemas de recomendación

Page 16: Tópicos de Big Data - Sistemas de Recomendación

Paradigmas de los sistemas de recomendación

Filtros personalizados: Sólo mostrame estás categorías

Page 17: Tópicos de Big Data - Sistemas de Recomendación

Paradigmas de los sistemas de recomendación

Collaborative: Contame qué le gustó a mis pares

Page 18: Tópicos de Big Data - Sistemas de Recomendación

Paradigmas de los sistemas de recomendación

Content-based: Dame más de lo que me gusta

Page 19: Tópicos de Big Data - Sistemas de Recomendación

Paradigmas de los sistemas de recomendación

Knowledge-based: ¿Qué estás buscando?

Page 20: Tópicos de Big Data - Sistemas de Recomendación

Paradigmas de los sistemas de recomendación

Híbridos: combinando los diferentes mecanismos

Page 21: Tópicos de Big Data - Sistemas de Recomendación

Content-based recommendation

Idea: Recomendar ítems al usuario x similares a los ítems quepreviamente el usuario x calificó positivamente. Recomendarfantasy novels a la gente que le gustó fantasy novels en elpasado.

Qué necesitamos:• características del item cómo el género. A ello lo llamamos

(content).• construir un perfil del usuario que describen sus gustos

(preferences).

El objetivo:• inducir preferencias• reconocer items similares a los preferidos del usuario en el

pasado.

Page 22: Tópicos de Big Data - Sistemas de Recomendación

Videos de gatos¿Dónde está el género?

Page 23: Tópicos de Big Data - Sistemas de Recomendación

Duplicados

Page 24: Tópicos de Big Data - Sistemas de Recomendación

Collaborative Filtering

• C = conjunto de Usuarios• S = conjunto de Items• Función de utilidad u : C × S→ R

• R = conjunto de calificaciones

Matriz de utilidad:

Item 1 Item 2 Item 3 Item 4 Item 5Alice 5 3 4 4 ?Berta 3 1 2 3 3Clara 4 3 4 3 5Diana 5 1 4 3 4Erika 1 5 5 2 1

Page 25: Tópicos de Big Data - Sistemas de Recomendación

Collaborative Filtering

• Consideremos alusuario x

• Identificar al grupo Nde otros usuarios talque sus califiaciones sonsimilares a lascalificaciones de x

• Luego estimar lascalificaciones de losítems aún-no-vistos de xutilizando lascalificaciones del grupoN

!"#$%&'()*$'()!"!

+%#&)$',)#)"-)",.'())*$'($)/."$')(0,%#1$))0(')2$%3%40(5),"))!6$)(0,%#1$)

!

7$,%30,')!6$)(0,%#1$))80$'&)"#)(0,%#1$))"-)*$'($)%#)#")

9:;9:<=9<) <=)>*(')?'$@"A'BC)D,0#-"(&)!<EFG)H%#%#1)H0$$%A')I0,0$',$)

!"

#"

Page 26: Tópicos de Big Data - Sistemas de Recomendación

Dimensionality Reduction

Un enfoque sería intentar estimar las celdas vacías de la matrizde utilidad como el producto de 2 matrices (thin matrices)rectangulares.

UV-Decomposition

308 CHAPTER 9. RECOMMENDATION SYSTEMS

(c) Compute the cosine distance between each pair of users, according to yourmatrix from Part (b).

9.4 Dimensionality Reduction

An entirely di!erent approach to estimating the blank entries in the utilitymatrix is to conjecture that the utility matrix is actually the product of twolong, thin matrices. This view makes sense if there are a relatively small setof features of items and users that determine the reaction of most users tomost items. In this section, we sketch one approach to discovering two suchmatrices; the approach is called “UV-decomposition,” and it is an instance ofa more general theory called SVD (singular-value decomposition).

9.4.1 UV-Decomposition

Consider movies as a case in point. Most users respond to a small numberof features; they like certain genres, they may have certain famous actors oractresses that they like, and perhaps there are a few directors with a significantfollowing. If we start with the utility matrix M , with n rows and m columns(i.e., there are n users and m items), then we might be able to find a matrixU with n rows and d columns and a matrix V with d rows and m columns,such that UV closely approximates M in those entries where M is nonblank.If so, then we have established that there are d dimensions that allow us tocharacterize both users and items closely. We can then use the entry in theproduct UV to estimate the corresponding blank entry in utility matrix M .This process is called UV-decomposition of M .

!""""#

5 2 4 4 33 1 2 4 12 3 1 42 5 4 3 54 4 5 4

$%%%%&

=

!""""#

u11 u12

u21 u22

u31 u32

u41 u42

u51 u52

$%%%%&

!'

v11 v12 v13 v14 v15

v21 v22 v23 v24 v25

(

Figure 9.9: UV-decomposition of matrix M

Example 9.11 : We shall use as a running example a 5-by-5 matrix M withall but two of its entries known. We wish to decompose M into a 5-by-2 and2-by-5 matrix, U and V , respectively. The matrices M , U , and V are shownin Fig. 9.9 with the known entries of M indicated and the matrices U andV shown with their entries as variables to be determined. This example isessentially the smallest nontrivial case where there are more known entries thanthere are entries in U and V combined, and we therefore can expect that thebest decomposition will not yield a product that agrees exactly in the nonblankentries of M . !

Page 27: Tópicos de Big Data - Sistemas de Recomendación

Cold Start

Page 28: Tópicos de Big Data - Sistemas de Recomendación

Explanation

Page 29: Tópicos de Big Data - Sistemas de Recomendación

Feedback

Page 30: Tópicos de Big Data - Sistemas de Recomendación

CARSContext-AwareRecommender Systems

Page 31: Tópicos de Big Data - Sistemas de Recomendación

KB Recommendation

Page 32: Tópicos de Big Data - Sistemas de Recomendación

PROs and CONs

Content-based:PROs: No hace falta comunidad, solo func. de distancia entre ítemsCONs: Content-descriptions, cold start para usuarios nuevos, no haysorpresa.

Collaborative Filtering (CF):PROs: Serendipia de resultados, reconoce segmentos del mercadoCONs: Requiere feedback, cold start para usuarios nuevos e ítems.

Knowledge-based:PROs: Recomendaciones determinísticas, calidad controlada, no haycold-start, remite al diálogo del vendedor.CONs: Conocer el dominio del catálogo, no admite entorno dinámicos.

Page 33: Tópicos de Big Data - Sistemas de Recomendación

Referencias

• The Netflix prize. http://www.netflixprize.com/• The Long Tail: Why the Future of Business is Selling Less of

More, by Chris Anderson.• Recommender Systems: An Introduction, by Markus Zanker,

Alexander Felfernig, Gerhard Friedrich.• Recommender Systems Handbook, by Lior Rokach, Bracha

Shapira.• The ACM Conference Series on Recommender Systems.http://recsys.acm.org/

• Recommendation Systems - Mining of Massive Datasets,Chap. 9, by Anand Rajaraman, Jeff Ullman y Jure Leskovec.