Está en la página 1de 94

Machine Learning in Graphs

Prof. Peter Montalvo Garcia


Agenda
• Datos como grafos
• Ciclo de vida de un proyecto de ML y CRISP-DM
• Principales problemas de datos y performance de modelos de ML
• Grafos en análisis
• Grafos en ML
• Graph Data Engineering
• Operaciones básicas en Cypher
• MATCH, WHERE
• Otros casos…
Nota
• Esta sesión está basada en el siguiente libro:

Graph-Powered Machine
Learning. Alessandro Negro.
Manning Editorial. 1st Edition.
Capítulos 1, 2 y 3
Motivación
• Imaginemos que tenemos que programar un detector de correo
SPAM

Detector
Motivación
• Una solución de programación pura sería escribir un programa para
memorizar todos los correos electrónicos etiquetados como spam por
un usuario humano

Detector
Motivación
• Cuando llega un nuevo correo electrónico, el pseudoagente buscará una
coincidencia similar en los correos electrónicos no deseados anteriores y, si
encuentra alguna coincidencia, el nuevo correo se redirigirá a la papelera.
De lo contrario, el correo electrónico pasará intacto por el filtro.

Detector
Motivación
• Como desarrollador: "¿Por qué debo escribir un programa que
aprenda a programarse solo, cuando puedo indicarle a la
computadora que lleve a cabo la tarea en cuestión?"

Detector
Motivación
1. Un desarrollador no puede anticipar todas las situaciones posibles.
Por ejemplo, nuevas palabras.

Detector
Programado
Motivación
2. Un desarrollador no puede anticipar todos los cambios a lo largo del
tiempo.

Detector
Programado
Motivación
3. A veces, un desarrollador no puede escribir un programa para
realizar la tarea.

Detector
Programado
¿Qué preguntas deberíamos hacernos al
implementar ML en una solución?

• ¿La tarea específica es demasiado compleja para ser programada?

• ¿Requiere la tarea algún tipo de adaptabilidad a lo largo de su vida?


Importancia de los datos

• Un aspecto crucial de cualquier tarea de aprendizaje automático son


los datos de entrenamiento sobre los que se construye el
conocimiento.

• Partir de datos incorrectos conduce a resultados incorrectos,


independientemente del rendimiento potencial o la calidad del
algoritmo de aprendizaje utilizado.
Datos como grafos

• Abordar el proceso de aprendizaje automático desde dos lados: el


algoritmo de aprendizaje y los datos.

• En ambas perspectivas, se utiliza el grafo como un valioso modelo


mental y tecnológico.
Datos como grafos

• Los grafos son un modelo de almacenamiento valioso para


representar el conocimiento desde la entrada del proceso,
administrar los datos de entrenamiento y almacenar la salida del
modelo predictivo, brindando múltiples formas de acceder a él
rápidamente.
Datos como grafos

• Los grafos no son una panacea para todos los proyectos de


aprendizaje automático.
• En el análisis de flujo, en el que es necesario procesar un flujo de
datos para revelar anomalías a corto plazo, el almacenamiento de
datos en forma de grafos podría ser inútil.
• Además, otros algoritmos requieren datos en un formato que no cabe
en un grafo, ya sea durante el entrenamiento o para el
almacenamiento y acceso al modelo.
Ciclo de vida de un proyecto de ML
• La entrega de soluciones de aprendizaje automático es un proceso
complejo que requiere más que seleccionar los algoritmos correctos.
1. Selección de las fuentes de datos
2. Recopilación de datos
3. Entender los datos
4. Limpieza y transformación de los datos
5. Procesar los datos para crear modelos ML Evaluar los
resultados
6. Despliegue
Modelo CRISP-DM

• Uno de los procesos más comúnmente utilizados para proyectos de


minería de datos es el Proceso Estándar Intersectorial para la Minería
de Datos (Cross- Industry Standard Process for Data Mining), o CRISP-
DM [Wirth and Hipp, 2000].

• Aunque el modelo CRISP-DM fue diseñado para minería de datos,


también se puede aplicar a proyectos genéricos de aprendizaje
automático.
Fases del modelo CRISP-DM
Business Understanding

• La primera fase requiere


definir los objetivos del
proyecto de aprendizaje
automático.

• Estos objetivos a menudo


se expresan en términos
generales: aumentar los
ingresos, mejorar la
experiencia del cliente,
obtener resultados de
búsqueda mejores y
personalizados, vender
más productos, etc.
Data Understanding
Comienza preguntándose
sobre las fuentes de datos y
recopilando algunos datos de
cada una de ellas, y continúa
con estas actividades:

• Familiarizarse con los datos.


• Identificar problemas de
calidad de datos.
• Obtención de los primeros
conocimientos sobre los
datos.
• Detectar subconjuntos
interesantes para formular
hipótesis sobre información
oculta.
Data Understanding
Los outcomes de esta fase son:

• Una comprensión clara de las


fuentes de datos disponibles
• Una comprensión clara de
los diferentes tipos de datos
y su contenido (o al menos
de todas las partes
significativas de los objetivos
de ML)
• Un diseño de arquitectura
para obtener o extraer estos
datos e introducirlos en los
siguientes pasos del flujo de
trabajo de aprendizaje
automático
Data Understanding
Esta fase cubre todas las
actividades para
recopilar datos de
múltiples fuentes y
organizarlos en el tipo
específico de estructura
requerida por el
algoritmo en la fase de
modelado.
Modeling
La fase de modelado es
donde ocurre el
aprendizaje automático.
Se seleccionan y aplican
diferentes algoritmos, y
sus parámetros se
calibran a valores
óptimos.
Modeling
Los resultados de esta
fase son
• El conjunto de
algoritmos a probar en
la siguiente fase
• Los modelos
predictivos
Evaluation
Antes de que se pueda
implementar un modelo,
es importante evaluarlo
minuciosamente y revisar
los pasos ejecutados para
construir el modelo, de
modo que se pueda estar
seguro de que se logra
correctamente los
objetivos comerciales
definidos al comienzo del
proceso.
Evaluation
Los outcomes de esta fase
son:
• Uno o varios informes
con los resultados de los
modelos de predicción
• Los propios modelos
predictivos, utilizados
para predecir y apoyar-
tomar decisiones
• Una infraestructura para
proporcionar un
conjunto específico de
servicios a los usuarios
finales
Importancia de datos
Cada minuto del
día en 2020
Principales problemas de datos:
Cantidad insuficiente de datos Mala calidad de los datos
los modelos de ML requieren Las fuentes de datos siempre
una gran cantidad de datos de están llenas de errores, valores
entrenamiento para funcionar atípicos y ruido. Es difícil para
correctamente. muchos algoritmos descartar
valores erróneos y luego detectar
patrones.
Principales problemas de datos:
Datos no representativos Características irrelevantes
El aprendizaje automático es un El algoritmo aprenderá de la
proceso de inducción: el modelo manera correcta si los datos
hace inferencias a partir de lo
que ha observado. contienen un buen conjunto de
Si los datos de entrenamiento características relevantes y no
son demasiado ruidosos, el demasiadas características
modelo puede generar sesgos o irrelevantes.
sobreajustar los datos de
entrenamiento y no podrá
generalizar a todos los casos
posibles.
Performance de modelos de ML
Predictive accuracy Training performance
Se puede evaluar utilizando Se refiere al tiempo necesario para
diferentes medidas de calcular el modelo. La cantidad de
rendimiento. Una medida de datos a procesar y el tipo de
rendimiento típica para los algoritmo utilizado determinan el
problemas de regresión es el tiempo de procesamiento y el
almacenamiento necesarios para
error cuadrático medio calcular el modelo de predicción.
(RMSE), que mide la Claramente, este problema afecta
desviación estándar de los más a los algoritmos que producen
errores que comete el sistema un modelo como resultado de la
en sus predicciones. fase de entrenamiento
Performance de modelos de ML
Prediction performance
Se refiere al tiempo de respuesta requerido para
proporcionar predicciones. El resultado del proyecto de
aprendizaje automático podría ser un informe único estático
para ayudar a los gerentes a tomar decisiones estratégicas o
un servicio en línea para los usuarios finales.
Grafos en análisis
Grafos en análisis

http://www.thenetworkthinkers.com
Grafos en análisis
• Los datos de la
figura representan
la lista de los
principales libros
políticos comprados
en los Estados
Unidos en 2008

• Dos libros están


vinculados si a
menudo fueron
comprados por el
mismo cliente.
Grafos en análisis
Hay tres grupos
diferentes y que no se
superponen:
• Un grupo de libros de
Obama en la esquina
superior izquierda
• Un grupo demócrata
(azul) en el medio
• Un grupo republicano
(rojo) en la esquina
inferior derecha
Grafos en análisis
Cuatro años más tarde,
en 2012, el mismo
análisis produjo una
red que parecía ser
sustancialmente
diferente.
Grafos en análisis
Esta red muestra una
gran cantidad de libros
que actúan como
puentes entre clústeres.
Además, los votantes
potenciales parecen
estar leyendo libros
sobre los dos principales
candidatos. El resultado
es una red más compleja
que no tiene clústeres
aislados.
Grafos en análisis: Homofilia
Una de las nociones más básicas que rigen la estructura de las redes
sociales es la de homofilia (del griego, que significa amor por lo
mismo): los enlaces en una red social tienden a conectar a personas
que son similares.
Más formalmente, si dos personas tienen características que
coinciden en una proporción mayor a la esperada en la población de
la que provienen o en la red de la que forman parte, es más probable
que estén conectadas [Verbrugge, 1977].
Grafos en análisis: Homofilia
• Comprender tales fuerzas permite predecir cómo evolucionará la red
con el tiempo y permite que los científicos de datos reaccionen de
manera proactiva ante dichos cambios o los utilicen para fines
comerciales específicos.
• Los hallazgos en disciplinas sociológicas y psicológicas apuntan a la
relevancia de la red social de una persona para determinar sus gustos,
preferencias y actividades.
Grafos en análisis: Homofilia
• Esta información es útil para construir motores de recomendación.
Uno de los problemas relacionados con los motores de
recomendación es el problema del arranque en frío: no puedes
predecir nada para un nuevo usuario porque no tienes historial para
ellos.
• Las redes sociales y el principio de homofilia se pueden utilizar para
hacer una recomendación basada en los gustos de los usuarios
conectados.
Grafos en ML
• Muchas empresas de todos los tamaños están utilizando este
enfoque para proporcionar funciones de aprendizaje automático más
avanzadas a sus clientes.
• Un ejemplo destacado es Google, que utiliza el aprendizaje
automático basado en gráficos como el núcleo de su plataforma
Expander. Esta tecnología está detrás de muchos de los productos y
funciones de Google que puede usar todos los días, como los
recordatorios en su bandeja de entrada de Gmail o el último sistema
de reconocimiento de imágenes en Google Photos.

https://ai.googleblog.com/2016/10/graph-powered-machine-learning-at-google.html
Grafos en ML
Grafos en ML
Grafos en ML

Los grafos permiten que el


sistema de aprendizaje explore
más de sus datos, acceda a
ellos más rápido y los limpie y
enriquezca fácilmente.

Los sistemas de aprendizaje


tradicionales se entrenan en
una sola tabla preparada por el
investigador, mientras que un
sistema nativo de grafos puede
acceder a más de esa tabla.
Grafos en ML
Conected Sources of Truth

Los grafos permiten fusionar


varias fuentes de datos en un
solo conjunto de datos
uniforme y conectado, listo
para la fase de entrenamiento.
Esta función representa una
gran ventaja al reducir la
escasez de datos, aumentar la
cantidad de datos disponibles y
simplificar la gestión de datos.
Grafos en ML
Fast Data Access

Las tablas proporcionan un


único patrón de acceso
relacionado con los filtros de
filas y columnas.

Los grafos, por otro lado,


proporcionan múltiples puntos
de acceso al mismo conjunto de
datos. Esta función mejora el
rendimiento al reducir la
cantidad de datos a los que se
accede al mínimo de referencia
para el conjunto específico de
necesidades.
Grafos en ML
Feature Selection

La identificación de
características relevantes en un
conjunto de datos es clave en
varias tareas de aprendizaje
automático, como la
clasificación.

Al proporcionar un acceso
rápido a los datos y múltiples
patrones de consulta, los
gráficos aceleran la
identificación y extracción de
características.
Grafos en ML
Operaciones básicas en Cypher
• Todos los nodos
MATCH (n) RETURN n
Nodos con label
Nodos
relacionados
sin dirección
- todos los
nodos
Nodos
relacionados
sin dirección
- todos los
nodos
Match con etiquetas
Match con
etiquetas
Dirección de
la relación
cualquier
nodo
Relación
como
variable
Relación
como
variable
MATCH con tipo de relación
Múltiples realaciones
Role
de la
Relación
Multiples
relaciones
con
multiples
direcciones
Where String
Where number
Where
number
Is not null
Starts with
Ends with
Contains
Comparadores
Comparadores
Comparadores
Comparadores
Comparadores
Actividad Grupal
• Las peliculas que se publicaron después de 1990 y empiecen con 'The'

• Peliculas que empiecen con una u otro prefijo

• Peliculas que NO empiecen con una u otro prefijo


Comparadores
Distinct
Regex
Regex
Order by
Los datos null van al final
Saltar resultados con Skip
SKIP y LIMIT acepta cualquier expresión que
de un entero
Actividad Grupal
• Las peliculas que tienen un review menor a 50 y su fecha de
publicación.

• Las personas que hicieron un review, cuyo nombre lleva un ‘t’ y la


relación que tengan con otras personas.
Función contar
Función contar
Min y Max
AVG, SUM y Rating
AVG, SUM y Rating
Contar propiedades
ToLower y ToUpper
Replace
Función ceil
Actividad Grupal
• Realizar 3 consultas que empleen el uso de expresiones regulares y
explicarlas en clase.

• Contar el número de relaciones DIRECTED vs ACTED_IN.

• Cuántos actores fueron también directores.

También podría gustarte