SISTEMAS DE RECOMENDACIÓN BASADOS EN MÉTODOS DE FILTRADO COLABORATIVO

Tamaño: px
Comenzar la demostración a partir de la página:

Download "SISTEMAS DE RECOMENDACIÓN BASADOS EN MÉTODOS DE FILTRADO COLABORATIVO"

Transcripción

1 UNIVERSIDAD TÉCNICA FEDERICO SANTA MARÍA DEPARTAMENTO DE INFORMÁTICA SANTIAGO CHILE SISTEMAS DE RECOMENDACIÓN BASADOS EN MÉTODOS DE FILTRADO COLABORATIVO NICOLÁS IGNACIO TORRES RUDLOFF MEMORIA DE TITULACIÓN PARA OPTAR AL TÍTULO DE INGENIERO CIVIL INFORMÁTICO PROFESOR GUÍA: MARCELO MENDOZA PROFESOR CORREFERENTE: RICARDO ÑANCULEF OCTUBRE 2015

2 Resumen Los Sistemas de Recomendación ayudan a la gente a tomar decisiones frente a grandes volúmenes de información. Una de las técnicas más populares es el Filtrado Colaborativo, el cual utiliza a usuarios con gustos similares para hacer recomendaciones. Se divide en dos categorías principales: algoritmos basados en memoria y basados en modelos. En este documento, se estudian, los métodos más representativos de cada categoría en el Estado del Arte. Luego, se presenta un estudio exhaustivo, a través de experimentos en tareas de predicción de ratings y recomendación de ítems, sobre diversos contextos. Finalmente, se obtienen conclusiones relevantes que pueden servir como base para entender y guiar investigaciones en esta área. Palabras Clave: Sistemas de Recomendación, Filtrado Colaborativo, Similaridad, Factorización Matricial, Predicción, Recomendación, Evaluación. I

3 Abstract Recommender Systems help people to make decisions about large volumes of information. One of the most popular techniques is Collaborative Filtering, which uses users with similar tastes to make recommendations. It is divided into two main categories: memory-based and model-based. In this paper, we study the most representative methods of each category in the State of the Art. Then, a comprehensive study is presented, through experiments in prediction and recommendation tasks on various contexts. Finally, we obtain relevant conclusions that can serve as a basis for understanding and guiding research in this area. Keywords: Recommender Systems, Collaborative Filtering, Similarity, Matrix Factorization, Prediction, Recommendation, Evaluation. II

4 Glosario A algoritmo Conjunto de operaciones que buscan solucionar algún tipo de problema. B benchmark data Información recolectada por la industria usada especialmente para comparar procesos de negocios y métricas de desempeño entre firmas. C clustering Procedimiento de agrupación de los datos de acuerdo a algún criterio. cold start Arranque con información insuficiente. cross-validation Técnica para evaluar los resultados que garantiza independencia. D data mining Proceso que busca descubrir patrones y extraer información relevante. data set Conjunto de datos. dimensionalidad Tamaño de los datos. dispersión Baja densidad de ratings. E eficiencia Llevar a cabo una tarea optimizando los recursos. escalabilidad Capacidad de reaccionar y adaptarse sin perder calidad. L latente Oculto. III

5 long tail Pocos objetos con muchos ratings y muchos objetos con pocos ratings. M machine learning Rama que explora la construcción y estudio de algoritmos capaces de aprender y hacer predicciones sobre los datos. N normalización Proceso de estandarizar los datos. O outliers Datos que presentan un comportamiento anómalo. overfitting Efecto de adaptarse demasiado a datos conocidos perdiendo generalidad. R rating Valor numérico que representa la preferencia de un usuario sobre un objeto. Generalmente son enteros en escala de 1 a 5. robustez Implica no verse afectado por variaciones pequeñas. S sesgo Tendencia de los datos. similaridad Parecido de los datos según algún criterio. T testing Fase en que se evalúa el modelo predictivo. training Fase en que se construye el modelo predictivo. U usuario activo Usuario al cual se le busca estimar o predecir sus gustos. V vecindario Grupo de usuarios con gustos similares al usuario activo. IV

6 Siglas CF Collaborative Filtering, Filtrado Colaborativo. IR Information Retrieval, Recuperación de Información. ITCC Information Theoretic Co-clustering. LSI Latent Semantic Indexing, Indexación Semántica Latente. RecSys Recommender Systems, Sistemas de Recomendación. SVD Singular Value Decomposition, Descomposición en Valores Singulares. V

7 Índice general 1 Introducción Objetivos Objetivos Generales Objetivos Específicos Definición del Problema Conceptos básicos Notaciones Restricciones Distribución de los datos Naturaleza de los datos Persistencia de los datos Desafíos Escalabilidad Dispersión Cold start Metodología Comprensión del tema VI

8 1.3.2 Comprensión de los datos Preparación de los datos Modelado Evaluación Despliegue Estructura de la Memoria Estado del Arte Filtrado Colaborativo basado en memoria Métricas de Similaridad Índice Jaccard Correlación de Pearson Similitud coseno Predicción de ratings Suma Ponderada (Weighted Sum) Regresión Filtrado Colaborativo basado en modelos Algoritmos de Agrupamiento K-Means Co-clustering Técnicas de factorización matricial (MF) Descomposición en valores singulares (SVD) Definición Reducción VII

9 Aplicación Generación de predicciones Regularized SVD (RSVD) RSVD NSVD Asymmetric SVD (ASVD) SVD Robust SVD (RobSVD) Non-negative Matrix Factorization (NMF) Métodos espectrales Spectral Biclustering Modelo Conexión con SVD Algoritmo de Biparticionamiento Implementaciones de Software Crab LensKit MyMediaLite RecommenderLab SUGGEST Python-recsys Implementaciones para Big Data LIBMF MLlib VIII

10 2.3.8 Comparación entre Implementaciones Experimentos Data Sets MovieLens Jester Lastfm Bookcrossing Netflix Yahoo! Webscope Análisis de los datos Densidad Distribución Tamaño y proporciones Escala de los ratings Sesgo Mean-centering Z-score Otros factores Resumen Métricas de evaluación Precisión estadística Mean Absolute Error (MAE) Normalized Mean Absolute Error (NMAE) IX

11 Mean Squared Error (MSE) Root Mean Squared Error (RMSE) Soporte en la toma de decisiones Relevancia Binaria Precision y Recall Mean Reciprocal Rank (MRR) Precision at k (P@k) Average Precision (AP) Mean Average Precision (MAP) Múltiples niveles de relevancia CG DCG ndcg Procedimiento experimental Benchmark data Plataforma experimental Resultados Predicción de ratings Escasez de ratings Tamaño del vecindario Similaridad entre usuarios o ítems Exactitud Estabilidad X

12 Explicabilidad Serendipity Número óptimo de clústers Rango de factorización Estructura latente Normalización de ratings Número de iteraciones Eficiencia y escalabilidad Recomendación de ítems Umbral de relevancia Número de ítems recomendados Conclusiones Conclusiones Generales Conclusiones Específicas Datos Predicción Factores latentes Iteraciones Recomendación Finalidad Algoritmos Evaluación Trabajo a Futuro XI

13 5.3.1 Clustering Regularizadores Grafos Extender evaluación Anexos Anexo A Librerías adicionales A.1 irlba A.2 RobRSVD A.3 NMF Anexo B Tablas B.1 Tiempos B.2 Parámetros Anexo C Fórmulas C.1 Multiplicative update rules C.2 L-BFGS-B XII

14 Índice de figuras 2.1 Formación del vecindario a partir de agrupamiento Aproximación de la matriz R utilizando k factores Grafo Bipartito entre usuarios e ítems Densidad de ratings en los data sets Efecto Long Tail Distribución de ratings en los data sets Matrices que pueden ser almacenadas en 2GB RAM Frecuencia de ratings en los data sets MAE según escasez de ratings en MovieLens100k MAE según el número de vecinos en MovieLens100k MAE según el número de vecinos en Jester5k NMAE según enfoque basado en usuarios o ítems MAE según el número de clústers en MovieLens100k MAE según el número de factores en MovieLens100k MAE según el número de factores en Jester5k Matrices resultantes de la factorización NMF Dispersión en matrices NMF según rango XIII

15 4.10 Matrices W y H de la descomposición NMF (rango 10) Items más representativos de las comunidades 1, 5 y 7 (rango 10) MAE según normalización de ratings en MovieLens100k MAE según el número de iteraciones en MovieLens100k Tiempos experimentales en MovieLens100k Tiempos experimentales en MovieLens1M Precisión según umbral de relevancia en MovieLens100k Precision@N en MovieLens100k Curva Precision/Recall en MovieLens100k Curva F 1 en MovieLens100k ndcg en MovieLens100k ndcg@10 en MovieLens100k XIV

16 Índice de tablas 1.1 Categorías de Filtrado Colaborativo Ejemplo de una matriz de ratings Librerías para sistemas de recomendación Algoritmos de filtrado colaborativo implementados Métricas de evaluación implementadas Escala de ratings en los data sets Propiedades estadísticas de los data sets Matriz de confusión Principales parámetros de los algoritmos Errores según el número de clústers en MovieLens100k Miembros representativos de las comunidades en H Mejora en los algoritmos con técnicas de normalización Complejidad de los algoritmos B.1 Tiempos experimentales en MovieLens 100k B.2 Tiempos experimentales en MovieLens 1M B.3 Parámetros de los algoritmos XV

17 Capítulo 1 Introducción Cada instante las personas se ven obligadas a tomar decisiones en cosas tan simples como Qué ropa usar?, Qué película ver? o Qué noticia leer?. El problema es que se encuentran tan inundadas de información que la tarea de optar por una u otra alternativa no siempre resulta trabajo sencillo. Los Sistemas de Recomendación (Recommender Systems, RecSys) son técnicas de filtrado de información que nacen con el objetivo de ayudar a los usuarios a tomar decisiones frente a grandes cantidades de información. En las últimas décadas se han estudiado y desarrollado diferentes tipos de técnicas que varían en términos de la información utilizada y la forma en que realizan recomendaciones. De manera clásica se distinguen seis principales clases o tipos de sistemas de recomendación [8]: Basados en el Contenido: Elaboran recomendaciones centrándose en la información que pueden extraer de los objetos. Por ejemplo, el género o los actores en una película. Filtrado Colaborativo: Utilizan a usuarios con gustos afines u objetos similares para estimar recomendaciones. Basados en el Contexto: Recomiendan según las características generales de los usuarios como la edad, género, ciudad, etc. Basados en Conocimiento: Consideran las necesidades e intereses del usuario para realizar recomendaciones. Basados en Comunidades: Recomiendan objetos en función de las preferencias de los amigos de los usuarios. Siguen el refrán, Dime con quién andas y te diré quién eres. 1

18 Capítulo 1. Introducción Híbridos: Es la combinación de dos o más enfoques mencionados anteriormente. Esta investigación se encuentra enfocada en sistemas de recomendación basados en Filtrado Colaborativo (Collaborative filtering, CF). Según Shardaham y Maes [52] existen tres fases principales en el funcionamiento de los sistemas colaborativos: 1. El sistema crea un perfil de cada usuario con sus preferencias respectivas. 2. Se mide el grado de similitud entre los distintos usuarios dentro del sistema y se crean grupos de usuarios con gustos parecidos. 3. El sistema estima la preferencia futura de un usuario en base a la información recopilada anteriormente. Dentro de los sistemas de recomendación basados en filtrado colaborativo existen dos clasificaciones principales, los basados en memoria y los basados en modelos. Los métodos basados en memoria (Sección 2.1) utilizan métricas de similaridad para encontrar usuarios con gustos parecidos y realizar recomendaciones. Las métricas más comunes son el coeficiente de correlación de Pearson y la similitud coseno. Los métodos basados en el modelo (Sección 2.2) se dedican a buscar patrones en los datos para estimar o aprender un modelo que sea capaz de realizar predicciones. El modelo puede ser un algoritmo de data mining o de machine learning. Las técnicas de filtrado colaborativo basadas en el modelo incluyen redes bayesianas, modelos de factores latentes, o clustering, entre otros. Las técnicas más representativas de cada categoría, junto a sus principales ventajas y desventajas, se presentan en la Tabla

19 Capítulo 1. Introducción Tabla 1.1: Categorías de Filtrado Colaborativo Técnicas Ventajas Desventajas BASADOS EN MEMORIA BASADOS EN MODELOS K vecinos más Clustering cercanos (knn) Factores Latentes Métodos Espectrales Rápida implementación Mayor escalabilidad Permiten agregar datos Superan problemas de fácilmente y de manera escasez de datos incremental El desempeño decrece en matrices dispersas No escalan bien en data sets a gran escala Construir el modelo es costoso Puede existir perdida de información útil En esta Memoria se estudiarán los principales procedimientos de recomendación de cada categoría. Se comenzará revisando los primeros métodos publicados que corresponden a los basados en memoria, donde destaca el algoritmo de los K-vecinos más cercanos (knn). Posteriormente, se analizarán los métodos basados en modelos, enfocándose esencialmente en las técnicas de clustering y factores latentes. 3

20 Capítulo 1. Introducción 1.1. Objetivos 1.1 Objetivos Objetivos Generales 1. Explorar el impacto de las técnicas de filtrado colaborativo sobre sistemas de recomendación. 2. Estudiar que condiciones permiten mejorar la calidad de las recomendaciones. 3. Aplicar los métodos propuestos a Data de Benchmark Objetivos Específicos 1. Comparar empíricamente al menos tres técnicas de filtrado colaborativo presentes en el Estado del Arte. 2. Analizar el desempeño de los métodos de filtrado colaborativo aplicados a diferentes contextos en sistemas de recomendación. 3. Evaluar la calidad de las recomendaciones con diversas métricas, en al menos dos data sets de mediana escala. 4. Documentar los métodos y experimentos en una Memoria ICI. 4

21 Capítulo 1. Introducción 1.2. Definición del Problema 1.2 Definición del Problema Conceptos básicos Las técnicas de filtrado colaborativo dependen de distintos conceptos para poder describir el dominio del problema y las restricciones particulares que posea el sistema. Muchos de estos términos son comunes entre métodos de recomendación. El dominio de un sistema de filtrado colaborativo consiste en usuarios que han expresado preferencias sobre determinados ítems. Los ítems pueden ser cualquier objeto, tangible o intangible, que un humano pueda calificar. Por ejemplo, películas, libros, canciones, lugares, etc. La preferencia expresada por un usuario sobre un ítem es llamada rating. Estos ratings pueden tomar varias formas, dependiendo del sistema en estudio. Algunos sistemas usan valores reales o enteros (1-5 estrellas), mientras que otros utilizan escala binaria (Me gusta/no me gusta). Los ratings se pueden obtener de forma explícita, implícita, o ambas. En los ratings explícitos los usuarios son consultados directamente para saber su opinión acerca de un determinado ítem. En cambio, los ratings implícitos son inferidos de las acciones del usuario. Por ejemplo, si un usuario consulta reiteradamente un mismo producto, se puede concluir que está interesado en ese objeto. La tríada (USUARIO, ITEM, RATING) se puede agrupar en una matriz denominada matriz de ratings. La Tabla 1.2 muestra un ejemplo de una matriz de ratings para tres usuarios y cuatro ítems en un sistema de recomendación. Tabla 1.2: Ejemplo de una matriz de ratings ITEM 1 ITEM 2 ITEM 3 ITEM 4 USUARIO A USUARIO B 5 4 USUARIO C Cada fila representa un usuario, cada columna representa un ítem, y el valor en la intersección entre una fila y una columna representa el rating dado por el usuario al ítem. Las celdas en blanco indican valores desconocidos, es decir, el usuario no ha 5

22 Capítulo 1. Introducción 1.2. Definición del Problema calificado ese ítem. Generalmente, se utiliza el cero (0) para representar la ausencia de rating. En la práctica, los usuarios califican solo una mínima fracción de los ítems, por lo tanto, la mayoría de las celdas en la matriz tendrán valores nulos. En estos casos, se dice, que la matriz es dispersa. El objetivo de los sistemas de recomendación, incluyendo el filtrado colaborativo, se divide tradicionalmente en dos tareas principales. La primera es la predicción de ratings, cuyo propósito es únicamente averiguar que rating le daría un usuario a un ítem. La segunda tarea es la recomendación de ítems, cuyo fin es encontrar una lista de objetos que sean de gran interés para un usuario en particular. Cabe destacar que la lista recomendada no necesariamente serán los ítems con mayor rating, ya que en este caso el rating no es el único criterio usado para producir recomendaciones. La lista entregada se conoce comúnmente como recomendación Top-N, al ser N ítems recomendados, aunque no imperiosamente en orden de relevancia Notaciones Dentro del modelo de un sistema de recomendación se utilizan notaciones matemáticas para referenciar a los distintos elementos del dominio del problema. El universo consiste en un conjunto de m usuarios U = {u 1, u 2,..., u m }, y un conjunto de n ítems I = {i 1, i 2,..., i n }. Adicionalmente, se tienen ratings otorgados por los usuarios a los ítems, I u es el conjunto de ítems calificados por el usuario u, y U i es el conjunto de usuarios que calificaron el ítem i. Existe un usuario u a U, llamado usuario activo, que es el usuario al cual el sistema le busca predecir ratings o recomendar ítems. La matriz de ratings es denotada por R, de dimensiones m n. La entrada r u,i indica la preferencia del usuario u sobre el ítem i. El vector r #» u contiene todos los ratings provistos por el usuario u, y r #» i es el vector de todos los ratings emitidos sobre el ítem i. En esa misma línea, r u es el promedio de todos los ratings del usuario u, y r i es el promedio de todos los ratings sobre el ítem i. El rating estimado por el sistema para el usuario u sobre el ítem i se denota por ˆr u,i para todos los pares (u, i). 6

23 Capítulo 1. Introducción 1.2. Definición del Problema Restricciones Si bien el filtrado colaborativo puede aplicarse en dominios que no cumplan condiciones específicas el problema se escapa del análisis y debe ser acotado. Es por esto que el dominio abarcado dentro de esta investigación se enmarca dentro de ciertas condiciones relacionadas con la distribución y naturaleza de los datos junto a la persistencia de los mismos en el tiempo Distribución de los datos 1. Cantidad suficiente de ítems. Si hubieran solo unos pocos ítems para elegir, el usuario podría conocerlos todos sin necesidad de soporte informático. 2. Cantidad suficiente de ratings por ítem. Si hubieran solo unos pocos ratings por ítem, podría no haber suficiente información para proporcionar predicciones o recomendaciones útiles. 3. Los usuarios califican múltiples ítems. Si un usuario ha calificado un solo ítem, podría no haber suficiente información para relacionar los distintos gustos entre usuarios Naturaleza de los datos 1. Ítems homogéneos. Los ítems corresponderán únicamente a un tipo de dato; ya sea, películas, canciones, libros, etc. Si se mezclaran entre sí, se dificultaría el análisis. 2. Ratings explícitos. Los conjuntos de datos cuentan con calificaciones hechas por los usuarios directamente sobre los ítems, evitando de esta forma tener que inferir ratings Persistencia de los datos 1. Datos invariables en el tiempo. Los datos a estudiar corresponden a un periodo de tiempo acotado y no existe actualización en tiempo real de los mismos. 2. Gustos de usuarios no evolutivos. Se asume que los usuarios no cambiaron de gustos drásticamente en el periodo de tiempo en que fueron recolectados los datos. Toda calificación hecha por un mismo usuario tendrá igual relevancia, aún cuando, haya sido realizada hace mucho tiempo. 7

24 Capítulo 1. Introducción 1.2. Definición del Problema En la práctica, cuando se trabaja con conjuntos de datos reales muchas de estas restricciones no se cumplen, dando lugar a importantes problemas y desafíos que superar Desafíos El campo de los sistemas de recomendación es muy amplio, tanto en su estudio como en su implementación. Debido a esto, van surgiendo nuevos tópicos de investigación y desafíos que superar. Sin embargo, resulta inviable siquiera mencionar todos estos temas en el análisis. No obstante, dentro del dominio y restricciones del problema emanan tres desafíos primordiales que deben ser considerados Escalabilidad Las técnicas de recomendación están capacitadas para funcionar correctamente sobre un número limitado de usuarios y objetos. En el mundo real, usualmente se trabaja con una cantidad de datos que excede ese límite originando problemas de escalabilidad Dispersión La mayoría de los conjuntos de datos disponibles son extremadamente dispersos, especialmente en ratings explícitos, por el gran esfuerzo que significa para un usuario calificar muchos ítems. Este inconveniente genera una escasez de información para realizar recomendaciones Cold start Cuando un usuario acaba de ingresar al sistema no hay suficiente información para realizar recomendaciones porque aún no se conocen sus gustos. Con los objetos ocurre lo mismo, ya que no se tiene claro a que usuarios le gustarán (New Item Problem). 8

25 Capítulo 1. Introducción 1.3. Metodología 1.3 Metodología La metodología que se utilizará para el desarrollo de la Memoria será CRISP-DM [53] (Cross Industry Standard Process for Data Mining). Se trata de un modelo de procesos para minería de datos que describe las distintas etapas comunes que utilizan los expertos en el tema. CRISP-DM divide el proceso de minería de datos en seis fases principales: Comprensión del tema Es la fase inicial y se centra en entender el problema definiendo los objetivos y requisitos del proyecto, para luego convertir este conocimiento en una definición formal del tema con un plan preliminar diseñado para alcanzar los objetivos. Determinar objetivos (Sección 1.1) Definir formalmente el problema (Sección 1.2) Estudiar las investigaciones más relevantes sobre el tema (Capítulo 2) Comprensión de los datos Esta fase busca familiarizarse con los datos y descubrir los primeros patrones ocultos en los mismos. Descripción inicial de los datos (Sección 3.1) Análisis y exploración de los datos (Sección 3.2) Preparación de los datos Esta fase cubre todas las actividades para construir el conjunto de datos. Las tareas, que son ejecutadas en múltiples oportunidades y sin orden, incluyen manipulación de tablas, registros, atributos y limpieza de datos para las herramientas de modelado. 9

26 Capítulo 1. Introducción 1.3. Metodología Modelado En esta fase se seleccionan y aplican técnicas de modelado de datos y se calibran los parámetros para obtener resultados óptimos. Hay varias técnicas que tienen requerimientos específicos para la forma de los datos, por lo que frecuentemente es necesario volver a la fase anterior. Seleccionar técnicas de evaluación (Sección 3.3). Determinar el procedimiento experimental (Sección 3.4). Ajuste de parámetros (Capítulo 4) Evaluación En esta etapa se evalúa la calidad del modelo propuesto desde una perspectiva de análisis de datos. Evaluar los resultados (Capítulo 4). Revisar el proceso (Capítulo 5). Establecer los pasos a seguir (Sección 5.3) Despliegue Esta fase corresponde a la generación de un reporte documentando los resultados obtenidos durante la investigación. 10

27 Capítulo 1. Introducción 1.4. Estructura de la Memoria 1.4 Estructura de la Memoria El documento se compone de cinco capítulos principales: Introducción, Estado del Arte, Experimentos, Resultados y Conclusiones. Los cuales a su vez se organizan en diferentes secciones. En el Capítulo 1 se establecen las bases para introducir el tema, determinando objetivos, definiendo formalmente el problema y especificando la metodología usada para el desarrollo de la Memoria. En el Capítulo 2 se estudian las investigaciones históricas más importantes sobre el tema y se presentan las herramientas utilizadas para resolver el problema. En el Capítulo 3 se describen y analizan los datos utilizados en el proceso experimental. Además, se exploran las métricas empleadas en la evaluación de los métodos propuestos. En el Capítulo 4 se evalúan los resultados obtenidos sobre distintos parámetros, permitiendo estudiar las condiciones de mayor beneficio para los algoritmos. En el Capítulo 5 se exponen las conclusiones generales y específicas encontradas durante el proceso. También, se sugieren formas de complementar el trabajo en el futuro. En los Anexos, se presentan detalles adicionales de la investigación que no fueron incluidos en el documento principal. Tablas, parámetros y librerías, forman parte de esta sección. Finalmente, se referencian las publicaciones usadas como guía durante el desarrollo de la Memoria. 11

28 Capítulo 2 Estado del Arte Como área formal de investigación el Filtrado Colaborativo (Collaborative Filtering, CF) surge con el objetivo de facilitar la búsqueda de registros en repositorios de texto. Desde documentos de contenido oficial, como artículos científicos o informes corporativos, a contenido más informal como archivos de correo electrónico. Las búsquedas basadas en palabras claves no eran suficientes para describir completamente el tema de los documentos. A comienzos de 1990 se apreciaban dos corrientes de investigación para solucionar este problema. La primera creía que era necesario mejorar la inteligencia artificial para que ésta se encargase de clasificar de mejor manera los documentos. La segunda optaba por entregarle al juicio humano esa labor. Mientras que la clasificación automatizada no obtenía resultados alentadores, el razonamiento humano demostró un alto nivel clasificatorio en sistemas de recomendación. En 1992 se crea Tapestry [19], un sistema de correo electrónico experimental, desarrollado por el Centro de Investigación de Xerox en Palo Alto, que significó el primer paso en esta dirección incorporando las opiniones de los usuarios dentro de su base de datos. En aquel momento comenzaba a popularizarse Internet y con ello aumentaba el uso del correo electrónico. Esto generaba que los usuarios recibieran diariamente una gran cantidad de s, que en muchos casos no eran de su interés. La solución propuesta por Tapestry fue un sistema que registraba las reacciones de los usuarios cuando leían un correo. Este modelo fue conocido como filtrado colaborativo activo, ya que es responsabilidad de los usuarios contribuir activamente con valoraciones a la base de datos. 12

29 Capítulo 2. Estado del Arte 2.1. Filtrado Colaborativo basado en memoria Poco tiempo después de la aparición de Tapestry, Maltz y Ehrlich [38] desarrollan un sistema de recomendación basado en filtrado colaborativo activo que permite a los usuarios compartir fácilmente sus opiniones entre compañeros de organización. La limitante del filtrado colaborativo activo es que requiere de una comunidad de personas que se conozcan entre sí para que el usuario sepa en qué opiniones confiar. Debido a esto, nace el filtrado colaborativo automatizado basado en memoria, que relaciona automáticamente a cada individuo con otros de opiniones similares. 2.1 Filtrado Colaborativo basado en memoria GroupLens Research 1 fue uno de los primeros en estudiar los sistemas de recomendación automatizados, que mantienen la esencia de Tapestry [19] pero implementan importantes mejoras en las métricas utilizadas a la hora de predecir. Se establece que no todas las calificaciones de los usuarios son igualmente útiles, dándole mayor importancia a usuarios con opiniones similares. El algoritmo de los K-vecinos más cercanos (knn, k Nearest Neighbors) es el primer sistema de filtrado colaborativo automatizado. Fue presentado por GroupLens en su motor de recomendación Usenet [41], un sistema de discusión distribuido dentro de una organización donde los usuarios leían y publicaban mensajes, considerado el precursor de los foros en Internet que se utilizan extensamente en la actualidad. Posteriormente, Ringo [52] y BellCore [25], emplearon variantes del mismo método en sus recomendaciones de música y vídeo. Los algoritmos basados en memoria utilizan toda la base de datos de usuarios y objetos para generar predicciones. Cada usuario es parte de un grupo de personas con intereses similares. Identificando ese grupo de usuarios, llamado vecindario, se pueden combinar sus preferencias para realizar predicciones. El algoritmo de los vecinos más cercanos (knn) prevalece entre los métodos de filtrado colaborativo basados en memoria. Según sea el caso, puede ser utilizado para encontrar los k usuarios más cercanos (USER-BASED) o los k objetos más cercanos (ITEM-BASED). De aquí en más, se estudiará el algoritmo knn pensando en los usuarios más cercanos. De manera análoga, puede ser aplicado sobre los ítems. Las etapas son las siguientes: a) calcular la similaridad, que refleja la distancia, correlación, o peso, entre dos usuarios. b) encontrar los k usuarios más cercanos al usuario activo. c) elaborar una predicción ponderando todos los ratings entre usuarios afines

30 Capítulo 2. Estado del Arte 2.1. Filtrado Colaborativo basado en memoria Métricas de Similaridad En primer lugar, es fundamental encontrar a los usuarios con gustos afines al usuario activo. Para ello, se utilizan distintas funciones que miden el grado de similitud, correlación o distancia de los ratings entre usuarios. A continuación se revisarán las métricas más comunes en sistemas de recomendación Índice Jaccard Es uno de los primeros métodos propuestos para medir similaridad entre usuarios. Utilizando el coeficiente de Jaccard [27] es posible conocer la similitud (o disimilitud) que existe entre el conjunto de ítems calificados por un usuario con respecto a otro. Entonces, el índice de Jaccard entre el usuario activo a y un usuario u dentro del sistema, es el siguiente: sim a,u = Jaccard(a, u) = I a I u I a I u, (2.1) donde I a I u corresponde al conjunto de ítems evaluados tanto por el usuario activo a como por el usuario u. Por otro lado, I a I u es el conjunto de ítems evaluados por uno u otro usuario (o ambos). La limitante del coeficiente de Jaccard es que no considera el rating de cada ítem, sólo si éste fue evaluado o no. Esto implica que si un usuario en particular ha calificado una gran cantidad de ítems, según esta métrica, tendrá afinidad con la mayoría de los usuarios dentro del sistema Correlación de Pearson Este coeficiente mide el grado de relación lineal entre dos variables. Fue utilizado por GroupLens [41] y BellCore [25]. La correlación que existe entre el usuario activo a y un usuario u dentro del sistema es sim a,u = i I a I u (r a,i r a ) (r u,i r u ) i I a I u (r a,i r a ) 2 i I a I u (r u,i r u ) 2, (2.2) 14

31 Capítulo 2. Estado del Arte 2.1. Filtrado Colaborativo basado en memoria donde r a,i y r u,i son los ratings que los usuarios a y u emitieron sobre el ítem i. En tanto, r a y r u son los promedios de los ratings entregados por los usuarios a y u sobre todos los ítems que ambos calificaron. La sumatoria se realiza sobre i I a I u, es decir, el conjunto de ítems calificados tanto por el usuario a como por el usuario u. La idea detrás de este cálculo es que el índice de correlación entre el usuario activo y el resto de los usuarios se utilice para asignarle más o menos peso a las calificaciones. El valor del índice de correlación varía en el intervalo [ 1, 1], es decir: Si es cercano a 1, significa que los gustos del usuario activo a y del usuario u están muy relacionados, por lo tanto, las opiniones de ese usuario en particular tendrán más peso en el cálculo de la predicción. Si el índice es cercano a 1, las opiniones de ese usuario influirán en sentido contrario cuando se generen predicciones, o sea, las votaciones positivas del usuario se considerarán negativas y viceversa. Si el índice es 0, las variables no tienen relación y por ende los gustos de ese usuario no se utilizarán en la estimación de ratings. Otros coeficientes que miden el grado de correlación son: Spearman [23], similar a Pearson, excepto que los ratings son ordenados en un ranking y reemplazados por su posición respectiva; y el Coeficiente de Kendall, parecido a Spearman pero utiliza rangos relativos para calcular la correlación Similitud coseno La similaridad entre dos documentos puede ser medida tratando cada documento como un vector de las frecuencias de sus palabras y calculando el coseno del ángulo formado por los vectores [43]. Este formalismo puede ser adoptado en filtrado colaborativo, utilizando a los usuarios (o ítems) en lugar de los documentos y a los ratings en vez de las frecuencias de las palabras. Formalmente, la similitud coseno entre el usuario activo a y el usuario u está dada por sim a,u = r #» a r #» u r #» a r #» u = i r a,i r u,i, (2.3) i ra,i 2 i ru,i 2 15

32 Capítulo 2. Estado del Arte 2.1. Filtrado Colaborativo basado en memoria donde r #» a r #» u es el producto punto entre los vectores que contienen todas las calificaciones efectuadas por el usuario a y u, respectivamente. Esta medida calcula el ángulo comprendido entre los dos vectores y entrega un valor cercano a 1 si el ángulo tiende a cero, es decir, si ambos vectores apuntan a un mismo lugar (usuarios con gustos similares) Predicción de ratings La etapa más importante en un sistema de filtrado colaborativo es generar un resultado que se manifieste en términos de predicciones. Una vez que se ha encontrado un grupo de usuarios (o ítems) semejantes, con cierta métrica de similaridad, el siguiente paso es utilizar alguna técnica para obtener predicciones. Se han propuesto diferentes alternativas como función de predicción, todas ellas basadas en las puntuaciones otorgadas por los usuarios Suma Ponderada (Weighted Sum) Es la forma más común de predicción y fue adoptada por GroupLens [41]. Esta técnica se calcula a partir del promedio de calificaciones de cada usuario, ponderado según su similitud con el usuario activo. La idea detrás es que entre más semejante sea un vecino al usuario activo, más lo será su puntuación y por eso se le otorga más peso. Cada rating se pondera de acuerdo a su similaridad sim a,u entre el usuario activo a y el resto de los usuarios dentro del vecindario. Entonces, la predicción del rating ˆr a,i para el usuario activo a, sobre cierto ítem i, está dada por: u U ˆr a,i = r a + i (r u,i r u ) sim a,u, (2.4) u U i sim a,u donde r a y r u son los promedios de los ratings entregados por los usuarios a y u, sobre todos los ítems que calificaron. En tanto, sim a,u representa el peso que tienen las calificaciones del usuario u con respecto al usuario activo a. La sumatoria se realiza sobre todos los usuarios u U i que hayan votado por el ítem i, dentro del vecindario. Este no es el único mecanismo utilizado para ponderar gustos de usuarios, pero es el más común. 16

33 Capítulo 2. Estado del Arte 2.1. Filtrado Colaborativo basado en memoria Regresión Las medidas de similaridad estudiadas previamente (Pearson, Coseno, etc.) pueden ser engañosas o erróneas en algunos casos, ya que dos vectores de ratings pueden estar distantes en términos de distancias Euclidianas pero igualmente tener alta similitud. En ese caso, los métodos tradicionales de predicción no entregan buenos resultados y se necesitan alternativas que ayuden a solucionar este problema. Así, surgen los métodos de regresión, que son parecidos a la suma con pesos pero en lugar de usar directamente los ratings de usuarios similares usan una aproximación de los ratings basada en un modelo de regresión. La idea básicamente es utilizar la misma formula que en la suma con pesos, pero en vez de usar los valores de los ratings en bruto (r u,i ), este modelo usa valores aproximados (r u,i) basados en un modelo de regresión lineal. Si #» r a es el vector de ratings del usuario activo, se puede utilizar un modelo de regresión lineal para expresar un vector de ratings similares, para un usuario u, tal que #» r u = α #» r a + β + ε, (2.5) donde α representa la dirección o inclinación del vector de ratings del usuario u con respecto al vector del usuario activo. En términos matemáticos, es la varianza entre los ratings de los dos usuarios. Por otro lado, β simboliza el distanciamiento entre los vectores, es decir, que tan sesgados están los ratings del usuario u con respecto al usuario activo. Finalmente, ε es el error asociado al modelo de regresión. Si dos usuarios tienen ratings muy similares, los dos vectores deben apuntar a la misma dirección (α = 1) y no estar sesgados entre sí (β = 0). BellCore [25] utilizó regresión multivariante sobre usuarios en el vecindario para generar predicciones. Ringo [52], en cambio, empleó simplemente el promedio sobre todas las calificaciones en el vecindario (sin ponderar). En la práctica, usar regresión para predecir ratings no entrega tan buenos resultados como la suma ponderada, porque el modelo de regresión lineal es altamente sensible a ratings extremos [51]. 17

34 Capítulo 2. Estado del Arte 2.2. Filtrado Colaborativo basado en modelos 2.2 Filtrado Colaborativo basado en modelos Estos métodos utilizan los datos para crear un modelo a través del cual establecen el conjunto de usuarios similares al usuario activo. El diseño y desarrollo del modelo permite al sistema aprender y reconocer patrones complejos presentes en los datos, y entonces, realizar predicciones a través del modelo aprendido. Las técnicas de filtrado colaborativo basadas en modelos que se analizarán son: algoritmos de agrupamiento, métodos de descomposición matricial y métodos espectrales Algoritmos de Agrupamiento Los algoritmos de agrupamiento (en inglés, clustering) consisten en congregar a usuarios y/o ítems de acuerdo a sus ratings. Estas técnicas asumen que hay grupos de usuarios (o ítems) con similares características, y por tanto, una vez que el usuario ha sido asignado a un grupo, la predicción o recomendación se obtiene a partir de las puntuaciones otorgadas por otros miembros del mismo conjunto. Un clúster es una colección de datos, agrupados de acuerdo a algún criterio. Este criterio puede representar la distancia o similitud. Para medir la cercanía entre los datos se utiliza, por lo general, una función de la familia de distancias Minkowski. La distancia Minkowski de orden p entre dos puntos X = (x 1, x 2,..., x n ) e Y = (y 1, y 2,..., y n ) R n está definida como: ( n ) 1/p d(x, Y ) = x i y i p (2.6) i=1 Cuando p = 1, d es la distancia Manhattan; para p = 2, d es la distancia Euclidiana. Clustering ha sido aplicado en filtrado colaborativo para identificar grupos de usuarios con ratings similares o relacionados. Se han utilizado diferentes técnicas de agrupación para dividir los datos en clústers de usuarios con votaciones semejantes. Posteriormente, la predicción se genera empleando algún algoritmo clásico de filtrado colaborativo, solo que esta vez, se usa el clúster del usuario activo como vecindario [46, 39]. 18

35 Capítulo 2. Estado del Arte 2.2. Filtrado Colaborativo basado en modelos La Figura 2.1 explica el proceso de agrupamiento y formación del vecindario. Data set original (sim. entre usuarios) Data set luego de aplicar un algoritmo de clustering El clúster del usuario activo es usado como vecindario Usuario activo Figura 2.1: Formación del vecindario a partir de agrupamiento Formalmente este método se divide en tres etapas: 1. Aplicar el algoritmo de clustering para producir p particiones de usuarios. El conjunto de datos A es dividido en A 1, A 2,, A p, donde A i A j =, para 1 i, j p; y A 1 A 2 A p = A. 2. Determinar el vecindario para un usuario a dado. Si a A i entonces la partición entera A i es usada como vecindario. 3. Una vez obtenido el vecindario, se utiliza un algoritmo clásico de filtrado colaborativo para predecir calificaciones. Los métodos de clustering pueden ser clasificados dentro de tres categorías: jerárquicos, basados en densidad y de particionamiento. Clustering basado en densidad normalmente se encarga de buscar grupos con gran concentración de objetos separados por regiones dispersas que representan el ruido. DBSCAN [16] y OPTICS [1] son algoritmos de agrupación, bien conocidos, basados en densidad. La agrupación jerárquica, como BIRCH [57], crea una descomposición jerárquica del conjunto de datos utilizando algún criterio. 19

36 Capítulo 2. Estado del Arte 2.2. Filtrado Colaborativo basado en modelos Por último, la idea detrás de los métodos de particionamiento es dividir a los usuarios en grupos y usar estos grupos como vecindarios. Luego de haber utilizado el algoritmo de clustering se tienen calificaciones más densas de los usuarios hacia los ítems. Entonces, la matriz original de ratings, antes dispersa, se ha transformado en una matriz sin tantos espacios vacíos. El método de particionamiento comúnmente usado es k-means, propuesto por MacQueen [36] K-Means K-Means Clustering es un algoritmo iterativo en el cual los objetos se mueven a través de un conjunto de clústers hasta que se alcanza el ajuste deseado. K-means se utiliza para reducir el espacio de búsqueda, creando k grupos compuestos por ítems con características similares o usuarios con gustos afines. Este método inicia seleccionando arbitrariamente k objetos como centroide de los k grupos. Luego, cada elemento es asignado al clúster con su centroide más cercano y se vuelve a calcular la media del grupo considerando a los nuevos elementos. Esa media es ahora considerada como el nuevo centroide del clúster. Posteriormente se calcula nuevamente la similaridad de cada objeto y se asigna al centroide más cercano, recalculando la media y repitiendo el proceso de manera iterativa hasta que se alcance el mínimo deseado. Finalmente, se logra tener objetos dentro de cada grupo con características similares entre ellos, pero disímiles con elementos de otros grupos. La idea principal se resume en el Algoritmo 1. Algoritmo 1 K-MEANS CLUSTERING 1: Escoger al azar k puntos 2: Establecer esos puntos como centroides iniciales de los k clústers 3: repeat 4: for each punto p do 5: Asignar p al clúster con centroide más cercano 6: Recalcular el centroide del clúster al cual fue asignado p 7: end for 8: until Los centroides no varíen Otras técnicas utilizan modelos más complejos basados en co-clustering agrupando tanto a usuarios como a productos, o grupos superpuestos (overlapping clustering) en los cuales un usuario o producto puede pertenecer a varios grupos. 20

37 Capítulo 2. Estado del Arte 2.2. Filtrado Colaborativo basado en modelos Co-clustering Los métodos de Clustering han sido ampliamente utilizados en variadas aplicaciones de análisis de texto y datos. Sin embargo, la mayoría de ellos se centran única y exclusivamente en una dimensión, vale decir, agrupan usuarios en función de los ítems que han evaluado, o agrupan ítems basándose en los usuarios que los han votado. Dhillon et al. [14] proponen un método de biclustering (co-clustering, o two-mode clustering), llamado Information Theoretic Co-clustering (ITCC), capaz de agrupar simultáneamente ambas dimensiones de una matriz de entrada mediante la explotación de la dualidad entre filas y columnas. Esto quiere decir que los clústers de usuarios ocasionan los clústers de ítems y viceversa. ITCC es eficiente en la identificación de grupos en subespacios, y funciona mejor que algunos métodos de clustering de una sola dimensión cuando se tiene escasez de datos y alta dimensionalidad. La idea básica de este método es asumir que X e Y son dos variables aleatorias discretas, las cuales tendrán como valores posibles a los conjuntos {x 1, x 2,..., x m } y {y 1, y 2,..., y n } respectivamente. El objetivo es encontrar (como máximo) k clústers para X, definidos por ˆX = {ˆx 1, ˆx 2,..., ˆx k } y l clústers para Y, definidos por Ŷ = {ŷ 1, ŷ 2,..., ŷ l }. Además, se definen como funciones de partición a C X y C Y, donde C X : {x 1, x 2,..., x m } {ˆx 1, ˆx 2,..., ˆx k } (2.7) C Y : {y 1, y 2,..., y n } {ŷ 1, ŷ 2,..., ŷ l } (2.8) En resumen, ˆX e Ŷ son variables aleatorias que representan la función determinista de X e Y respectivamente, es decir, ˆX = C X (X) e Ŷ = C Y (Y ). La dupla (C X, C Y ) es denominada co-clustering. Un valor fundamental que mide el grado de información que contiene la variable aleatoria X con respecto a Y (y viceversa) es I(X; Y ) denominada información mutua. La calidad del co-clustering se establece por el grado de información mutua perdida, es decir, se busca minimizar la diferencia entre I(X; Y ) I( ˆX; Ŷ ) para lograr buena calidad. El algoritmo comienza con un co-clustering inicial definido de forma aleatoria X, C (0) Y ) y de manera iterativa lo refina obteniendo una secuencia de co-clusterings: (C (0) (C (1) X, C (1) Y ), (C (2) X, C (2) Y ),... (2.9) 21

38 Capítulo 2. Estado del Arte 2.2. Filtrado Colaborativo basado en modelos Asociados a un co-cluster genérico (C (t) X, C (t) Y ) dentro de la secuencia, las distribuciones p (t) y q (t) están dadas por p (t) (x, y, ˆx, ŷ) = p (t) (ˆx, ŷ) p (t) (x, y ˆx, ŷ) y q (t) = p (t) (ˆx, ŷ) p (t) (x ˆx) p (t) (y ŷ). Formalmente este método [14] se detalla en seis etapas: 1. Establecer t = 0. Inicializar al azar la partición de las filas C (0) X y la partición de las columnas C (0) Y. Calcular q (0) ( ˆX, Ŷ ), q (0) (X ˆX), q (0) (Y Ŷ ) y el centroide inicial de las filas q (0) (Y ˆx) para 1 ˆx k. 2. Calcular la partición (o clúster) de las filas: Para cada fila x, encontrar el nuevo centroide de las filas más cercano, tal como: Además, C (t+1) Y C (t+1) X (x) = arg minˆx D(p(Y x) q (t) (Y ˆx)) (2.10) = C (t) Y 3. Calcular las distribuciones q (t+1) ( ˆX, Ŷ ), q (t+1) (X ˆX), q (t+1) (Y Ŷ ) (2.11) y el centroide de las columnas q (t+1) (X ŷ) para 1 ŷ l. 4. Calcular la partición (o clúster) de las columnas: Para cada columna y, encontrar el nuevo centroide de las columnas más cercano, tal como: Además, C (t+2) X C (t+2) Y (y) = arg minŷ D(p(X y) q (t+1) (X ŷ)) (2.12) = C (t+1) X 5. Calcular las distribuciones q (t+2) ( ˆX, Ŷ ), q (t+2) (X ˆX), q (t+2) (Y Ŷ ) (2.13) y el centroide de las filas q (t+2) (Y ˆx) para 1 ˆx k. 6. Si la diferencia D(p(X, Y ) q (t) (X, Y )) D(p(X, Y ) q (t+2) (X, Y )) es menor al parámetro de tolerancia admitida ( 10 3 ) retorna los clústers C (t+2) X y C (t+2) Y ; en otro caso, t = t + 2 y volver a la etapa (2). Se demostró que el proceso de iteración podía disminuir la pérdida de información mutua y garantizar la convergencia en un mínimo local. 22

39 Capítulo 2. Estado del Arte 2.2. Filtrado Colaborativo basado en modelos Técnicas de factorización matricial (MF) Los modelos de factores latentes abordan el filtrado colaborativo con la intención de descubrir características ocultas en los ratings que expliquen el comportamiento de usuarios y objetos. Incluyen plsa [26], redes neuronales [42], Latent Dirichlet Allocation [5] y modelos que factorizan la matriz de ratings. Las técnicas de factorización o descomposición matricial han demostrado ser exitosas en sistemas de recomendación y han ganado popularidad debido a tres razones principales. Permiten lograr buena escalabilidad, proveen predicciones más precisas y entregan flexibilidad en el modelo Descomposición en valores singulares (SVD) La debilidad de los métodos de filtrado tradicional es superar la escasez de datos en matrices dispersas. El primer intento por solucionar este problema fue propuesto por Sarwar et al. [47, 48], incorporando agentes de filtrado semi-inteligentes dentro del sistema de recomendación. Aquellos agentes evaluaban y calificaban cada producto usando funciones sintácticas. Sin embargo, la solución de los agentes de filtrado, no abordó el problema fundamental que eran las nulas relaciones formadas entre usuarios con tan pocos ratings en común. SVD se utilizó prematuramente en indexación semántica latente (LSI), para solucionar problemas de sinonimia y polisemia [12]. En la primera, identificaba productos con igual significado pero diferente escritura, clasificados regularmente como objetos distintos. En la segunda, reconocía los distintos significados de un mismo objeto, clasificándolo en varias categorías. Estas ideas fueron adoptadas por investigadores en el área de los Sistemas de Recomendación. Inicialmente, Billsus y Pazzani [4] sacaron ventaja de las propiedades de la descomposición SVD en sus intentos por formular un modelo de clasificación. GroupLens [41] también aplicó SVD en al menos tres contextos relacionados con Sistemas de Recomendación. En un primer intento reducen la dimensionalidad del espacio usuario/ítems y generan predicciones en ese espacio reducido, pero sin construir vecindarios. En una segunda aproximación generan un vecindario del espacio reducido y después aplican un algoritmo tradicional de filtrado colaborativo. En un tercer escenario buscan aumentar la escalabilidad [44, 45]. 23

40 Capítulo 2. Estado del Arte 2.2. Filtrado Colaborativo basado en modelos Definición La Descomposición en Valores Singulares (en inglés, Singular Value Decomposition, SVD) es una técnica de factorización de matrices que permite descomponer una matriz A R m n en otras tres matrices U, S, y V de la siguiente manera: SV D(A) = U S V T, (2.14) donde U R m m y V R n n son matrices ortogonales formadas por los vectores singulares de A A T y A T A, respectivamente. S R m n es una matriz formada por los valores singulares de A en su diagonal principal ordenados de mayor a menor. Reescribiendo el sistema se obtiene λ λ U S V T = [. ] v 1 u 1... u m 0 0 λ r 0 0. }{{} U R m m v n }{{}.. V R n n }{{} S R m n (2.15) Reducción Esta descomposición resulta al quedarse solo con los r autovectores unitarios asociados a los r valores singulares no nulos. Entonces, las matrices U, S, y V T son: λ U = [ v ] 0 λ u 1... u r, S = , V T = (2.16) 0 v r 0 0 λ r S es una matriz diagonal de dimensión r r formada por los valores singulares de A en orden decreciente, se denomina matriz singular. Los valores en la diagonal (λ 1, λ 2,..., λ r ) son tal que λ i > 0, i y λ 1 λ 2 λ r. 24

41 Capítulo 2. Estado del Arte 2.2. Filtrado Colaborativo basado en modelos Aplicación Sarwar et al. [50] publicaron uno de los primeros trabajos en el que se utilizó la técnica SVD para descomponer la matriz de ratings R : m n en tres matrices de la forma: R = USV T, (2.17) resultando matrices de dimensión U : m r, S : r r, y V : n r. Las matrices obtenidas de la factorización SVD son particularmente útiles en el caso de los sistemas de recomendación, ya que pueden proporcionar una buena aproximación de la matriz original. Esto se consigue reservando los k valores singulares más grandes de S, formando S k, y descartando el resto (con k r). Si las matrices U y V son reducidas acorde a lo anterior, se puede obtener la matriz R k, logrando una buena aproximación de la matriz R original. En otras palabras, R k minimiza la norma de Frobenius R R k. La relevancia de este hecho es que permite capturar con mayor facilidad las relaciones latentes 2 que existen en los datos, las cuales no son evidentes en la matriz original. La matriz diagonal S k : k k se obtiene conservando los k valores singulares de S más significativos. U k : m k se origina con las k columnas de U, y Vk T : k n se forma con las k filas de V T. En la Figura 2.2 se explica el proceso de aproximación de las matrices. k R k = U x k S x V T k m n m r r r r n Figura 2.2: Aproximación de la matriz R utilizando k factores 2 Son las variables que no se observan directamente sino que son inferidas a través de un modelo matemático. 25

42 Capítulo 2. Estado del Arte 2.2. Filtrado Colaborativo basado en modelos Las matrices resultantes de la descomposición SVD, U k y V k, tendrán k factores que representarán a cada uno de los usuarios y objetos de la matriz R. Finalmente, la nueva matriz de ratings R k, también llamada low-rank matrix, es una matriz de rango k que presenta una cercana aproximación a la matriz R original. Se define como R k = U k S k V T k (2.18) En resumen, son dos los grandes beneficios de la técnica SVD aplicada a sistemas de recomendación. Primero, permite capturar las relaciones latentes (ocultas) entre usuarios e ítems. Segundo, produce una representación reducida del espacio original permitiendo trabajar con menos datos y superar problemas de escalabilidad. En este punto es posible realizar predicciones utilizando el espacio reducido de la matriz R k, a través de métodos tradicionales de filtrado colaborativo como knn (Sección 2.1), formando un vecindario entre usuarios o ítems de la nueva matriz de menor rango. De esta manera, se superan los problemas de escalabilidad que suelen sufrir los métodos basados en memoria. Sin embargo, la ventaja de encontrar relaciones en los datos permite realizar predicciones muy precisas empleando la descomposición misma (parte derecha de la ecuación 2.18), como se explicará en la próxima sección. 26

43 Capítulo 2. Estado del Arte 2.2. Filtrado Colaborativo basado en modelos Generación de predicciones Las matrices resultantes de la descomposición en valores singulares (U k, S k, y V k ) pueden ser utilizadas para generar predicciones de ratings para cualquier usuario y objeto, de manera muy simple. La predicción del rating para el usuario activo a sobre el ítem i está dada por el producto punto entre la a-ésima fila de U k S 1/2 k y la i-ésima columna de S 1/2 k V k, más el promedio de los ratings del usuario a: ˆr a,i = r a + U k S T k (a) S k V T k (i) (2.19) La segunda parte de la ecuación (2.19) entrega el elemento correspondiente de la matriz de low-rank R k. Donde, U k S 1/2 k representa a los m usuarios y S 1/2 k V k a los n ítems, en el espacio característico de dimensión k. Uno de los grandes beneficios de generar predicciones de esta forma es que una vez hecha la descomposición SVD calcular la predicción solo involucra el cómputo del producto punto, el cual presenta complejidad O(1), ya que k es una constante. A pesar de entregar buenos resultados y mostrar un excelente rendimiento en el proceso predictivo, la descomposición SVD puede resultar muy costosa en términos computacionales. Existen alternativas que permiten reducir el tiempo en que se calcula la descomposición en valores singulares, como el algoritmo de Lanczos [32]. Este método iterativo calcula los valores y vectores propios más significativos de forma computacionalmente eficiente. 27

44 Capítulo 2. Estado del Arte 2.2. Filtrado Colaborativo basado en modelos Regularized SVD (RSVD) Durante la competencia Netflix Prize 3, Simon Funk [18] propuso una técnica inspirada en los métodos de procesamiento del lenguaje natural [21]. Cada usuario u se asocia a un vector de características p u R k, y cada ítem con un vector de características q i R k. Las predicciones para el usuario u sobre un ítem i se realizan usando el producto punto entre los dos vectores: ˆr u,i = p T u q i, (2.20) donde p u y q i son vectores k-dimensionales. El desafío es encontrar los valores que representan de mejor manera los vectores de usuarios e ítems. Estos parámetros se estiman utilizando el método del gradiente descendente para minimizar la diferencia entre la predicción realizada por el algoritmo y la puntuación real del usuario. Para cada rating dentro del conjunto de entrenamiento, el sistema predice r u,i y calcula el error asociado a la predicción e u,i = r u,i ˆr u,i. (2.21) Entonces, se modifican los parámetros de acuerdo a una tasa de aprendizaje deseado l rate, en la dirección opuesta al gradiente: p u p u + l rate (e u,i q i λp u ) (2.22) q i q i + l rate (e u,i p u λq i ) (2.23) donde λ es la constante de regularización. El proceso se detiene cuando el error de testing aumenta. Los parámetros que entregan mejores resultados, según Simon Funk son: l rate = 0,001; λ = 0,02 (2.24) 3 Fue un concurso abierto al público para encontrar el mejor algoritmo de filtrado colaborativo. 28

45 Capítulo 2. Estado del Arte 2.2. Filtrado Colaborativo basado en modelos RSVD2 Desde su fecha de publicación, el algoritmo RSVD fue extensamente estudiado y se propusieron diversas mejoras en el modelo y en la función de optimización. Paterek [40] sugiere añadir el sesgo (bias) al modelo anterior, un parámetro b u para cada usuario y un b i para cada ítem: Se refiere a este método como RSVD2. ˆr u,i = b u + b i + p T u q i (2.25) NSVD El mismo Paterek [40] propone reducir el número de parámetros modelando p u en función de un vector binario que indique los ítems calificados por el usuario u. Entonces, p u,k e u j I u w j,k (2.26) donde k K son los factores latentes, I u es el conjunto de ítems calificados por el usuario u y e u = ( I u + 1) 1/2 representa las constantes de ponderación. El modelo es el siguiente ˆr u,i = b u + b i + e u q i,k k j I u w j,k (2.27) Un segundo modelo propuesto es ˆr u,i = b u + b i + k q i,k j I u q j,k (2.28) donde se combinan los parámetros q j,k ponderación e u. y w j,k, desapareciendo la constante de Los parámetros se estiman regularizando con el método del gradiente descendente, de manera similar a RSVD. Estos dos modelos son nombrados NSVD1 y NSVD2, respectivamente. 29

46 Capítulo 2. Estado del Arte 2.2. Filtrado Colaborativo basado en modelos Asymmetric SVD (ASVD) Basándose en los trabajos de Paterek, Yehuda Koren [31] también representa a los usuarios como una combinación de los ítems calificados pero agrega información implícita en el modelo. Este nuevo enfoque se denominó Asymmetric-SVD debido a que el vector p u es reemplazado por una combinación de múltiples factores que caracterizan a los usuarios SVD++ Posteriormente, Koren [31] reincorpora el vector p u al modelo y junto con información implícita adicional consigue mejorar las soluciones. Este método, llamado SVD++, no posee la eficiencia de ASVD, pero muestra una ventaja en términos de precisión predictiva y maneja convenientemente el ingreso de nuevos usuarios al sistema. Todas las técnicas anteriores empleaban el método del gradiente descendente para minimizar la función objetivo. Sin embargo, en años venideros se publicaron diversos algoritmos que utilizan otras estrategias de regularización con muy buenos resultados. En la actualidad, el término REGULARIZED SVD (RSVD) se usa para referirse de forma genérica a los métodos de factorización matricial que destinan regularizadores para resolver el problema. 30

47 Capítulo 2. Estado del Arte 2.2. Filtrado Colaborativo basado en modelos Robust SVD (RobSVD) En general, los métodos de factorización matricial no garantizan robustez en el modelo. Son altamente susceptibles a outliers 4, que pueden pasar inadvertidos en términos numéricos pero ocasionar importantes alteraciones. Hawkins et al. [35] proponen un método robusto a través del algoritmo AL1-SVD, donde la idea es estimar secuencialmente los vectores propios usando la norma L1. Este método presenta dos diferencias principales con respecto al SVD. La primera, tiene que ver con la ortogonalidad. En el SVD convencional, todos los vectores propios son ortogonales. En el algoritmo AL1, todos son (en general) no ortogonales. La otra diferencia es que en el SVD clásico los vectores propios son calculados en orden decreciente según el valor propio. Lo cual no se cumple, necesariamente, en AL1. Se han utilizado diferentes funciones para asegurar robustez en el modelo. Zhang et al. (2013) [56] se enfocaron en la función de Huber porque es fácil de implementar y rápida en cómputos. Además, desarrollaron el eficiente algoritmo iterative reweighted least squares (IRLS) para solucionar el problema de minimización. Este algoritmo, que puede ser visto como un proceso de regularización robusto, actualiza iterativamente las matrices. Ellos denominaron a este método robust regularized SVD, o RobRSVD, para abreviar. 4 En este contexto son datos maliciosos que intentan corromper el modelo. 31

48 Capítulo 2. Estado del Arte 2.2. Filtrado Colaborativo basado en modelos Non-negative Matrix Factorization (NMF) La técnica Non-negative matrix factorization (NMF) [33, 7] es útil para aproximar matrices de gran tamaño y se ha aplicado sobre muchos problemas prácticos de reconocimiento de patrones. En NMF, se exige que la matriz de ratings R : m n sea positiva. En caso de que los ratings originales tengan valores negativos deben ser normalizados 5. La descomposición permite obtener dos matrices de menor rango, no negativas de la forma R W H, (2.29) donde W : n k y H : k m. El rango (rank) de factorización es escogido, tal que, k mín(m, n). De esta forma, se garantiza reducción de la dimensionalidad en un espacio latente de k-dimensiones, que puede ser interpretado fácilmente debido a la condición de no negatividad. El objetivo detrás de esta descomposición es resumir la información contenida en la matriz de ratings R dentro de k factores. Los vectores columna de W = (W (1),..., W (k) ) representan los perfiles de ratings de las k comunidades de usuarios presentes en los datos. Una comunidad puede entenderse como una característica o patrón común en las opiniones de los usuarios, típicamente se puede asociar a algún término real conocido. Análogamente, las filas de H son interpretadas como k grupos de ítems con características similares. Para lograr una buena aproximación se debe descubrir la estructura latente que mejor represente a los datos, considerando que hay relativamente pocos vectores para representar muchos elementos. 5 Por ejemplo, si los ratings están en el intervalo 10 a 10, se estandarizan de 0 a

49 Capítulo 2. Estado del Arte 2.2. Filtrado Colaborativo basado en modelos Métodos espectrales Spectral Biclustering Análogamente a la segmentación sobre la matriz de ratings que se realiza usando Co-clustering (Sección ), es posible particionar la matriz utilizando el algoritmo Spectral Biclustering. Para esto, se tomará como base la formulación de Dhillon [15] utilizada para el problema de co-clustering entre palabras y documentos. Para aplicar el método de Dhillon a la matriz de ratings reducida se debe construir un grafo bipartito, donde un conjunto de nodos del grafo representa a los usuarios y el otro a los ítems. La Figura 2.3 lo expresa de manera clara. Se debe tener en consideración que en un grafo bipartito los arcos sólo pueden conectar vértices de un conjunto con vértices del otro. En este caso los arcos representan los ratings de los usuarios hacia los ítems. Figura 2.3: Grafo Bipartito entre usuarios e ítems Modelo Se tiene un grafo bipartito no dirigido G = (U, I, E), donde los usuarios U = {u 1, u 2,..., u m } y los ítems I = {i 1, i 2,..., i n } son dos conjuntos de vértices; E es un conjunto de arcos {{u i, i j } : u i U, i j I} que representa el rating dado por el usuario i al ítem j. Se considera una matriz de ratings R tal que su matriz de adyacencia sea 33

50 Capítulo 2. Estado del Arte 2.2. Filtrado Colaborativo basado en modelos M = [ 0 ] R R T 0 (2.30) Conexión con SVD Se pretende encontrar grupos (clústers) de usuarios e ítems usando el modelo del grafo bipartito. Para ello se definen [ ] [ ] D1 R D1 0 L = R T, D =, (2.31) D 2 0 D 2 donde D 1 y D 2 son matrices diagonales tal que D 1 (i, j) = j R ij, D 2 (i, j) = i R ij. (2.32) De este modo, utilizando la notación de Laplace (Lz = λdz) se pueden reescribir como [ ] [ ] [ ] [ ] D1 R x D1 0 x R T = λ (2.33) D 2 y 0 D 2 y Resolviendo el sistema, con u = D 1/2 1 x y v = D 1/2 2 y D 1/2 1 RD 1/2 2 v = (1 λ)u (2.34) D 1/2 2 R T D 1/2 1 u = (1 λ)v (2.35) Estas ecuaciones son precisamente las que definen la descomposición en valores singulares (SVD) de la matriz reducida R k = D 1/2 1 RD 1/2 2. En particular, u y v son los vectores singulares izquierdo y derecho, respectivamente. Mientras que, (1 λ) es el valor singular correspondiente. R k v 2 = (1 λ 2 )u 2 (2.36) R T k u 2 = (1 λ 2 )v 2 (2.37) 34

51 Capítulo 2. Estado del Arte 2.2. Filtrado Colaborativo basado en modelos Algoritmo de Biparticionamiento 1. Dado R k = D 1/2 1 RD 1/ Calcular el segundo vector singular (u 2 y v 2 ) de R k, formando el vector z 2. z 2 = [ ] 1/2 D 1 u 2 D 1/2 2 v 2 3. Correr el algoritmo k-means en z 2 hasta obtener la bipartición deseada. (2.38) Se demostró en [15] que se obtenían particiones óptimas cuando se utilizaba el vector singular izquierdo y derecho correspondiente al segundo valor singular (más grande) de R k. 35

52 Capítulo 2. Estado del Arte 2.3. Implementaciones de Software 2.3 Implementaciones de Software Existen variadas librerías y paquetes de software que proveen de una infraestructura para probar y desarrollar algoritmos de recomendación basados en filtrado colaborativo. En la presente sección se analizarán de manera sintetizada las principales implementaciones de código abierto (Open Source), señalando sus ventajas fundamentales para justificar la elección de la herramienta utilizada en el desarrollo de la Memoria Crab Crab 6, es un framework de Python para diseñar motores de recomendación integrados con librerías científicas (numpy, scipy, matplotlib). El objetivo de este motor es brindar un conjunto de componentes para construir sistemas de recomendación personalizados. Está diseñado para ser escalable, flexible y funcionar haciendo uso de paquetes científicos con el fin de proveer soluciones simples, eficientes y reutilizables en cualquier contexto. Los algoritmos de filtrado colaborativo implementados por Crab son los siguientes: User-Based Filtering Item-Based Filtering En desarrollo: Slope One, SVD, Evaluation of Recommenders A futuro: Sparse Matrices, REST API s LensKit LensKit 7 es un paquete de herramientas para sistemas de recomendación desarrollado en Java. Permite construir una aplicación de recomendación propia o estudiar algoritmos, técnicas de evaluación y máquinas de aprendizaje ya implementadas

53 Capítulo 2. Estado del Arte 2.3. Implementaciones de Software LensKit es posible gracias al apoyo de varias organizaciones, entre ellas destacan múltiples proyectos de investigación desarrollados por GroupLens. Particularmente, MovieLens y BookLens utilizaron esta herramienta en su producción, proporcionando experiencia, informes de errores y valiosa retroalimentación. Entre los algoritmos implementados por este paquete destacan: Item-Item Collaborative Filtering User-User Collaborative Filtering Matrix Factorization CF Slope-One Recommenders Además, provee un entorno flexible para realizar evaluaciones de las recomendaciones MyMediaLite MyMediaLite 8 es una librería ligera multipropósito para sistemas de recomendación. Presenta gran portabilidad, ya que fue desarrollada en C# por la plataforma.net, y corre en casi cualquier arquitectura: Linux, Windows, Solaris, Mac OS X. MyMediaLite entrega la opción de elegir entre múltiples métodos de recomendación. Además, incluye rutinas de evaluación para medir la precisión de la predicción. Características adicionales: Serialización: guardar y volver a cargar los modelos de recomendación Actualizaciones incrementales en tiempo real para muchos recomendadores Diversificación basada en atributos de las listas de recomendación

54 Capítulo 2. Estado del Arte 2.3. Implementaciones de Software RecommenderLab RecommenderLab 9, es un framework que provee algoritmos básicos de filtrado colaborativo y permite al usuario desarrollar sus propios métodos. Este paquete forma parte del entorno de programación para análisis estadístico y gráfico de R. Su fuerte es el manejo consistente y eficiente de datos, facilitando la incorporación de algoritmos, experimentación y evaluación de resultados. El paquete recommenderlab provee una serie de funciones y algoritmos de filtrado colaborativo, entre ellos destacan: dissimilarity: Calcula la disimilaridad (similaridad) entre ratings de usuarios y/o ítems. Las métricas disponibles son las tradicionales: coseno, pearson, jaccard, etc. Recommender: Crea un modelo de recomendación a partir de un set de datos entregados. Los métodos disponibles para el sistema de recomendación son: User-Based, Item-Based, PCA approximation, POPULAR, RANDOM, SVD. evaluate: Evalúa el modelo de un sistema de recomendación especificando un esquema de evaluación. Entre los esquemas de validación disponibles se encuentran: Splitting, Bootstrap sampling, k-fold cross-validation. normalize: Permite normalizar la matriz de ratings con alguno de los métodos conocidos SUGGEST SUGGEST 10 es un motor de recomendaciones desarrollado por George Karypis [49, 13, 29], enfocado en algoritmos Item-Based y User-Based. Características principales: Produce recomendaciones de alta calidad Logra baja latencia en la recomendación Es escalable a grandes conjuntos de datos

55 Capítulo 2. Estado del Arte 2.3. Implementaciones de Software Python-recsys Python-recsys 11 es un motor de recomendación veloz para Python. Se especializa en técnicas de factorización de matrices para encontrar similaridades entre usuarios (o ítems) y realizar recomendaciones. Esta librería está construida sobre el paquete Divisi2 12, el cual se encarga de construir relaciones de los datos a través de redes semánticas y permite trabajar con matrices grandes y dispersas. Pyrecsys ofrece algoritmos básicos de factorización de matrices, como SVD, y de formación de vecindarios. Adicionalmente, permite crear nuevos métodos extendiendo la clase base. Por otra parte, este paquete tiene implementadas varias métricas de evaluación que permiten determinar la calidad de las soluciones y comparar los distintos métodos de filtrado colaborativo

56 Capítulo 2. Estado del Arte 2.3. Implementaciones de Software Implementaciones para Big Data Las librerías y paquetes presentados anteriormente son útiles cuando se trabaja con conjuntos de datos en pequeña y mediana escala. Si bien esta investigación no está enfocada en grandes conjuntos de datos, es importante mencionar implementaciones que sean capaces de proveer soluciones al análisis de datos en Big Data LIBMF LIBMF 13 : A Matrix-factorization Library for Recommender Systems Es una herramienta de código abierto utilizada para aproximar matrices dispersas a través del producto entre dos matrices en un espacio latente. Esta factorización matricial es comúnmente utilizada en filtrado colaborativo para reducir la dimensionalidad de la matriz de entrada y evitar trabajar con todo el conjunto de datos. Las principales características de LIBMF son: Además de las técnicas tradicionales de factorización matricial, se agregan factores de normalización para corregir el sesgo y mejorar el rendimiento de las recomendaciones. Permite el paralelismo multinúcleo. Esto hace de este paquete sumamente eficiente, acelerando las operaciones vectoriales. Como referencia, para sets de datos de 250M ratings, a LIBMF le toma menos de ocho minutos converger en un mínimo razonable MLlib MLlib 14 es una implementación de funciones comunes de máquinas de aprendizaje. Actualmente, cubre cuatro tipos de problemas de aprendizaje automático: clasificación binaria, regresión, clustering y filtrado colaborativo. Dentro del filtrado colaborativo, MLlib soporta métodos basados en el modelo, en el cual los usuarios y productos son descritos por un conjunto de factores latentes que pueden ser usados para predecir datos faltantes. En particular, se encuentra implementado el algoritmo de Mínimos Cuadrados Alternantes (ALS) para solucionar el problema de optimización

57 Capítulo 2. Estado del Arte 2.3. Implementaciones de Software Comparación entre Implementaciones La Tabla 2.1 entrega un resumen de las librerías o paquetes de software detallados anteriormente: Crab, LensKit, MyMediaLite, recommenderlab y python-recsys. Tabla 2.1: Librerías para sistemas de recomendación Software Lenguaje Versión Fecha Crab Python LensKit Java MyMediaLite C# recommenderlab R python-recsys Python Se puede apreciar que las dos librerías de recomendación de Python no acostumbran liberar actualizaciones de manera frecuente. Esto es una gran desventaja con respecto al resto, considerando la rapidez con que progresan los algoritmos cada año. La Tabla 2.2 indica que algoritmos de filtrado colaborativo, estudiados en el Estado del Arte, se encuentran implementados por las diferentes librerías. Tabla 2.2: Algoritmos de filtrado colaborativo implementados UBCF IBCF SVD RSVD SVD++ Crab LensKit MyMediaLite recommenderlab python-recsys Sobre la tabla anterior se debe aclarar que se muestran únicamente los métodos de filtrado colaborativo abordados en esta investigación. En algunas librerías se han implementado algoritmos de recomendación basados en atributos/contenido o métodos probabilísticos. 41

58 Capítulo 2. Estado del Arte 2.3. Implementaciones de Software En particular, MyMediaLite lidera en este ámbito, ya que posee una docena de diferentes algoritmos implementados. Incluyendo filtrado colaborativo, métodos basados en el contenido y data relacional. En general, todas las librerías cuentan con los métodos de filtrado colaborativo tradicionales basados en usuarios más cercanos (USER-BASED) y objetos más cercanos (ITEM-BASED), vistos en la Sección 2.1. Las técnicas de factorización matricial vistas en la Sección se encuentran escasamente implementadas, debido a diferentes razones 15. Para solucionar este inconveniente se deberán adaptar los métodos propuestos utilizando otros paquetes de software (Ver Anexo A). La Tabla 2.3 expone las métricas de evaluación implementadas por las distintas librerías. La forma y los procedimientos utilizados para evaluar sistemas de recomendación se analizarán detalladamente en la Sección 3.3. Tabla 2.3: Métricas de evaluación implementadas MAE NMAE MSE RMSE Precision Recall F1 ROC MRR MAP ndcg Crab LensKit MyMediaLite recommenderlab python-recsys Se puede concluir que todas las librerías ofrecen un entorno favorable sobre el cual es posible evaluar los algoritmos. La elección de una u otra librería para el desarrollo de los algoritmos, y posterior evaluación, dependerá del propósito de la investigación y del alcance que se pretenda lograr. 15 Algunas técnicas no se popularizaron lo suficiente, otras requieren condiciones muy específicas para funcionar y en ciertos casos no se liberó la implementación al público. 42

59 Capítulo 2. Estado del Arte 2.3. Implementaciones de Software Se ha optado por recommenderlab, del entorno estadístico y gráfico R, debido a las siguientes razones: El ambiente de la librería facilita tanto el desarrollo de algoritmos, como la evaluación y comparación entre métodos. Cuenta con las principales técnicas de filtrado colaborativo y las métricas comúnmente empleadas para evaluar. R dispone de una gran cantidad de funciones que pueden ser adaptadas y utilizadas en la implementación de nuevos algoritmos. Posee una extensa documentación, tanto la librería en particular, como el lenguaje en que se programa 16. Libera actualizaciones frecuentes, con variedad de guías y manuales disponibles. Permite realizar análisis complejos de datos con mucha facilidad debido a la naturaleza de su lenguaje de programación. Maneja y representa de forma eficiente las estructuras donde se almacenan los datos. Ofrece gráficos estadísticos de alta calidad y concede la opción de plasmar los resultados obtenidos directamente sobre la pantalla o incrustarlos en un documento sin perder calidad. Entrega facilidades para registrar todo el proceso de manipulación de datos y procesamiento estadístico

60 Capítulo 3 Experimentos 3.1 Data Sets Los sistemas de recomendación emplean benchmark data para comparar el desempeño de sus algoritmos. Para realizar los experimentos se utilizarán conjuntos de datos ampliamente estudiados en la literatura. A continuación se revisarán los data sets de mediana escala más comunes dentro de los sistemas de recomendación. 44

61 Capítulo 3. Experimentos 3.1. Data Sets MovieLens MovieLens 1 es un sitio web en donde la gente califica películas y el sistema recomienda de acuerdo a los gustos de las personas, es decir, es un recomendador basado en filtrado colaborativo. Forma parte de uno de los proyectos de investigación desarrollados por GroupLens y cuenta con cientos de miles de usuarios registrados que han entregado ratings sobre películas. Los datos han sido recolectados durante varios periodos de tiempo, dependiendo del tamaño del conjunto. MovieLens ha publicado cuatro datasets 2 estables hasta la fecha, los cuales se detallan a continuación: MovieLens 100k: ml-100k (5 MB) ratings proporcionados por 1000 usuarios sobre 1700 películas. Publicado en 4/1998. MovieLens 1M: ml-1m (6 MB) 1 millón de ratings proporcionados por 6000 usuarios sobre 4000 películas. Publicado en 2/2003. MovieLens 10M: ml-10m (63 MB) 10 millones de ratings y etiquetas aplicadas a películas por usuarios. Publicado en 1/2009. MovieLens 20M: ml-20m (132 MB) 20 millones de ratings y etiquetas aplicadas a películas por usuarios. Publicado en 4/2015. Los data sets de MovieLens, especialmente los dos primeros, han sido largamente estudiados bajo diversos propósitos incluyendo sistemas de recomendación. Gran parte de las primeras publicaciones de filtrado colaborativo utilizaron estos datos para evaluar sus algoritmos, por lo que gozan de una gran popularidad y permiten comparar los resultados obtenidos con la literatura

62 Capítulo 3. Experimentos 3.1. Data Sets Jester Jester 3 es un sistema de recomendación de bromas desarrollado en la Universidad de Berkeley (UC Berkeley) para estudiar el filtrado de información social. Los datasets 4 continuación: publicados hasta la fecha en su página oficial, se detallan a Dataset 1: Alrededor de 4.1 millones de ratings sobre 100 bromas proporcionados por usuarios. Recolectados entre Abril Mayo jester dataset 1-1: (3.9MB) Datos de usuarios que calificaron 36 o más bromas. jester dataset 1-2: (3.6MB) Datos de usuarios que calificaron 36 o más bromas. jester dataset 1-3: (2.1MB) Datos de usuarios que calificaron entre 15 y 35 bromas. Dataset 2: Alrededor de 1.7 millones de ratings sobre 150 bromas proporcionados por usuarios. Recolectados entre Noviembre Mayo jester dataset 2: (7.7MB) Dataset 2+: Actualización del Dataset 2 con alrededor de nuevos ratings proporcionados por un total de usuarios. Datos recolectados entre Noviembre Noviembre 2012 Además, Jester cuenta con una versión de menor escala la cual ha sido bastante utilizada por sistemas de recomendación en el pasado. Jester5k: Datos de 5000 usuarios sobre 100 bromas recolectados del sistema de recomendación online de Jester entre Abril 1999 y Mayo Los usuarios calificaron 36 o más bromas. La utilidad de este último data set es que presenta la misma distribución que el Dataset 1 pero en menor medida, por ende, muchos sistemas de recomendación con problemas de escalabilidad lo han utilizado

63 Capítulo 3. Experimentos 3.1. Data Sets Lastfm Lastfm 5 es un servicio para descubrir nueva música que ofrece recomendaciones personalizadas basándose en la música que escucha el usuario. Last.fm dataset 360K 6 es un conjunto de datos que recolectó los hábitos de usuarios en la comunidad. Se registraron los artistas que escuchaba el usuario, y cuantas veces. Por ende, son calificaciones implícitas Bookcrossing Bookcrossing (BC) es una iniciativa que comenzó en marzo de 2001 en Estados Unidos. Básicamente consiste en un Club de libros a nivel global que atraviesa el tiempo y el espacio, que no conoce límites geográficos y cuya meta, simplemente, es convertir el mundo en una Biblioteca. Book-Crossing Dataset 7 reunió información, durante 4 semanas, de la comunidad Bookcrossing. Contiene usuarios que han proporcionado ratings sobre libros. BX dataset es un subconjunto de Book-Crossing Dataset, en el cual cada usuario ha calificado al menos 20 ítems y cada ítem tiene al menos 5 ratings. Esta versión cuenta con la misma cantidad de ratings, pero sobre usuarios y libros Netflix El data set de Netflix, puesto a disposición del público en 2006 como parte del concurso Netflix Prize [3] ha sido ampliamente destinado a evaluar sistemas de recomendación de gran escala. Se compone de más de 100 millones de ratings sobre películas y usuarios. A pesar de que el data set fue retirado a finales de 2009, todavía se pueden encontrar publicaciones que lo utilizan para comparar sus algoritmos

64 Capítulo 3. Experimentos 3.1. Data Sets Yahoo! Webscope Yahoo! Research provee una gran variedad de data sets recolectados desde todos los servicios que ofrece la firma, esto se enmarca en el programa Webscope. El Programa Yahoo! Webscope 8 es una biblioteca de referencia de interesantes y científicamente útiles conjuntos de datos para uso no comercial por parte de investigadores. La enorme cantidad de data sets ofrecidos por Yahoo! se dividen en distintos tipos y se detallan a continuación: Language Data: Este tipo de datos pueden ser utilizados para recuperación de información y algoritmos de procesamiento de lenguaje natural. Graph and Social Data: Se utilizan para trabajo con matrices, grafos, clustering, y algoritmos de aprendizaje automático. Ratings and Classification Data: Conjuntos de datos muy útiles en filtrado colaborativo, sistemas de recomendación y algoritmos de aprendizaje automático. Competition Data: Estos datos se utilizaron en competencias con académicos e investigadores. Dentro de los datos se encuentran conjuntos de mediana escala que han sido utilizados para evaluar sistemas de recomendación

65 Capítulo 3. Experimentos 3.2. Análisis de los datos 3.2 Análisis de los datos Los conjuntos de datos poseen características y propiedades estadísticas que deben ser consideradas cuando se evalúan los resultados obtenidos. Cada una de estas singularidades puede tener un efecto sustancial en el éxito o fracaso de los diferentes algoritmos Densidad La densidad indica el porcentaje de la matriz de ratings que posee valores no nulos, se define como Densidad = entradas no nulas entradas totales = ratings usuarios items (3.1) Es un dato útil si se quiere saber que porcentaje de dispersión tiene la matriz de ratings, ya que esto podría impactar directamente sobre la calidad de las predicciones al tener escasez de información. Entonces, la dispersión se expresa como 1 Densidad. La Figura 3.1 muestra la densidad de ratings en los data sets de MovieLens 100k y Jester5k. El primero sufre de alta dispersión, como sucede en la mayoría de los casos. En cambio, Jester5k, es una excepción al tener una alta densidad Dimensiones: 943 x 1664 Densidad: 6.33 % (a) MovieLens 100k Dimensiones: 5000 x 100 Densidad: % (b) Jester5k Figura 3.1: Densidad de ratings en los data sets 49

66 Capítulo 3. Experimentos 3.2. Análisis de los datos Distribución La distribución de ratings que presenta la mayoría de los data sets sufre del efecto denominado larga cola o Long Tail. En este tipo de distribuciones gran parte de los ratings se concentran en los ítems más populares, que son apenas una mínima cantidad del total. El resto de los ítems, considerados impopulares, reciben baja cantidad de ratings dando lugar a una larga cola en la función. La Figura 3.2 es un ejemplo de una curva de popularidad long tail en la cual un bajo porcentaje de ítems (alrededor del 10 %) están altamente calificados. Mientras que el restante 90 % tienen una baja cantidad de ratings (menos del 20 %) % de ratings Long Tail % de ítems Figura 3.2: Efecto Long Tail Esta distribución de ratings puede afectar negativamente en el desempeño de un algoritmo, ya que es difícil encontrar relaciones entre usuarios con tan pocos ítems calificados. 50

67 Capítulo 3. Experimentos 3.2. Análisis de los datos La Figura 3.3 muestra la distribución de ratings que poseen dos de los data sets mencionados anteriormente. En la Figura 3.3(a) se observa la curva de popularidad de MovieLens 100k, la cual es común en la mayoría de los conjuntos de datos reales y es también la más difícil de manipular. En la Figura 3.3(b) se expone la curva de popularidad del data set Jester5k que es muy infrecuente encontrar, dado que, presenta una gran cantidad de ítems calificados por todos los usuarios (con 100 % de ratings). 60 Distribución típica Distribución atípica % de ratings % de ratings ítems (a) MovieLens 100k ítems (b) Jester5k Figura 3.3: Distribución de ratings en los data sets Tamaño y proporciones Otro factor importante es la cantidad de usuarios y objetos presentes en los datos. Hay casos en donde el número de usuarios es mucho mayor que el número de ítems, por ejemplo, el comercio electrónico. Por el contrario, en otros sistemas hay más ítems que usuarios disponibles, como una biblioteca de artículos científicos. La relación entre el número de usuarios y el número de ítems puede determinar si es más provechoso construir relaciones entre los usuarios o entre los ítems, esta elección puede resultar en desempeños relativamente diferentes entre los algoritmos. 51

68 Capítulo 3. Experimentos 3.2. Análisis de los datos Con respecto al tamaño de los datos hay que considerar las limitaciones computacionales que surgen al trabajar con data sets que poseen gran cantidad de usuarios y objetos. De manera aproximada, se puede concluir que si se tienen m usuarios y n ítems, se necesitarán m vectores de dimensión n para representar todos los datos. Asumiendo que cada componente del vector ocupará 32 bits, se requerirá 32(n m) bits en memoria principal para representar el conjunto de datos. Lo cual puede resultar considerablemente costoso si no se dispone de un clúster 9 de computadores. La Figura 3.4 muestra el intervalo de dimensiones que debe tener una matriz para poder ser representada en memoria principal de 2GB RAM. Se debe considerar que esta cantidad de memoria es utilizada únicamente para almacenar la matriz de ratings, no considera el uso de recursos en el cálculo de predicciones. Por lo general, será necesario mantener varias matrices en memoria RAM, con el fin de realizar operaciones de suma o multiplicación entre sus filas y columnas Matrices en 2GB RAM Número de ítems Número de usuarios Figura 3.4: Matrices que pueden ser almacenadas en 2GB RAM 9 En este contexto, se aplica a los conjuntos de computadores, unidos entre sí por una red de alta velocidad, que funcionan como si fuesen uno solo, utilizados para tareas de supercómputo. 52

69 Capítulo 3. Experimentos 3.2. Análisis de los datos Escala de los ratings La escala de los ratings es el rango y granularidad en las preferencias de los usuarios hacia los ítems. La escala más simple es la unaria, indica que el objeto ha sido observado o adquirido, la ausencia de rating advierte falta de información. En la escala binaria se incorpora el Me gusta/no me gusta o Bueno/Malo. Los sistemas más comunes operan con escala entera (1, 2,...) o decimal (1, 1,5, 2,...). El rango de los ratings puede variar levemente (1 a 5) o considerablemente (0 a 100). Este último puede ocasionar errores mucho más significativos si no se utilizan métricas de evaluación normalizadas. La Tabla 3.1 indica el rango de valores que toman los ratings y su granularidad, para los data sets detallados anteriormente. Tabla 3.1: Escala de ratings en los data sets Data Set Versión Rango Tipo Granularidad MovieLens 100k 1M [1, 5] int 1 10M 20M [0,5, 5] float 0,5 Jester Todas [ 10, 10] float 0,01 Bookcrossing Todas [1, 10] int 1 Los dos primeros data set de MovieLens (100k y 1M) utilizan granularidad 1, es decir, los ratings van aumentando progresivamente de forma unitaria (1, 2, 3,...). En sus versiones más actuales, MovieLens cambia su granularidad a 0,5, agregando más opciones para valorar objetos. En Jester la granularidad es particularmente complicada, ya que presenta diferencias variables entre ratings (9,9, 9,81, 9,42,...) con un grado mínimo de 0,01. BookCrossing utiliza ratings parecidos a las primeras versiones de MovieLens pero el rango de valores es mayor. 53

70 Capítulo 3. Experimentos 3.2. Análisis de los datos La Figura 3.5 muestra el rango de los data sets y la frecuencia absoluta de cada rating MovieLens 100k Ratings (a) MovieLens 100k MovieLens 10M Ratings (b) MovieLens 10M BookCrossing Ratings (c) BookCrossing Jester5k Ratings 5 10 (d) Jester5k Figura 3.5: Frecuencia de ratings en los data sets Evaluar los resultados con el data set de Jester puede resultar mucho más complejo que con el resto de los datos por la característica en su forma de calificar. Como se puede ver en la Figura 3.5(d), Jester5k utiliza ratings en el rango [ 10, 10] pero con una variación mínima (0,01) entre los distintos niveles. En este tipo de sistemas no es sencillo asociar una preferencia a un determinado objeto por la enorme cantidad de opciones. En general, cuanto mayor sea el número de posibles ratings se estará más expuesto a errores de variabilidad. 54

71 Capítulo 3. Experimentos 3.2. Análisis de los datos Sesgo Muchos data sets presentan un sesgo en las calificaciones porque los usuarios no tienen el mismo criterio a la hora de evaluar ítems. Por ejemplo, a dos usuarios les disgusta el mismo objeto, sin embargo, uno de ellos es más radical y lo califica con 1. El otro, en cambio, es más optimista y califica su desagrado con 3. También puede ocurrir que un usuario tenga un cierto sesgo hacia un tipo de objeto determinado, que puede ser un género de películas o música. Esto se traduce en una sobrevaloración de los objetos dentro de ese grupo, con ratings parcialmente altos en comparación al resto. Si el sistema es capaz de detectar este tipo de usuarios, suele excluirlos del modelo predictivo. Una opción para mitigar este problema es usar técnicas de normalización de ratings. Dos de los esquemas más populares propuestos para entregarle mayor universalidad a los ratings individuales son Mean-centering y Z-score Mean-centering La idea es determinar si un rating es positivo o negativo comparándolo con la media. En User-based, el rating real del usuario r u,i es normalizado h(r u,i ) sustrayéndole el promedio r u de los ratings dados por el usuario u a los ítems en I u. h(r u,i ) = r u,i r u (3.2) En esa misma lógica, en Item-based, la normalización de r u,i está dada por h(r u,i ) = r u,i r i, (3.3) donde r i corresponde al rating promedio dado al ítem i por los usuarios en U i. 55

72 Capítulo 3. Experimentos 3.2. Análisis de los datos Z-score Mientras, mean-centering, remueve el sesgo causado por las diferentes percepciones del rating promedio, Z-score considera además la desviación estándar de los ratings. En User-based, la normalización del rating real del usuario r u,i obtenida anteriormente por el método mean-centering, se divide por la desviación estándar de los ratings dados por el usuario u. h(r u,i ) = r u,i r u σ u (3.4) De la misma forma, Z-score sobre un enfoque Item-based divide la normalización mean-centering por la desviación estándar de los ratings dados al ítem i. h(r u,i ) = r u,i r i σ i (3.5) Otros factores Existen otros factores que es pertinente mencionar, pero que no son influyentes en el dominio del problema estudiado. Timestamp: Las marcas de tiempo ( T 10:45 UTC) son una propiedad de la colección de datos particularmente útil en áreas donde se analiza el cambio en los gustos de los usuarios a través del tiempo. Información demográfica: En algunos conjuntos de datos se entrega información adicional sobre los usuarios, además, de los ratings: edad, género, ocupación. Estos antecedentes son importantes en sistemas de recomendación basados en filtrado demográfico. 56

73 Capítulo 3. Experimentos 3.2. Análisis de los datos Resumen La Tabla 3.2 muestra un resumen de los data sets mencionados anteriormente, detallando las propiedades estadísticas para cada conjunto de datos. Tabla 3.2: Propiedades estadísticas de los data sets Data Set Versión Usuarios Items Ratings RAM Densidad MovieLens 100k MB 6,33 % 1M MB 4,47 % 10M ,8 GB 1,34 % Jester 5k MB 72,42 % ,5 MB 72,47 % Lastfm 360k GB 0,012 % Bookcrossing Full GB 0,002 % BX GB 0,003 % Memoria RAM necesaria (aprox.) para almacenar el Data Set. Es posible apreciar como la mayoría de los conjuntos de datos sufren baja densidad en la matriz de ratings, especialmente cuando poseen gran cantidad de ítems. Esto es de suponer, puesto que es difícil conseguir que los usuarios califiquen miles de objetos de forma explícita. Con respecto al tamaño de los data sets, si el número de usuarios e ítems es muy grande, los algoritmos basados en vecindarios pueden tener serios problemas de escalabilidad. Los métodos de factorización matricial utilizan técnicas de reducción de la dimensionalidad que les permiten manejar estos casos. Sin embargo, para poder almacenar en memoria principal (RAM) grandes volúmenes de datos se necesitan recursos adicionales o estrategias de mitigación que escapan del objetivo de esta investigación. Por esta razón, para realizar los experimentos solo se considerarán conjuntos de datos capaces de ser manipulados de acuerdo a los recursos disponibles. 57

74 Capítulo 3. Experimentos 3.3. Métricas de evaluación 3.3 Métricas de evaluación El propósito de la evaluación es medir de que forma los métodos propuestos cumplen con los objetivos deseados. Sin embargo, la tarea de evaluar sistemas de recomendación, y sus algoritmos, es difícil por varias razones. La primera es que un algoritmo puede funcionar mejor con un data set en particular y peor con otro, dependiendo de las propiedades específicas que tenga cada conjunto de datos (Sección 3.2). La segunda razón es que los objetivos de los sistemas de recomendación difieren. La predicción de ratings debe ser evaluada determinando que tan cerca están los ratings estimados, con respecto a los ratings reales. En la recomendación de objetos es más valioso medir con que frecuencia el sistema conduce al usuario a tomar decisiones correctas. Se han propuesto varios métodos de evaluación para los sistemas de recomendación. En la práctica, el uso de diferentes tipos de métricas permite estudiar las fortalezas y debilidades de una técnica de recomendación en particular Precisión estadística Estas métricas se utilizan cuando el sistema de recomendación predice un rating para un objeto. Se basan en medir el error (diferencia) entre la predicción realizada por el algoritmo y la puntuación real del usuario. La estructura básica de evaluación se fundamenta en el modelo train/test utilizado comúnmente en machine learning. El proceso comienza separando el data set en dos subconjuntos. El conjunto de entrenamiento R tr (training set) y el conjunto de prueba R te (test set). El primero es usado para construir el modelo, mientras que el segundo se utiliza para evaluar los algoritmos Para asegurarse que los resultados obtenidos sean independientes de la partición de entrenamiento y prueba escogida, se utiliza la técnica de validación cruzada de K iteraciones o K-fold cross-validation. El proceso de validación cruzada funciona de la siguiente manera: En primer lugar, se generan K particiones de igual tamaño. Una de las particiones se usa como test set para validar el modelo, los restantes K 1 subconjuntos son datos de entrenamiento. Este proceso se repite K veces utilizando cada uno de los subconjuntos una sola vez para realizar pruebas. Al finalizar, se calcula la media aritmética entre cada iteración. [22] 58

75 Capítulo 3. Experimentos 3.3. Métricas de evaluación El sistema genera predicciones de ratings ˆr u,i para los pares de usuarios e ítems (u, i) dentro del conjunto de test R te, en donde la puntuación real del usuario u hacia el ítem i es conocida de antemano (r u,i ). Las métricas, o medidas, de precisión estadística más populares son: el Error Absoluto Medio (MAE), el Error Cuadrático Medio (MSE) y la Raíz del Error Cuadrático Medio (RMSE) Mean Absolute Error (MAE) Es la métrica de precisión más utilizada en la literatura y calcula el promedio de la diferencia absoluta entre las predicciones de ratings y los valores reales. MAE = 1 R te (u,i) R te ˆr u,i r u,i, (3.6) donde R te es la cardinalidad del conjunto de prueba, ˆr u,i es la predicción del rating para el usuario u sobre el ítem i, y r u,i es el rating real dado por el usuario Normalized Mean Absolute Error (NMAE) Debido a que los sistemas de recomendación utilizan diferentes escalas numéricas para expresar los ratings, la medida Normalized Mean Absolute Error normaliza el MAE para expresar los errores como porcentajes. NMAE = MAE r max r min, (3.7) donde r max y r min son los mayores y menores ratings en el sistema. En teoría, permite comparar mejor los resultados cuando se realizan predicciones sobre distintos data sets. 59

76 Capítulo 3. Experimentos 3.3. Métricas de evaluación Mean Squared Error (MSE) Esta variante del MAE también mide el promedio de la diferencia entre las predicciones de ratings y los valores reales, pero los eleva al cuadrado. Esto se traduce en que se le entrega mayor importancia a los errores grandes. Por ejemplo, un error de un punto aumentará la suma de errores en uno, pero un error de dos puntos lo hará en cuatro. MSE = 1 R te (u,i) R te (ˆr u,i r u,i ) 2, (3.8) donde R te es la cardinalidad del conjunto de prueba, ˆr u,i es la predicción del rating para el usuario u sobre el ítem i, y r u,i es el rating real dado por el usuario Root Mean Squared Error (RMSE) Root Mean Squared Error se popularizó bastante debido a que fue utilizada como métrica durante el Netflix Prize para evaluar el desempeño de los algoritmos. RMSE representa básicamente la desviación estándar de las diferencias entre los valores estimados y los valores reales. Se define como la raíz cuadrada de la diferencia entre la predicción del rating y su valor real al cuadrado. RMSE = 1 (ˆr u,i r u,i ) R te 2 (3.9) (u,i) R te Aunque las métricas de precisión estadística han ayudado a medir con éxito diversos campos de los sistemas de recomendación, las recomendaciones más precisas a veces no son las más útiles para los usuarios. Por lo tanto, se deben explorar métricas capaces de evaluar si los objetos recomendados por el sistema son realmente relevantes para el usuario. 60

77 Capítulo 3. Experimentos 3.3. Métricas de evaluación Soporte en la toma de decisiones Estas medidas se utilizan cuando la finalidad del sistema es recomendar al usuario una lista de objetos. Se dividen a su vez en dos grupos, relevancia binaria y múltiples niveles de relevancia. Las primeras se dedican a evaluar si los productos recomendados son de interés para el usuario. Las segundas son más estrictas, no solo evalúan si el producto es de interés para el usuario, también evalúan si el sistema recomienda la mejor opción de la lista Relevancia Binaria Generalmente, en la evaluación se selecciona un conjunto de usuarios y se obtiene una recomendación para cada uno de ellos. Luego, se comparan los productos recomendados con aquellos realmente relevantes. La Tabla 3.3 muestra los cuatro posibles casos que se pueden presentar cuando se realiza una recomendación, dependiendo de si el producto recomendado es o no relevante para el usuario. Tabla 3.3: Matriz de confusión Recomendado No Recomendado Relevante Verdadero Positivo (VP) Falso Negativo (FN) No Relevante Falso Positivo (FP) Verdadero Negativo (VN) Precision y Recall Para evaluar la calidad de los algoritmos de filtrado colaborativo se utilizan métricas de evaluación muy comunes en el mundo de la recuperación de información (IR) conocidas como Precision (P) y Recall (R), definidas por las ecuaciones 3.10 y 3.11, respectivamente. P = V P V P + F P (3.10) 61

78 Capítulo 3. Experimentos 3.3. Métricas de evaluación R = V P V P + F N (3.11) La precision evalúa la calidad en la recomendación, es decir, la probabilidad de que los productos recomendados sean relevantes para el usuario. En cambio, el recall evalúa la probabilidad de que un producto considerado relevante sea efectivamente recomendado al usuario. Ambas medidas se encuentran inversamente relacionadas, en general, al aumentar la cantidad de productos recomendados aumentará el recall y disminuirá la precisión. Es por esto que, en lugar de considerar las medidas por separado, la combinación entre ambas puede proporcionar una visión más clara sobre el comportamiento de un algoritmo en particular. Precision (P) y Recall (R) pueden ser simplificadas dentro de una misma métrica denominada F 1 [55], la cual ha sido ampliamente utilizada para evaluar sistemas de recomendación [50]: F 1 = 2P R P + R (3.12) F 1 combina precision y recall en una sola ecuación en donde ambas medidas poseen la misma ponderación. Esta métrica facilita la comparación entre algoritmos y conjuntos de datos pues el resultado no se ve afectado por el tamaño de la muestra. Por otra parte, Precision y Recall no consideran en el cálculo a los Verdaderos Negativos, es decir, aquellos objetos que fueron correctamente identificados como irrelevantes y por ende no se recomendaron al usuario. Con el propósito de incorporar ese conjunto de objetos se define una nueva métrica denominada Specificity. Specificity = V N V N + F P (3.13) Specificity mide la fracción de objetos irrelevantes que fueron correctamente descartados. Si el conjunto de datos es muy grande probablemente muchos de los objetos que no fueron recomendados le sean irrelevantes al usuario, por ende esta medida podría ser engañosa en algunos casos. 62

79 Capítulo 3. Experimentos 3.3. Métricas de evaluación Mean Reciprocal Rank (MRR) Mean Reciprocal Rank (MRR) considera la posición en la lista del primer elemento relevante. MRR = 1 r, (3.14) donde r es el ranking del primer elemento relevante. El problema es que usualmente se tiene más de un elemento relevante Precision at k (P@k) Precision at k (P@k) mide la satisfacción del usuario frente a la lista de objetos recomendados hasta un cierto punto. Es decir, dado un ranking de recomendaciones se establece que proporción de elementos relevantes hay dentro de los primeros k ítems de la lista (típicamente k = 5, 10, o 20). Se define como P@k = ki=1 Rel(i), (3.15) k donde Rel(i) = 1 si el elemento en la posición i es relevante para el usuario. En caso contrario es cero Average Precision (AP) En general, no se tiene claro hasta que valor de k es conveniente evaluar, la arbitrariedad en la elección pudiera alterar la calidad de la evaluación. Average Precision (AP) trata de solucionar este problema promediando la precisión cada vez que encuentra un elemento relevante. AP = ki=1 P@i Rel(i) relevantes (3.16) 63

80 Capítulo 3. Experimentos 3.3. Métricas de evaluación Mean Average Precision (MAP) Mean Average Precision (MAP) es el promedio de varias Average Precision. Si se considera que hay m usuarios en el Data Set y que, además, a cada uno se le calculó una lista de recomendaciones, se define MAP = mu=1 AP(u) m (3.17) Múltiples niveles de relevancia Las métricas anteriores evaluaban utilizando una escala binaria para medir la satisfacción del usuario frente a la recomendación de ítems (Relevante, No Relevante). Sin embargo, no todos los objetos tienen la misma relevancia para el usuario. En sistemas de recomendación, generalmente, se califica con escala de valores enteros (1 a 5). Los indicadores basados en ganancia acumulada cobran real importancia en sistemas de recomendación, ya que comparan los valores de relevancia de la lista Top-N con el ranking ideal ; que sería el obtenido al ordenar la lista desde el objeto más relevante al menos relevante. Dado un ranking Top-N de ítems, el primer paso es formar un vector de ganancia (gain vector) G, que contenga todos los valores de relevancia de la lista CG Direct cumulated gain (CG) acumula la ganancia (relevancia) en un vector donde el elemento i es la suma desde 1 hasta i de los valores en G. G[1] si i = 1 CG[i] = CG[i 1] + G[i] en otro caso donde i es la posición en el ranking. (3.18) 64

81 Capítulo 3. Experimentos 3.3. Métricas de evaluación DCG Discounted cumulated gain (DCG) aplica una función de penalización para devaluar los ítems que están abajo en el ranking. Esto fue ideado pensando que el usuario tendrá menos interés en consultar esos objetos al exigirle más tiempo y esfuerzo. La función de descuento más utilizada es dividir por el log de la posición en la lista, a pesar de que, es posible encontrar otras [28]. G[1] si i = 1 DCG[i] = DCG[i 1] + G[i] en otro caso log b i (3.19) ndcg Normalized discounted cumulative gain (ndcg) normaliza el vector DCG con respecto al ideal. El ranking ideal es el vector que tiene ordenados de mayor a menor los valores de ganancia o relevancia. ndcg[i] = DCG[i] DCG I [i] (3.20) Las ventajas que exhiben estas métricas es que no necesitan transformar los ratings a escala binaria y permiten evaluar a cada usuario por separado según su propio ranking de relevancia ideal. Además, sin importar la cantidad de ítems en el ranking, entregan una estimación de la ganancia acumulada como medida única. 65

82 Capítulo 3. Experimentos 3.4. Procedimiento experimental 3.4 Procedimiento experimental El procedimiento experimental tiene el propósito de explicar el proceso que se seguirá para cumplir con los objetivos enunciados en el Capítulo 1.1. Con la finalidad de simular un escenario propicio donde realizar recomendaciones y evaluar los algoritmos, se dividirá el data set en dos conjuntos: R tr (entrenamiento) para construir el modelo y R te (testing) para evaluar los resultados. Se asignará el 80 % de los datos como conjunto de entrenamiento y el 20 % restante será para evaluar los algoritmos. Para esto, se utilizará la estrategia de validación cruzada de k iteraciones o k-fold cross-validation, con k = 5. De este modo, se dividirá el conjunto de datos en 5 subconjuntos (llamados folds) de aproximadamente el mismo tamaño. Entonces, los experimentos se realizarán 5 veces, siempre usando un fold para testing y los otros para training (formar el vecindario o construir un modelo, según el algoritmo). Esta estrategia asegura que cada usuario esté al menos una vez en el conjunto de pruebas y el promedio entrega resultados más robustos. Con la intención de estudiar el comportamiento de las técnicas en diferentes contextos, en principio, se variarán los parámetros más importantes posibilitando evaluar los algoritmos en distintas condiciones. Las técnicas consideradas para realizar los experimentos son las siguientes: Algoritmos basados en vecindarios, knn (Sección 2.1) User-Based Collaborative Filtering, UBCF Item-Based Collaborative Filtering, IBCF Cluster-based collaborative filtering usando k-means, CBCF (Sección ) Técnicas de Factorización Matricial, MF (Sección 2.2.2) Descomposición en Valores Singulares, SVD (Sección ) SVD utilizando la bidiagonalización implícita de Lanczos [2] Regularized SVD, RSVD (Sección ) Robust SVD, RobSVD [56] (Sección ) Non-negative matrix factorization, NMF [7] (Sección ) 66

83 Capítulo 3. Experimentos 3.4. Procedimiento experimental La evaluación de los métodos propuestos será en dos partes, en la primera se evaluará la predicción de ratings con métricas de precisión estadística (Sección 3.3.1) y en la segunda parte se evaluará la tarea de recomendación Top-N con medidas de soporte en la toma de decisiones (Sección 3.3.2) Benchmark data Los data sets que se utilizarán para realizar los experimentos son: MovieLens 100k y 1M Jester5k A pesar de que estos conjuntos de datos pueden ser de dimensiones relativamente exiguas en relación a lo que se acostumbra evaluar hoy en día, resultan idóneos para los objetivos trazados en esta Memoria. En primer lugar, porque al ser data sets largamente utilizados por la literatura permiten comparar los resultados obtenidos con los presentados en otras publicaciones. En segundo lugar, como se mencionó anteriormente, el problema de Big Data se encuentra fuera del alcance de esta investigación Plataforma experimental Todos los métodos se implementarán usando el lenguaje de programación R y como base el paquete recommenderlab (para mayor detalle ver Anexo A). Los experimentos se correrán en un computador con procesador Intel Core i5-3230m y memoria de 4GB 1600MHZ DDRIII. 67

84 Capítulo 4 Resultados 4.1 Predicción de ratings En todos los métodos de recomendación vistos anteriormente, la calidad de las predicciones depende en gran medida de los parámetros establecidos antes de la ejecución del algoritmo. Para determinar el conjunto de parámetros óptimos se deben encontrar los intervalos de valores en donde los algoritmos se desenvuelven mejor para cada set de datos. La Tabla 4.1 muestra los principales parámetros que utilizan los algoritmos elegidos para realizar los experimentos. Se consideran tres etapas en el proceso de predicción: (1) construir el vecindario o modelo predictivo, (2) generar una predicción o lista de recomendaciones, (3) evaluar la calidad de los resultados. La tabla completa de parámetros por algoritmo, con sus valores por defecto, se puede encontrar en el Anexo B.2. 68

85 Capítulo 4. Resultados 4.1. Predicción de ratings Tabla 4.1: Principales parámetros de los algoritmos Parámetro Descripción Etapa nn Tamaño del vecindario 1 c Número de clústers 1 k Número de factores latentes 1 i Número de iteraciones 1 N Cantidad de ítems 2 recomendados runs Número de ejecuciones por 2-3 algoritmo train Fracción de los datos usada 2-3 para entrenamiento given Número de ratings por 2-3 usuario usados para predecir goodrating Umbral para considerar un rating positivo 2-3 Los parámetros N y goodrating no se ocuparán en esta sección porque son utilizados solo en caso de recomendación de listas Top-N y no en predicción de ratings. Por lo tanto, se revisarán con mayor detalle en la Sección

86 Capítulo 4. Resultados 4.1. Predicción de ratings Escasez de ratings El parámetro given establece la cantidad de ratings por usuario que se utilizan para generar predicciones. Esto quiere decir que, si el valor es cercano a cero, representa un escenario en donde el usuario activo acaba de ingresar al sistema y tiene muy pocos ratings para relacionar sus gustos (Cold start). Se estudió la capacidad de los algoritmos para superar este problema variando el parámetro de 2 a 15. La Figura 4.1 muestra el error absoluto medio (MAE) para el data set de MovieLens 100k. MAE Algoritmos en condiciones de Cold start 1 0,95 0,9 UBCF IBCF SVD RSVD NMF 0,85 0, given Figura 4.1: MAE según escasez de ratings en MovieLens100k Los resultados muestran como los algoritmos se ven afectados en su tarea predictiva cuando disponen de escasa información. No obstante, a medida que aumenta la cantidad de ratings el error disminuye y las diferencias se tornan menos significativas. La capacidad de un algoritmo de superar la falta de información es fundamental debido a que, generalmente, los data sets disponen de muy pocos ratings por usuario. Los métodos basados en memoria entregan muy buenos resultados en condiciones ideales. Sin embargo, frente a baja densidad en la matriz de ratings, el error se incrementa considerablemente. Esto sucede porque no son capaces de crear vecindarios confiables entre usuarios o ítems con tan pocos ratings en común. 70

87 Capítulo 4. Resultados 4.1. Predicción de ratings Los algoritmos basados en el modelo son menos sensibles a condiciones de cold start, logrando superar la falta de información en la matriz de ratings. Cuando se aplica alguna técnica de factorización matricial se logra disminuir la alta dispersión presente en los ratings a través de un suavizado de los datos. Esto permite representar a los usuarios y objetos en un espacio de características de menor dimensión. De esta forma, es posible extraer las relaciones ocultas en los datos y construir un modelo predictivo idóneo. Detallando los resultados obtenidos en la Figura 4.1 se pueden hacer importantes observaciones. NMF tiende a ser el método menos sensible a variaciones de densidad por su gran capacidad de descifrar la estructura de los datos. Los algoritmos que mejor se comportan en condiciones de Cold-start son las factorizaciones matriciales RSVD y NMF. USER-BASED muestra alta sensibilidad sobre el parámetro given al construir vecindarios utilizando ratings de usuarios. En condiciones ideales las diferencias en exactitud de los algoritmos se reducen. En el resto de los experimentos, se asignará el valor 15 al parámetro given para evitar problemas de escasez de ratings y poder estudiar los algoritmos bajo condiciones ideales. 71

88 Capítulo 4. Resultados 4.1. Predicción de ratings Tamaño del vecindario En algoritmos de filtrado colaborativo basados en vecinos más cercanos (knn), el tamaño del vecindario tiene un impacto significativo en la calidad de las predicciones. Para determinar la sensibilidad de este parámetro, se realizaron experimentos variando el número de vecinos considerados en el cálculo. La Figura 4.2 compara los errores del algoritmo knn, al variar el número de vecinos más cercanos considerados en la predicción, para el data set de MovieLens 100k. Algoritmo knn en MovieLens 100k (943 usuarios) 0,84 0,83 MAE 0,82 0,81 Jaccard Pearson Coseno Número de vecinos Figura 4.2: MAE según el número de vecinos en MovieLens100k MovieLens 100k es un data set de tan solo 943 usuarios, esto implica que el tamaño del vecindario puede resultar limitado. Sin embargo, como se ve en el gráfico 4.2, considerar mayor cantidad de vecinos no garantiza mejores soluciones. Pearson y Coseno son las métricas de similaridad más utilizadas porque entregan los resultados más precisos. Ambas, presentan mejor desempeño cuando la cantidad de usuarios está entre 100 y 300. Jaccard, que no considera los ratings en el cálculo, disminuye el error al aumentar el número de vecinos. 72

89 Capítulo 4. Resultados 4.1. Predicción de ratings La Figura 4.3 compara los mismos errores que antes, pero esta vez para un data set con mayor cantidad de usuarios, Jester5k (5000 usuarios). 3,7 Algoritmo knn en Jester5k (5000 usuarios) 3,65 3,6 MAE 3,55 3,5 3,45 3,4 Jaccard Pearson Coseno Número de vecinos Figura 4.3: MAE según el número de vecinos en Jester5k Este gráfico entrega una visión más general del comportamiento del error (MAE) frente al número de vecinos. Usualmente, la precisión del modelo con respecto al tamaño del vecindario sigue una función cóncava, los mejores resultados se obtienen sobre un intervalo acotado de usuarios. Cuando se utilizan muy pocos vecinos la precisión es baja, ya que no se alcanzan a formar relaciones robustas entre los usuarios. Se dice que confiar en la opinión del usuario más parecido no es recomendable porque suele estar sesgada, exponiendo al sistema a datos outliers. Por el contrario, al aumentar demasiado el número de vecinos, la precisión tiende a empeorar porque se agregan usuarios con opiniones muy diferentes, perdiendo los vínculos colaborativos encontrados anteriormente. Aunque el número de vecinos más usado en la literatura está entre 20 y 50 [23], el valor óptimo para el vecindario varía según las características del data set y la métrica de similaridad utilizada para buscar vecinos más cercanos. 73

90 Capítulo 4. Resultados 4.1. Predicción de ratings Similaridad entre usuarios o ítems Los algoritmos tradicionales de filtrado colaborativo basados en memoria, utilizan métricas de similaridad para encontrar usuarios con gustos afines y realizar predicciones (USER-BASED). Sin embargo, en algunos casos, puede ser más útil calcular la similitud entre los ítems dentro del sistema (ITEM-BASED). Con el objetivo de averiguar que enfoque entrega mejores resultados se consideraron diferentes criterios en el análisis Exactitud La precisión de los métodos basados en vecindarios (knn) puede depender de la proporción entre usuarios e ítems en el sistema. Se ha propuesto que en casos donde el número de usuarios sea mucho mayor al número de ítems, conviene utilizar el enfoque ITEM-BASED [17]. Por el contrario, en sistemas con mayor cantidad de ítems que usuarios, USER-BASED entregaría mayor beneficio [20]. La razón teórica que explica esta situación es la siguiente: Si m es el número de usuarios, n el número de ítems y R el número total de ratings. Entonces, R /m será el número promedio de ratings por usuario y R /n será el número promedio de ratings por ítem. Cuando hay más usuarios que ítems, el número promedio de ratings por ítem es mayor. Es decir, m > n = R m < R n (4.1) Por lo tanto, la métrica de similaridad va a disponer de más ratings (en promedio) por ítem que por usuario. Es por esto que, en este caso, es preferible adoptar el enfoque ITEM-BASED. De forma inversa, cuando el sistema tiene mayor cantidad de ítems que usuarios, hay en promedio más ratings por usuario y conviene utilizar USER-BASED. 74

91 Capítulo 4. Resultados 4.1. Predicción de ratings Se realizaron experimentos para determinar si estos supuestos eran válidos empíricamente sobre dos data sets de características opuestas. MovieLens 100k es disperso y tiene más ítems que usuarios; Jester5k es denso y posee más usuarios que ítems. La Figura 4.4 muestra el promedio del error absoluto medio normalizado (NMAE) de cada algoritmo. 0,22 NMAE User-Based vs Item-Based 0,21 0,2 0,2068 0,2102 0,19 0,18 0,1752 0,1757 MovieLens UBCF IBCF Jester Figura 4.4: NMAE según enfoque basado en usuarios o ítems Los resultados señalaron que el enfoque USER-BASED entrega predicciones con una precisión levemente mayor a ITEM-BASED para los dos data sets estudiados. Aunque, estadísticamente, no existe significancia numérica que manifieste supremacía de algún algoritmo por sobre el otro. Así, en condiciones ideales, ambos enfoques ofrecen soluciones precisas y se comportan de manera relativamente similar, independiente del número de usuarios e ítems que tenga el sistema. Se demostró empíricamente que el supuesto teórico de que la proporción entre usuarios e ítems beneficia a un algoritmo por sobre el otro no siempre se cumple. La razón es que esa hipótesis parte de una premisa errada, ya que asume una distribución uniforme de los ratings sobre los ítems. Este escenario rara vez se da en datos del mundo real. 75

92 Capítulo 4. Resultados 4.1. Predicción de ratings Como se explicó en la Sección 3.2.2, normalmente, los ratings presentan una distribución sesgada con una curva de popularidad long tail en donde pocos ítems tienen muchos ratings y muchos ítems tienen pocos ratings. Es más, el data set de Jester5k, presenta una curva relativamente uniforme y posee más usuarios que ítems. Sin embargo, en promedio, USER-BASED entrega mejores resultados que ITEM-BASED Estabilidad La elección entre USER-BASED o ITEM-BASED también puede depender de la frecuencia y cantidad de modificaciones que sufra el sistema, con respecto al número de usuarios e ítems. Si la lista de objetos disponibles es invariable en el tiempo, pero no así los usuarios, un enfoque ITEM-BASED puede ser preferible debido a que la similaridad entre ítems permanecerá constante. Por el contrario, en aplicaciones donde la lista de objetos cambia regularmente, métodos basados en usuarios más cercanos pueden ser más estables Explicabilidad En recomendación Top-N (Sección 4.2), no siempre es suficiente con entregar una lista de objetos para satisfacer al usuario, se requiere poder justificar la recomendación. Una ventaja del enfoque ITEM-BASED es que permite explicar fácilmente una recomendación, ya que los ítems usados para elaborar la predicción pueden ser presentados al usuario argumentando semejanza con sus elecciones previas. En USER-BASED, es menos manejable esta idea porque no se puede entregar como justificación los gustos de usuarios desconocidos. 76

93 Capítulo 4. Resultados 4.1. Predicción de ratings Serendipity Este término, relativamente nuevo en sistemas de recomendación, fue introducido por Herlocker et al. [24] para referirse a ítems que son recomendados de forma inesperada a los usuarios. Es decir, que no están relacionados con los ítems consumidos habitualmente pero resultan igualmente útiles. En ITEM-BASED, la predicción se basa en ítems similares, por ende, no permite recomendar diferentes tipos de objetos para un mismo usuario. Por ejemplo, en un sistema de recomendación de películas, si un usuario califica constantemente con ratings positivos un determinado género, lo más probable es que en el futuro se le recomienden películas de ese género. En USER-BASED, al relacionar gustos entre usuarios, hay mayores posibilidades de poder realizar recomendaciones diversas e inesperadas. Por ejemplo, aunque un usuario A sólo califique con ratings altos las películas de comedia, puede que sus ratings se relacionen con los del usuario B, al cual le gustan las películas de comedia pero también ve películas de acción, las cuales pueden ser recomendadas al usuario A, a través de su similaridad. 77

94 Capítulo 4. Resultados 4.1. Predicción de ratings Número óptimo de clústers En algoritmos de agrupamiento el número de clústers puede influir directamente sobre la calidad de las recomendaciones. K-MEANS CLUSTERING es un algoritmo de agrupamiento muy utilizado, sin embargo, requiere conocer de antemano el número de clústers. Encontrar el número apropiado suele ser un proceso de ensayo y error. En el problema de términos y documentos, que es análogo al de usuarios y objetos, se estimó teóricamente el número óptimo de clústers con la siguiente fórmula [10]: Número de clústers = m n entradas no nulas = usuarios items ratings (4.2) Para deducir el número óptimo de clústers se realizaron experimentos variando el número de centroides. Este parámetro determina la cantidad de grupos (o clústers) sobre los cuales se congregan los distintos usuarios. Luego, se utiliza el clúster de cada usuario como vecindario para calcular las predicciones. Este enfoque se denominó Cluster-based collaborative filtering (CBCF). Los resultados para el data set de MovieLens 100k se muestran en la Tabla 4.2. Tabla 4.2: Errores según el número de clústers en MovieLens100k Clústers RMSE MAE Vecinos 3 1,086 0, ,032 0, ,033 0, ,035 0, ,038 0, ,040 0, ,042 0, ,045 0, Número promedio de usuarios por clúster Los mejores resultados (menor error) se obtuvieron cuando se utilizó entre 5 y 10 clústers. Esto quiere decir que, en promedio, se destinaron entre 94 y 189 usuarios para construir el vecindario. Un intervalo similar al que se consiguió con knn. Vale aclarar que en el caso del enfoque de clustering, el número de vecinos mostrados en la Tabla 4.2 no es uniforme, suele ocurrir que algunos clústers acaban con muchos más usuarios que otros. 78

95 Capítulo 4. Resultados 4.1. Predicción de ratings Con el fin de averiguar si la estrategia de agrupar usuarios entrega resultados superiores al algoritmo knn clásico, se compararon los mejores desempeños de cada método variando el número de clústers o vecinos. La Figura 4.5 muestra el error absoluto medio (MAE) que presenta el algoritmo de Clustering cuando varía el número de clústers y lo contrasta con el mejor desempeño de knn, sobre el mismo número de vecinos. En otras palabras, en knn, se utiliza el número de vecinos señalado en la Tabla 4.2 para construir el vecindario y en CBCF se usa todo el clúster como vecindario. 0,845 0,84 Clustering vs knn en MovieLens 100k Clust knn 0,835 MAE 0,83 0,825 0,82 0, Número de clústers Figura 4.5: MAE según el número de clústers en MovieLens100k Con respecto al gráfico de la Figura 4.5 se pueden hacer dos importantes observaciones. Primero, CBCF no logra superar en precisión estadística a knn en ningún tramo de la curva. Aunque, la diferencia tampoco presupone una merma considerable, ya que es cercana al 1 %. En segundo lugar, cuando se usan más de 10 clústers, la calidad tiende a empeorar de manera sostenida (el error aumenta). En Clustering esto era de esperarse, puesto que cuando aumenta el número de clústers se producen grupos más pequeños y se tienen menos usuarios para relacionar. La misma tendencia se observa en knn, ya que pocos usuarios no permiten formar vínculos de afinidad valiosos. 79

96 Capítulo 4. Resultados 4.1. Predicción de ratings Rango de factorización En algoritmos de factorización matricial (MF) se puede obtener una aproximación low-rank de la matriz de ratings usando k factores. Con esto, se logra reducir la dimensionalidad y capturar factores latentes en los datos. La elección correcta del parámetro k es fundamental para generar predicciones de alta calidad. Este valor debe ser lo suficientemente grande para que el algoritmo logre capturar todas las relaciones presentes en los datos, pero debe ser lo suficientemente pequeño para evitar errores de sobreajuste 1 (overfitting). Para encontrar el rango óptimo de factorización se realizaron experimentos utilizando el algoritmo SVD y modificando el parámetro k. La Figura 4.6 muestra el error absoluto medio (MAE) al variar el número de factores en el intervalo entre 0 y 50, para el data set de MovieLens 100k. Rango de factorización SVD en MovieLens 100k 0,81 0,805 MAE 0,8 0,795 0, Factores latentes Figura 4.6: MAE según el número de factores en MovieLens100k 1 Efecto de sobreentrenar un algoritmo con datos demasiado específicos perdiendo generalidad. 80

97 Capítulo 4. Resultados 4.1. Predicción de ratings La Figura 4.7 entrega el MAE que se obtiene al variar el mismo parámetro en el data set de Jester5k, sobre el intervalo entre 0 y 50. 0,94 Rango de factorización SVD en Jester5k 0,92 0,9 MAE 0,88 0,86 0,84 0, Factores latentes Figura 4.7: MAE según el número de factores en Jester5k Basado en los resultados obtenidos, las predicciones más precisas se logran cuando se utilizan valores pequeños de k. En MovieLens100k, el error más bajo se alcanza para k = 12. En Jester5k, para k = 10. En el resto de los algoritmos MF, se encontraron valores similares para este parámetro (Ver Anexo B.2). Además de influir en la calidad de las predicciones, el rango de factorización produce otros efectos sobre la matriz de ratings. Se realizaron experimentos variando el parámetro k en la técnica NMF y se presentan diferentes criterios de análisis. 81

98 Capítulo 4. Resultados 4.1. Predicción de ratings La Figura 4.8 muestra como resultan las matrices luego de aplicar la factorización NMF con rango k = 3, 5, 7, 10, 15, 20, sobre el data set de MovieLens 100k. En el contexto de reconocimiento de patrones, es útil observar la agrupación de los distintos elementos en la diagonal de la matriz. Cuando el rango es pequeño, se forman pocos grupos de muchos datos. En este caso, los datos se agrupan en torno a factores latentes de carácter general que son compartidos por gran parte de los usuarios e ítems. Al aumentar el rango, se crean más grupos pero con menos elementos, es decir, son características más específicas que solo poseen algunos usuarios (o ítems). rank=3 (a) rango 3 (b) rango 5 (c) rango 7 (d) rango 10 (e) rango 15 (f) rango 20 Figura 4.8: Matrices resultantes de la factorización NMF Cada grupo encontrado puede categorizarse de acuerdo a los elementos que lo componen. Para ello, necesitan ser analizados con mayor detalle y tener conocimiento del dominio. En la próxima sección (4.1.6) se realizará una demostración empírica del espacio de características encontrado sobre los datos de MovieLens 100k. 82

Técnicas de Minería de Datos

Técnicas de Minería de Datos Técnicas de Minería de Datos Act. Humberto Ramos S. 1 Qué es Minería de datos? El desarrollo de dispositivos tecnológicos para acumular datos a bajo costo. Acumulación o registro de gran cantidad de datos.

Más detalles

INSTITUTO NACIONAL DE ESTADÍSTICAS (INE) 29 de Abril de 2016

INSTITUTO NACIONAL DE ESTADÍSTICAS (INE) 29 de Abril de 2016 ANEXO ESTADÍSTICO 1 : COEFICIENTES DE VARIACIÓN Y ERROR ASOCIADO AL ESTIMADOR ENCUESTA NACIONAL DE EMPLEO (ENE) INSTITUTO NACIONAL DE ESTADÍSTICAS (INE) 9 de Abril de 016 1 Este anexo estadístico es una

Más detalles

MINERIA DE TEXTOS EN R: VIA UN MODELO DE ESPACIO VECTORIAL Y ANÁLISIS CLUSTER. Resumen

MINERIA DE TEXTOS EN R: VIA UN MODELO DE ESPACIO VECTORIAL Y ANÁLISIS CLUSTER. Resumen MINERIA DE TEXTOS EN R: VIA UN MODELO DE ESPACIO VECTORIAL Y ANÁLISIS CLUSTER Resumen El objetivo del presente estudio fue encontrar la similitud entre textos para asociar reclamos y determinar si estos

Más detalles

ANALISIS DE CLUSTER CON SPSS: INMACULADA BARRERA

ANALISIS DE CLUSTER CON SPSS: INMACULADA BARRERA ANALISIS DE CLUSTER CON SPSS: INMACULADA BARRERA ANALISIS DE CLUSTER EN SPSS Opción: Analizar Clasificar ANALISIS DE CLUSTER EN SPSS Tres posibles OPCIONES 1.- Cluster en dos etapas 2.- K-means 3.- Jerárquicos

Más detalles

Técnicas de Clasificación Supervisada DRA. LETICIA FLORES PULIDO

Técnicas de Clasificación Supervisada DRA. LETICIA FLORES PULIDO Técnicas de Clasificación Supervisada DRA. LETICIA FLORES PULIDO 2 Objetivo El objetivo principal de las técnicas de clasificación supervisada es obtener un modelo clasificatorio válido para permitir tratar

Más detalles

GLOSARIO ESTADÍSTICO. Fuente: Murray R. Spiegel, Estadística, McGraw Hill.

GLOSARIO ESTADÍSTICO. Fuente: Murray R. Spiegel, Estadística, McGraw Hill. GLOSARIO ESTADÍSTICO Fuente: Murray R. Spiegel, Estadística, McGraw Hill. CONCEPTOS Y DEFINICIONES ESPECIALES Es el estudio científico de los métodos para recoger, organizar, resumir y analizar los datos

Más detalles

4.1 CONGRUENCIA ENTRE LOS OBJETIVOS DEL PLAN DE ESTUDIOS Y EL PERFIL DE EGRESO CON LAS LGAC:

4.1 CONGRUENCIA ENTRE LOS OBJETIVOS DEL PLAN DE ESTUDIOS Y EL PERFIL DE EGRESO CON LAS LGAC: 4.1 CONGRUENCIA ENTRE LOS OBJETIVOS DEL PLAN DE ESTUDIOS Y EL PERFIL DE EGRESO CON LAS LGAC: A continuación se muestran los objetivos así como los mapas funcionales según la línea de acentuación y la línea

Más detalles

Jesús Eduardo Pulido Guatire, marzo Diagrama de Dispersión y Correlación Lineal Simple

Jesús Eduardo Pulido Guatire, marzo Diagrama de Dispersión y Correlación Lineal Simple Jesús Eduardo Pulido Guatire, marzo 0 Diagrama de Dispersión y Correlación Lineal Simple Hasta el momento el trabajo lo hemos centrado en resumir las características de una variable mediante la organización

Más detalles

DEPARTAMENTO DE MATEMÁTICAS. IES GALLICUM

DEPARTAMENTO DE MATEMÁTICAS. IES GALLICUM UNIDAD I: NÚMEROS (6 Horas) 1.- Repasar el cálculo con números racionales y potencias de exponente entero. 2.- Resolver problemas de la vida cotidiana en los que intervengan los números racionales. 1.-

Más detalles

Tema 8. Análisis de dos variables Ejercicios resueltos 1

Tema 8. Análisis de dos variables Ejercicios resueltos 1 Tema 8. Análisis de dos variables Ejercicios resueltos 1 Ejercicio resuelto 8.1 La siguiente tabla muestra la distribución del gasto mensual en libros y el gasto mensual en audiovisual en euros en los

Más detalles

Teoría de la decisión

Teoría de la decisión 1.- Un problema estadístico típico es reflejar la relación entre dos variables, a partir de una serie de Observaciones: Por ejemplo: * peso adulto altura / peso adulto k*altura * relación de la circunferencia

Más detalles

ADMINISTRACION DE OPERACIONES

ADMINISTRACION DE OPERACIONES Sesión4: Métodos cuantitativos ADMINISTRACION DE OPERACIONES Objetivo específico 1: El alumno conocerá y aplicara adecuadamente los métodos de pronóstico de la demanda para planear la actividad futura

Más detalles

Gestión de la tabla de calificaciones:

Gestión de la tabla de calificaciones: Gestión de la tabla de calificaciones Gestión de la tabla de calificaciones: Vista Configuración Autor Aula Virtual URJC online 1 Tabla de contenidos La tabla de calificaciones... 3 Pestaña Vista... 3

Más detalles

Criterios de evaluación 3º de ESO. Matemáticas Orientadas a las Enseñanzas Aplicadas

Criterios de evaluación 3º de ESO. Matemáticas Orientadas a las Enseñanzas Aplicadas CONCRECCIÓN de los CRITERIOS de EVALUACIÓN MATEMÁTICAS APLICADAS º ESO Teniendo en cuenta los criterios de evaluación correspondientes a esta materia, se realizan a continuación una concreción de dichos

Más detalles

5. Cuáles son las actividades primarias de la producción de software

5. Cuáles son las actividades primarias de la producción de software 1. La clasificación de los recursos humanos son dos: - Personal con experiencia - Personal nuevo sin experiencia (novatos) 2. Cual son las ventajas y desventajas sobre esta clasificación Las ventajas es

Más detalles

13. Utilizar la fórmula del término general y de la suma de n términos consecutivos

13. Utilizar la fórmula del término general y de la suma de n términos consecutivos Contenidos mínimos 3º ESO. 1. Contenidos. Bloque I: Aritmética y álgebra. 1. Utilizar las reglas de jerarquía de paréntesis y operaciones, para efectuar cálculos con números racionales, expresados en forma

Más detalles

ANEXO 1. CONCEPTOS BÁSICOS. Este anexo contiene información que complementa el entendimiento de la tesis presentada.

ANEXO 1. CONCEPTOS BÁSICOS. Este anexo contiene información que complementa el entendimiento de la tesis presentada. ANEXO 1. CONCEPTOS BÁSICOS Este anexo contiene información que complementa el entendimiento de la tesis presentada. Aquí se exponen técnicas de cálculo que son utilizados en los procedimientos de los modelos

Más detalles

Aprendizaje Automatizado

Aprendizaje Automatizado Aprendizaje Automatizado Aprendizaje Automatizado Programas que mejoran su comportamiento con la experiencia. Dos formas de adquirir experiencia: A partir de ejemplos suministrados por un usuario (un conjunto

Más detalles

1. La Distribución Normal

1. La Distribución Normal 1. La Distribución Normal Los espacios muestrales continuos y las variables aleatorias continuas se presentan siempre que se manejan cantidades que se miden en una escala continua; por ejemplo, cuando

Más detalles

Análisis de Presupuestos, Herramientas de Análisis Y Si

Análisis de Presupuestos, Herramientas de Análisis Y Si Análisis de Presupuestos, Herramientas de Análisis Y Si http://www.infop.hn Autor:Swamy Matute Análisis de Presupuestos, Herramientas de Análisis Y Si Objetivos de la Unidad Al finalizar la presente unidad

Más detalles

RECOMENDADOR DE USUARIOS EN UNA PLATAFORMA COLABORATIVA EN BASE A SU PERFIL Y REPUTACIÓN

RECOMENDADOR DE USUARIOS EN UNA PLATAFORMA COLABORATIVA EN BASE A SU PERFIL Y REPUTACIÓN RECOMENDADOR DE USUARIOS EN UNA PLATAFORMA COLABORATIVA EN BASE A SU PERFIL Y REPUTACIÓN Dra. Silvana Aciar Instituto de Informática UNSJ Día Virtual sobre Sistemas Colaborativos Octubre 2013 1 Indice

Más detalles

UNIVERSIDAD AUTONOMA DEL ESTADO DE MEXICO ESCUELA PREPARATORIA TEXCOCO

UNIVERSIDAD AUTONOMA DEL ESTADO DE MEXICO ESCUELA PREPARATORIA TEXCOCO UNIVERSIDAD AUTONOMA DEL ESTADO DE MEXICO ESCUELA PREPARATORIA TEXCOCO MEDIDAS DE TENDENCIA CENTRAL Y DE DISPERSIÓN PARA DATOS NO AGRUPADOS MATERIAL DIDACTICO SOLO VISION ASIGNATURA QUE CORRESPONDE: ESTADISTICA

Más detalles

Construcción de Gráficas en forma manual y con programados

Construcción de Gráficas en forma manual y con programados Universidad de Puerto Rico en Aguadilla División de Educación Continua y Estudios Profesionales Proyecto CeCiMaT Segunda Generación Tercer Año Título II-B, Mathematics and Science Partnerships Construcción

Más detalles

TEMA 1: SISTEMAS MODELADOS POR ECUACIONES DIFERENCIALES EN INGENIERÍA QUÍMICA. CLASIFICACIÓN. GENERALIDADES.

TEMA 1: SISTEMAS MODELADOS POR ECUACIONES DIFERENCIALES EN INGENIERÍA QUÍMICA. CLASIFICACIÓN. GENERALIDADES. TEMA 1: SISTEMAS MODELADOS POR ECUACIONES DIFERENCIALES EN INGENIERÍA QUÍMICA. CLASIFICACIÓN. GENERALIDADES. 1. INTRODUCCIÓN. PLANTEAMIENTO DE PROBLEMAS EN INGENIERÍA QUÍMICA 2. PROBLEMAS EXPRESADOS MEDIANTE

Más detalles

INTRODUCCIÓN AL ANÁLISIS DE DATOS ORIENTACIONES (TEMA Nº 7)

INTRODUCCIÓN AL ANÁLISIS DE DATOS ORIENTACIONES (TEMA Nº 7) TEMA Nº 7 DISTRIBUCIONES CONTINUAS DE PROBABILIDAD OBJETIVOS DE APRENDIZAJE: Conocer las características de la distribución normal como distribución de probabilidad de una variable y la aproximación de

Más detalles

Criterio: Relación entre Clasificaciones de Riesgo de Corto y Largo Plazo

Criterio: Relación entre Clasificaciones de Riesgo de Corto y Largo Plazo Corto y Largo Plazo El siguiente criterio de clasificación expone la lógica de por qué ICR utiliza escalas diferentes para clasificar obligaciones de corto y largo plazo, además de indicar las similitudes

Más detalles

Agro 6998 Conferencia 2. Introducción a los modelos estadísticos mixtos

Agro 6998 Conferencia 2. Introducción a los modelos estadísticos mixtos Agro 6998 Conferencia Introducción a los modelos estadísticos mixtos Los modelos estadísticos permiten modelar la respuesta de un estudio experimental u observacional en función de factores (tratamientos,

Más detalles

MEDIDAS DE TENDENCIA CENTRAL

MEDIDAS DE TENDENCIA CENTRAL MEDIDAS DE TENDENCIA CENTRAL Al describir grupos de observaciones, con frecuencia es conveniente resumir la información con un solo número. Este número que, para tal fin, suele situarse hacia el centro

Más detalles

Utilización de Funciones en OpenOffice.org Calc

Utilización de Funciones en OpenOffice.org Calc Utilización de Funciones en OpenOffice.org Calc Una función es un conjunto de instrucciones reunidas bajo un nombre que calculan un resultado o llevan a cabo una acción específica. Las funciones pueden

Más detalles

PROGRAMACION DE REDES. MODELOS DE TRANSPORTE

PROGRAMACION DE REDES. MODELOS DE TRANSPORTE PROGRAMACION DE REDES. MODELOS DE TRANSPORTE El modelo de transporte o modelo de distribución es un ejemplo de un problema de optimización de redes. Se aplican para resolver ciertos tipos de problemas

Más detalles

Tipos de gráficos disponibles

Tipos de gráficos disponibles Tipos de gráficos disponibles Microsoft Office Excel admite muchos tipos de gráficos para ayudarle a mostrar datos de forma comprensible para su audiencia. Cuando crea un gráfico o cambia el tipo de uno

Más detalles

Las escalas de equivalencia en la medición de la pobreza Síntesis de tesis de Maestría en Estadística, UCR. Nancy Pérez Valverde

Las escalas de equivalencia en la medición de la pobreza Síntesis de tesis de Maestría en Estadística, UCR. Nancy Pérez Valverde Las escalas de equivalencia en la medición de la pobreza Síntesis de tesis de Maestría en Estadística, UCR Nancy Pérez Valverde Actualmente en Costa Rica, para delimitar los hogares pobres, el Instituto

Más detalles

ESTADÍSTICA SEMANA 2

ESTADÍSTICA SEMANA 2 ESTADÍSTICA SEMANA 2 ÍNDICE CUADROS DE DISTRIBUCIÓN DE FRECUENCIAS Y REPRESENTACIÓN GRÁFICA... 3 APRENDIZAJES ESPERADOS... 3 INTRODUCCIÓN... 3 REPRESENTACIÓN GRÁFICA... 3 MÉTODOS GRÁFICOS:... 3 DIAGRAMAS

Más detalles

Diseño de Experimentos

Diseño de Experimentos Diseño de Experimentos p. Diseño de Experimentos Isabel Casas Despacho: 10.0.04 mcasas@est-econ.uc3m.es Hector Cañada jcanada@est-econ.uc3m.es Introducción Los modelos que vamos a estudiar son usados para

Más detalles

Ideas básicas del diseño experimental

Ideas básicas del diseño experimental Ideas básicas del diseño experimental Capítulo 4 de Analysis of Messy Data. Milliken y Johnson (1992) Diseño de experimentos p. 1/23 Ideas básicas del diseño experimental Antes de llevar a cabo un experimento,

Más detalles

Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute.

Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute. Los problemas que se plantean en la vida diaria suelen ser resueltos mediante el uso de la capacidad intelectual y la habilidad manual del ser humano. La utilización de la computadora en la resolución

Más detalles

4º E.S.O Opción A: DEPARTAMENTO DE MATEMÁTICAS

4º E.S.O Opción A: DEPARTAMENTO DE MATEMÁTICAS 4º E.S.O Opción A: DEPARTAMENTO DE MATEMÁTICAS OBJETIVOS 1. Conocer, diferenciar y operar con cualquier número en cualquiera de sus formatos usando las aproximaciones adecuadas. 2. Conocer la importancia

Más detalles

Micro y Macroeconomía

Micro y Macroeconomía Micro y Macroeconomía 1 Sesión No. 6 Nombre: Teoría del consumidor Contextualización: La microeconomía como herramienta de análisis nos permite el poder comprender el comportamiento de las personas en

Más detalles

METODOLOGÍAS PARA EL DESARROLLO DE SISTEMAS

METODOLOGÍAS PARA EL DESARROLLO DE SISTEMAS !387" APÉNDICE A, APARTADO 1 METODOLOGÍAS PARA EL DESARROLLO DE SISTEMAS DOCUMENTACIÓN 1. La necesidad de los diagramas Los diagramas o representaciones gráficas representan una parte fundamental en el

Más detalles

Análisis Numérico para Ingeniería. Clase Nro. 3

Análisis Numérico para Ingeniería. Clase Nro. 3 Análisis Numérico para Ingeniería Clase Nro. 3 Ecuaciones Diferenciales Ordinarias Introducción Problemas de Valores Iniciales Método de la Serie de Taylor Método de Euler Simple Método de Euler Modificado

Más detalles

ESTADISTICA. Tradicionalmente la aplicación del término estadística se ha utilizado en tres ámbitos:

ESTADISTICA. Tradicionalmente la aplicación del término estadística se ha utilizado en tres ámbitos: ESTADISTICA Tradicionalmente la aplicación del término estadística se ha utilizado en tres ámbitos: a) Estadística como enumeración de datos. b) Estadística como descripción, es decir, a través de un análisis

Más detalles

2 OBJETIVOS TERMINALES: Al finalizar el curso el estudiante estará en capacidad de:

2 OBJETIVOS TERMINALES: Al finalizar el curso el estudiante estará en capacidad de: MATERIA: Ecuaciones Diferenciales CÓDIGO: 08278 REQUISITOS: Cálculo en Varias Variables (08275) PROGRAMAS: Ingeniería Industrial, Ingeniería Telemática, Química PERIODO ACADÉMICO: 2016-2 INTENSIDAD SEMANAL:

Más detalles

Andres Felipe Rojas / Nancy Gelvez. UNESCO UNIR ICT & Education Latam Congress 2016

Andres Felipe Rojas / Nancy Gelvez. UNESCO UNIR ICT & Education Latam Congress 2016 Distributed processing using cosine similarity for mapping Big Data in Hadoop (Procesamiento distribuido usando similitud de coseno para mapear Big Data en Haddop) Andres Felipe Rojas / Nancy Gelvez UNESCO

Más detalles

TEMA II DISTRIBUCION DE FRECUENCIA

TEMA II DISTRIBUCION DE FRECUENCIA TEMA II DISTRIBUCION DE FRECUENCIA 1. Cuestiones preliminares sobre Distribución de Frecuencia.. Distribución de frecuencia cuando la variable es discreta. 3. Distribución de frecuencia agrupada cuando

Más detalles

1: INTRODUCCIÓN AL USO DE LA HOJA DE CALCULO EXCEL COMO HERRAMIENTA PARA DESARROLLAR PROBLEMAS EN INGENIERÍA. SOLVER, REGRESION LINEAL MULTIPLE

1: INTRODUCCIÓN AL USO DE LA HOJA DE CALCULO EXCEL COMO HERRAMIENTA PARA DESARROLLAR PROBLEMAS EN INGENIERÍA. SOLVER, REGRESION LINEAL MULTIPLE Practica 1: INTRODUCCIÓN AL USO DE LA HOJA DE CALCULO EXCEL COMO HERRAMIENTA PARA DESARROLLAR PROBLEMAS EN INGENIERÍA. SOLVER, REGRESION LINEAL MULTIPLE I. INTRODUCCION Las planillas de cálculo se han

Más detalles

2 OBJETIVOS TERMINALES Como resultado de aprender adecuadamente los contenidos del curso el estudiante estará en capacidad de:

2 OBJETIVOS TERMINALES Como resultado de aprender adecuadamente los contenidos del curso el estudiante estará en capacidad de: MATERIA: Matemáticas para el diseño CÓDIGO: 08287 REQUISITOS: Algebra y funciones (08272) PROGRAMAS: Diseño Industrial, Diseño de Medios Interactivos. PERÍODO ACADÉMICO: 2016-2 INTENSIDAD SEMANAL: 4 Horas

Más detalles

4º E.S.O. Matemáticas A

4º E.S.O. Matemáticas A 4º E.S.O. Matemáticas A Objetivos 1. Incorporar, al lenguaje y formas habituales de argumentación, las distintas formas de expresión matemática (numérica, algebraica, de funciones, geométrica...), con

Más detalles

La Evaluación Financiera de Proyectos de Informática

La Evaluación Financiera de Proyectos de Informática La Evaluación Financiera de Proyectos de Informática Cómo clasificar costos y beneficios? Cuáles son los costos y beneficios típicos de un proyecto de informática? Qué técnica es apropiada para evaluar

Más detalles

Matemática. Desafío. GUÍA DE EJERCITACIÓN AVANZADA Cálculo de medidas de dispersión y muestreo GUICEN041MT22-A16V1

Matemática. Desafío. GUÍA DE EJERCITACIÓN AVANZADA Cálculo de medidas de dispersión y muestreo GUICEN041MT22-A16V1 GUÍA DE EJERCITACIÓN AVANZADA Cálculo de medidas de dispersión y muestreo Desafío Una población estadística está compuesta de cuatro números enteros consecutivos, siendo n el menor de ellos. La desviación

Más detalles

FICHA TÉCNICA DE ESTIMACIÓN FBKF TRIMESTRAL POR SECTORES INSTITUCIONALES Año base de referencia 1997

FICHA TÉCNICA DE ESTIMACIÓN FBKF TRIMESTRAL POR SECTORES INSTITUCIONALES Año base de referencia 1997 1 de 7 I.- Presentación: El Banco Central de Venezuela (BCV), en la búsqueda de fortalecer y ampliar la disponibilidad del conjunto de indicadores del país, ofrece al público para su análisis y seguimiento,

Más detalles

CRITERIOS DE SELECCIÓN DE MODELOS

CRITERIOS DE SELECCIÓN DE MODELOS Inteligencia artificial y reconocimiento de patrones CRITERIOS DE SELECCIÓN DE MODELOS 1 Criterios para elegir un modelo Dos decisiones fundamentales: El tipo de modelo (árboles de decisión, redes neuronales,

Más detalles

CAPITULO III METODOLOGÍA

CAPITULO III METODOLOGÍA CAPITULO III METODOLOGÍA 3.1 Tipo de investigación El tipo de investigación a utilizar es la investigativa experimental ya que se realizará una intervención en el campo mismo donde se presenta el problema,

Más detalles

Diseño y simulación de un algoritmo basado en lógica difusa para el despacho de ascensores en un edificio

Diseño y simulación de un algoritmo basado en lógica difusa para el despacho de ascensores en un edificio Diseño y simulación de un algoritmo basado en lógica difusa para el despacho de ascensores en un edificio PROYECTO FIN DE CARRERA Ingeniería de Telecomunicación Autor: Guillermo Iglesias García Director:

Más detalles

Conceptos de Estadística

Conceptos de Estadística Conceptos de Estadística Se llama estadística al conjunto de procedimientos destinados a recopilar, procesar y analizar la información que se obtiene con una muestra para inferir las características o

Más detalles

Capítulo 8. Análisis Discriminante

Capítulo 8. Análisis Discriminante Capítulo 8 Análisis Discriminante Técnica de clasificación donde el objetivo es obtener una función capaz de clasificar a un nuevo individuo a partir del conocimiento de los valores de ciertas variables

Más detalles

GLOSARIO DE TÉRMINOS

GLOSARIO DE TÉRMINOS Apéndice A, Apartado 3: Glosario de términos!401" APÉNDICE A, APARTADO 3 GLOSARIO DE S Administración de la calidad Conjunto de actividades de la función general de administración que determina la política

Más detalles

Una aplicación a los motores de recomendación. Febrero de Factorización no negativa de matrices. Carlos J.

Una aplicación a los motores de recomendación. Febrero de Factorización no negativa de matrices. Carlos J. Factorización aplicación a los motores de recomendación Bellosta cgb@.com Febrero de 2015 Son así nuestros súper súper clientes? Fuente: Rich and Famous http://rf.ro Datos diádicos (?) T 1 T 2... T m C

Más detalles

PENDIENTES DE MATEMÁTICAS DE 3º ESO (CURSO )

PENDIENTES DE MATEMÁTICAS DE 3º ESO (CURSO ) PENDIENTES DE MATEMÁTICAS DE 3º ESO (CURSO 2015-2016) CRITERIOS E INDICADORES Se detallan a continuación los criterios de evaluación junto con sus indicadores de contenidos asociados. Criterio 1: Identificar

Más detalles

UML (Lenguaje de Modelado Unificado) y Diagramas de Casos de Uso

UML (Lenguaje de Modelado Unificado) y Diagramas de Casos de Uso UML (Lenguaje de Modelado Unificado) y Diagramas de Casos de Uso Los sistemas orientados a objetos describen las entidades como objetos. Los objetos son parte de un concepto general denominado clases.

Más detalles

Este documento enumera los diferentes tipos de Diagramas Matriciales y su proceso de construcción.

Este documento enumera los diferentes tipos de Diagramas Matriciales y su proceso de construcción. DIAGRAMA MATRICIAL 1.- INTRODUCCIÓN Este documento enumera los diferentes tipos de Diagramas Matriciales y su proceso de construcción. Muestra su potencial, como herramienta indispensable para la planificación

Más detalles

White paper Un método para hacer corresponder entre candidatos y un puesto de trabajo Posiciones basadas en un modelado predictivo Presentado por:

White paper Un método para hacer corresponder entre candidatos y un puesto de trabajo Posiciones basadas en un modelado predictivo Presentado por: White paper Un método para hacer corresponder entre candidatos y un puesto de trabajo Posiciones basadas en un modelado predictivo Presentado por: Introducción Si pregunta a dos directores de recursos

Más detalles

4.3. COMPETENCIA MATEMÁTICA

4.3. COMPETENCIA MATEMÁTICA 4.3. COMPETENCIA MATEMÁTICA 4.3.1. Distribución del alumnado por niveles de competencia A continuación presentamos la distribución de las alumnas y los alumnos por niveles en la Competencia matemática

Más detalles

TEMARIOS EXAMEN DE ADMISIÓN 2017 EDUCACIÓN BÁSICA Y MEDIA: MATEMÁTICA. Contenido

TEMARIOS EXAMEN DE ADMISIÓN 2017 EDUCACIÓN BÁSICA Y MEDIA: MATEMÁTICA. Contenido TEMARIOS EXAMEN DE ADMISIÓN 2017 1 Básico 1.- Reconocimiento izquierda derecha 2.- Figuras geométricas 3.- Cuerpos geométricos 4.- Establecer patrones 5.- Secuencias temporales 6.- ordinales 7.- Reconocimiento

Más detalles

Proyecto PropULSA: Estadística y Probabilidad Breviario Académico

Proyecto PropULSA:  Estadística y Probabilidad Breviario Académico Estadística y Probabilidad Breviario Académico Estadística: Es la ciencia que tiene por objetivo recolectar, escribir e interpretar datos, con la finalidad de efectuar una adecuada toma de decisiones en

Más detalles

Análisis de imágenes digitales

Análisis de imágenes digitales Análisis de imágenes digitales SEGMENTACIÓN DE LA IMAGEN Segmentación basada en texturas INTRODUCCIÓN La textura provee información sobre la distribución espacio-local del color o niveles de intensidades

Más detalles

PLANES CURRICULARES GRADO9º/ 01 PERIODO

PLANES CURRICULARES GRADO9º/ 01 PERIODO PLANES CURRICULARES GRADO9º/ 01 PERIODO Grado: 9º Periodo: 01 PRIMERO Aprobado por: G. Watson - Jefe Sección Asignatura: MATEMATICAS Profesor: Gloria rueda y Jesús Vargas ESTANDARES P.A.I. I.B. A. Conocimiento

Más detalles

FLORIDA Secundaria. 1º BACH MATEMÁTICAS CCSS -1- BLOQUE ESTADÍSTICA: ESTADÍSTICA VARIABLE UNIDIMENSIONAL. Estadística variable unidimensional

FLORIDA Secundaria. 1º BACH MATEMÁTICAS CCSS -1- BLOQUE ESTADÍSTICA: ESTADÍSTICA VARIABLE UNIDIMENSIONAL. Estadística variable unidimensional FLORIDA Secundaria. 1º BACH MATEMÁTICAS CCSS -1- Estadística variable unidimensional 1. Conceptos de Estadística 2. Distribución de frecuencias 2.1. Tablas de valores con variables continuas 3. Parámetros

Más detalles

CORRELACIÓN Y REGRESIÓN. Raúl David Katz

CORRELACIÓN Y REGRESIÓN. Raúl David Katz CORRELACIÓN Y REGRESIÓN Raúl David Katz 1 Correlación y regresión Introducción Hasta ahora hemos visto el modo de representar la distribución de frecuencias de los datos correspondientes a una variable

Más detalles

MODELOS DE PRONÓSTICO CIMAT-MTY

MODELOS DE PRONÓSTICO CIMAT-MTY PRONÓSTICOS CIMAT-MTY La unidad CIMAT-MTY desarrolla modelos de pronósticos que son útiles en la anticipación de distintas variables económicas que puedan resultar de interés. En este escrito pueden encontrarse

Más detalles

INFORME TAREA N 4 CLUSTERING

INFORME TAREA N 4 CLUSTERING Universidad de Chile Facultad de Ciencias Físicas y Matemáticas Departamento de Ingeniería Eléctrica EL4106 Inteligencia Computacional INFORME TAREA N 4 CLUSTERING Nombre Alumno : Profesor : Profesor Auxiliar

Más detalles

3.1. Administración de la medición y de la información estratégica:

3.1. Administración de la medición y de la información estratégica: Unidad III Aspectos Generales Sobre la Gestión de la Calidad 3.1. Administración de la medición y de la información estratégica: Los siguientes criterios corresponden a la administración de la medición

Más detalles

Gestión por Competencias

Gestión por Competencias MANUAL DE USUARIO Gestión por Competencias 1 INDICE Nº CONTENIDO PAGINA 1 Introducción 3 2 INTRODUCCION La gestión por competencias es una herramienta muy útil para administrar y enfocar mejor el Recurso

Más detalles

Colegio Decroly Americano Matemática 7th Core, Contenidos I Período

Colegio Decroly Americano Matemática 7th Core, Contenidos I Período Matemática 7th Core, 2015-2016 Contenidos I Período 1. Sentido Numérico a. Identificar y escribir patrones. b. Escribir números en forma de exponentes. c. Escribir cantidades en notación científica. d.

Más detalles

Curso de Estadística Unidad de Medidas Descriptivas. Lección 1: Medidas de Tendencia Central para Datos Crudos

Curso de Estadística Unidad de Medidas Descriptivas. Lección 1: Medidas de Tendencia Central para Datos Crudos 1 Curso de Estadística Unidad de Medidas Descriptivas Lección 1: Medidas de Tendencia Central para Datos Crudos Creado por: Dra. Noemí L. Ruiz Limardo, EdD 010 Derechos de Autor Objetivos 1. Definir las

Más detalles

Tema I Testing Estructurado

Tema I Testing Estructurado Tema I Testing Estructurado 4ta Parte Verificación y Validación de Software UNS Contenido Testing de Unidad: Caja Negra Grafos Causa Efecto Clases de Equivalencia Valores Límite Verificación y Validación

Más detalles

Algebra de Boole: Teoremas

Algebra de Boole: Teoremas Teorema 1: A + A = A Teorema 2: A A = A Teorema 3: A + 0 = A Teorema 4: A 1 = A Teorema 5: A 0 = 0 Teorema 6: A + 1 = 1 Teorema 7: (A + B) = A B Teorema 8: (A B) = A + B Teorema 9: A + A B = A Teorema

Más detalles

Computación Aplicada. Universidad de Las Américas. Aula virtual de Computación Aplicada. Módulo de Excel 2013 LIBRO 11

Computación Aplicada. Universidad de Las Américas. Aula virtual de Computación Aplicada. Módulo de Excel 2013 LIBRO 11 Computación Aplicada Universidad de Las Américas Aula virtual de Computación Aplicada Módulo de Excel 2013 LIBRO 11 Contenido INFORME DE TABLA DINÁMICA... 3 CREAR UN INFORME DE TABLA DINÁMICA... 3 PERSONALIZAR

Más detalles

FUNCIONES BÁSICAS DE LA GERENCIA DE PROYECTOS

FUNCIONES BÁSICAS DE LA GERENCIA DE PROYECTOS FUNCIONES BÁSICAS DE LA GERENCIA DE PROYECTOS CONTENIDO FUNCIONES BÁSICAS DE LA GERENCIA DE PROYECTOS Integración Alcance Tiempo Costo Calidad Recursos humanos Comunicaciones Manejo de riesgos Procura

Más detalles

PLAN DE TRABAJO 9 Período 3/09/07 al 28/09/07

PLAN DE TRABAJO 9 Período 3/09/07 al 28/09/07 PLAN DE TRABAJO 9 Período 3/09/07 al 28/09/07 TEMAS A ESTUDIAR En esta guía nos dedicaremos a estudiar el tema de Estimación por intervalo y comenzaremos a estudiar las pruebas de hipótesis paramétricas.

Más detalles

CLASIFICACIÓN PRUEBAS PSICOMÉTRICAS

CLASIFICACIÓN PRUEBAS PSICOMÉTRICAS CLASIFICACIÓN PRUEBAS PSICOMÉTRICAS CARACTERÍSTICAS DE LOS TEST Es el proceso que ha sido necesario realizar para la normalización de una prueba; es decir que ésta ha sido probada en una población

Más detalles

MODELO IBEROAMERICANO DE EXCELENCIA EN LA GESTION

MODELO IBEROAMERICANO DE EXCELENCIA EN LA GESTION MODELO IBEROAMERICANO DE EXCELENCIA EN LA GESTION - 2005 ANEXO I. METODO DE EVALUACION Fundación Iberoamericana para la Gestión de la Calidad No. M-82584 FUNDACION INBEROAMERICANA PARA LA GESTION DE LA

Más detalles

CRITERIOS DE EVALUACIÓN Y CALIFICACIÓN EN BACHILLERATO

CRITERIOS DE EVALUACIÓN Y CALIFICACIÓN EN BACHILLERATO CRITERIOS DE EVALUACIÓN Y CALIFICACIÓN EN BACHILLERATO CRITERIOS DE EVALUACIÓN DE MATEMÁTICAS APLICADAS A LAS C SOCIALES I 1 Utilizar los números reales para presentar e intercambiar información, controlando

Más detalles

Gestión de los Riesgos del Proyecto

Gestión de los Riesgos del Proyecto Áreas del conocimiento para la AP III Gestión de los Riesgos del Proyecto Basado en los estándares del PMI Ing. Fausto Fernández Martínez, MSc, MAP San José, Costa Rica - 2013 Realizar el Análisis Cualitativo

Más detalles

METODOLOGÍA DE MUESTREO PARA REPORTE DE TENDENCIAS 4o BÁSICO Y 2o MEDIO SIMCE 2010

METODOLOGÍA DE MUESTREO PARA REPORTE DE TENDENCIAS 4o BÁSICO Y 2o MEDIO SIMCE 2010 METODOLOGÍA DE MUESTREO PARA REPORTE DE TENDENCIAS 4o BÁSICO Y 2o MEDIO SIMCE 2010 SIMCE Unidad de Currículum y Evaluación Ministerio de Educación 2011 Índice 1. Antecedentes Generales 1 2. Metodología

Más detalles

Escribir programas a partir de un diagrama de flujo

Escribir programas a partir de un diagrama de flujo Escribir programas a partir de un diagrama de flujo por Iván Cruz En esta lectura se revisará una estrategia específica para lograr implementar un programa computacional a partir de un diagrama de flujo,

Más detalles

AYUDANTÍA 2: RIESGO EN PROYECTOS

AYUDANTÍA 2: RIESGO EN PROYECTOS AYUDANTÍA 2: RIESGO EN PROYECTOS ICC2302 INGENIERÍA DE CONSTRUCCIÓN 1 2008 TEMARIO Estimación de Costos de Proyectos Estimación Preliminar Estimación Conceptual Estimación Detallada Estimación Definitiva

Más detalles

BASES DE DATOS TEMA 2 MODELOS DE DATOS

BASES DE DATOS TEMA 2 MODELOS DE DATOS SES DE DTOS TEM 2 MODELOS DE DTOS Un modelo de datos es una serie de conceptos que puede utilizarse para describir un conjunto de datos y las operaciones para manipularlos. Hay dos tipos de modelos de

Más detalles

MÉTODO SINGAPUR. Para la enseñanza de Matemáticas

MÉTODO SINGAPUR. Para la enseñanza de Matemáticas MÉTODO SINGAPUR Para la enseñanza de Matemáticas ÍNDICE Introducción El marco del currículo Conceptos Habilidades Procesos Metacognición Actitudes Más Información INTRODUCCIÓN El método Singapur es una

Más detalles

ESTADÍSTICA DESCRIPTIVA

ESTADÍSTICA DESCRIPTIVA ESTADÍSTICA DESCRIPTIVA Medidas de tendencia central y de dispersión Giorgina Piani Zuleika Ferre 1. Tendencia Central Son un conjunto de medidas estadísticas que determinan un único valor que define el

Más detalles

Unidad IV: Distribuciones muestrales

Unidad IV: Distribuciones muestrales Unidad IV: Distribuciones muestrales 4.1 Función de probabilidad En teoría de la probabilidad, una función de probabilidad (también denominada función de masa de probabilidad) es una función que asocia

Más detalles

Método de cuadrados mínimos

Método de cuadrados mínimos REGRESIÓN LINEAL Gran parte del pronóstico estadístico del tiempo está basado en el procedimiento conocido como regresión lineal. Regresión lineal simple (RLS) Describe la relación lineal entre dos variables,

Más detalles

1 Introducción. 2 Modelo. Hipótesis del modelo MODELO DE REGRESIÓN LOGÍSTICA

1 Introducción. 2 Modelo. Hipótesis del modelo MODELO DE REGRESIÓN LOGÍSTICA MODELO DE REGRESIÓN LOGÍSTICA Introducción A grandes rasgos, el objetivo de la regresión logística se puede describir de la siguiente forma: Supongamos que los individuos de una población pueden clasificarse

Más detalles

Tema 1.- Correlación Lineal

Tema 1.- Correlación Lineal Tema 1.- Correlación Lineal 3.1.1. Definición El término correlación literalmente significa relación mutua; de este modo, el análisis de correlación mide e indica el grado en el que los valores de una

Más detalles

Programación Estructurada

Programación Estructurada Programación Estructurada PROGRAMACIÓN ESTRUCTURADA 1 Sesión No. 7 Nombre: Estructuras de datos Contextualización Cuando un programa suele ser muy extenso, un problema clásico de los programadores es la

Más detalles

4. Regresión Lineal Simple

4. Regresión Lineal Simple 1 4. Regresión Lineal Simple Introducción Una vez conociendo las medidas que se utilizan para expresar la fuerza y la dirección de la relación lineal entre dos variables, se tienen elementos base para

Más detalles

RECOPILACIÓN DE LA INFORMACIÓN

RECOPILACIÓN DE LA INFORMACIÓN RECOPILACIÓN DE LA INFORMACIÓN CONCEPTOS DE ESTADÍSTICA Y SU CLASIFICACIÓN ESTADÍSTICA. Es la ciencia que estudia los medios para derivar información válida a partir de un conjunto de datos. Es decir,

Más detalles

Tema 1 Magnitudes físicas y actividad científica

Tema 1 Magnitudes físicas y actividad científica Tema 1 Magnitudes físicas y actividad científica Guía de Actividades Cada tema tendrá una serie de actividades que representan los distintos tipos de actividades que podrás encontrar en los exámenes. Estas

Más detalles

Dr. Richard Mercado Rivera 18 de agosto de 2012 Matemática Elemental

Dr. Richard Mercado Rivera 18 de agosto de 2012 Matemática Elemental Universidad de Puerto Rico Recinto de Aguadilla Programa CeCiMat Elemental Definición de conceptos fundamentales de la Estadística y la Probabilidad y su aportación al mundo moderno Dr. Richard Mercado

Más detalles

Charlas para la gestión del Mantenimiento Fernando Espinosa Fuentes

Charlas para la gestión del Mantenimiento Fernando Espinosa Fuentes Charlas para la gestión del Mantenimiento Fernando Espinosa Fuentes En las últimas dos décadas se han realizado importantes avances en el desarrollo de nuevas estrategias de mantenimiento. El progreso

Más detalles

CONTENIDOS MÍNIMOS MATEMÁTICAS 2º Y 4º E.S.O.

CONTENIDOS MÍNIMOS MATEMÁTICAS 2º Y 4º E.S.O. CONTENIDOS MÍNIMOS MATEMÁTICAS 2º Y 4º E.S.O. Matemáticas 2º E.S.O. a) Contenidos comunes. Utilizar estrategias y técnicas sencillas en la resolución de problemas. b) Números. Conocer los conceptos de

Más detalles