Programa Detallado de la UAM:
Seminarios de actualidad en Big Data
- Aspectos generales sobre Big Data.
- ¿Qué es el Big Data?.
- El Big Data en la empresa.
- Las tecnologías Big Data.
- Casos reales.
- Seminarios de actualidad sobre Big Data
Fundamentos: sistemas y arquitecturas
- Sistema Operativo Linux.
- Conceptos generales de Linux.
- Comandos, variables de entorno, scripts.
- Control y planificación de procesos.
- Sistemas de almacenamiento y sistemas de ficheros.
- Administración básica de Linux.
- Redes de comunicación.
- Componentes y tipos de redes.
Conceptos básicos: Direccionamiento IP, máscara de red, puerta de enlace, servidor de nombres (DNS), direccionamiento dinámico DHCP.
- Configuración de una red TCP/IP en Linux.
- Acceso remoto a equipos y ficheros: ssh, ftp.
- Conceptos básicos de seguridad: Claves pública y privada, VPN.
- Máquinas Virtuales.
- Concepto de virtualización.
- Tipos de virtualización de plataforma.
- Instalación y gestión de una Máquina Virtual.
- Creación de máquinas virtuales con Vagrant.
- Infraestructura como Servicio (IaaS): máquinas virtuales bajo demanda y con capacidades actualizables en tiempo real.
Cluster de ordenadores.
- Multicomputador.
- Clusters de ordenadores.
- Construir, desplegar y gestionar un cluster.
- Planificación y balanceo de tareas.
- Tipos de Cluster y aplicaciones: HPC, Hadoop.
Fundamentos: lenguajes
- Introducción a python.
- Instalación.
- Intérpretes: python, ipyhton, notebooks.
- Diferencias entre 2.7 y 3.0.
- Tipos básicos: cadenas, listas, diccionarios, tuplas, etc.
- Funciones, funciones lambda e imports.
- Sentencias de control e iteración.
- Loops e ifs.
- Algunas formas de utilizar programación funcional: map, reduce.
Entrada y salida de ficheros. - Programación orientada a objetos en python.
- Librerías: numpy, matplotlib, pandas, etc.
- R
- Introducción a R
- Objetos y atributos en R
- Vectores
- Arrays
- Listas
- Data frames
- Lecturas de ficheros
- Funciones y sentencias de control
- Gráficas
- Depuración y medición de tiempos
- Notebooks
Bases de datos NoSQL
- Introducción a las bases de datos NoSQL.
- ¿Qué son?Tipos de BBDD NoSQL
- Ventajas y desventajas
Base de Datos MongoDB
- Introducción.
- Organización de los datos.
- Manejo básico de los datos.
- Métodos básicos de agregación.
- MapReduce.
- Aggregation Framework.
- Uso de índices
Base de Datos Cloudant
- Introducción
- Desarrollo con Cloudant
- Cloudant Query
Base de Datos Cassandra
- Introducción
- Cassandra Query Language
Base de datos Neo4j
- Introducción.
- Lenguaje de consulta Cypher.
- Fundamentos de proyectos Big Data.
- Metodología Agil para el desarrollo de software.
- Ciclo de vida del dato.
Proyecto Apache Hadoop
HDFS
- Modelo de Programación MapReduce
- Desarrollo de aplicaciones (Pig, Jaql, Scala, Python)
- Programación básica en Java con Hadoop
- Introducción programación básica en Python con Hadoop
- Programación desde lenguajes de alto nivel (Pig, Jaql)
- Programación con R en entorno hadoop (BigR)
Estadística
1: Introducción
- ¿Qué es la estadística?
- Modelo estadístico
- Método estadístico
- Algunas herramientas de análisis de datos mediante estadística
2: Descripción de los datos
- Descripción de una variable
- Descripción multivariante
3: Modelos en estadística
- Probabilidad y variables aleatorias
- Modelos univariantes de distribución de probabilidad
- Modelos multivariantes de distribución de probabilidad
4: Inferencia Estadística
- Estimación puntual
- Estimación por intervalos
- Estimación bayesiana
- Contraste de hipótesis
Fundamentos de análisis de datos
Introducción al aprendizaje automático
- Tipos de aprendizaje automático, conceptos básicos, tipos de atributos.
- Flujo de un proyecto de aprendizaje automático.
- Validación de modelos: tasas de error, matriz de confusión, curvas ROC y validación cruzada.
- Regresión lineal, regresión logística.
- Vecinos próximos en clasificación y regresión.
- Sesgo y varianza. Maldición de la dimensionalidad.
Preprocesado de datos
- Construcción de la base de datos; tratamiento de múltiples fuentes.
- Preparación y auditoría de la base de datos.
- Distribución de las variables.
- Reducción de la dimensionalidad.
- Información no estructurada; casos prácticos.
Aprendizaje automático
- Redes neuronales.
- Clasificación y regresión con máquinas de vectores soporte.
- Conjuntos de clasificadores y árboles de decisión.
- Clustering.
Ecosistema Spark
- Fundamentos de Spark
- Introducción: arquitectura y organización
- Datos en Spark: Resilient Distributed Datasets (RDDs)
- Flujo de un programa spark
- Entrada y salida de datos
- Transformaciones
- Persistencia
- Acciones
- Variables compartidas: broadcast y acumuladores
- Tuning en Spark
- Particionado y paralelización
- Niveles de almacenamiento
- Serialización
- Gestión de memoria
- Configuraciones hardware
- Spark SQL
- Introducción a DataFrames
- Fuentes de datos: Hive, JDBC/ODBC, etc.
- Rendimiento
- Consultas distribuidas
- MLlib
- Algoritmos de clasificación
- Algoritmos de regresión
- Creación de pipelines de aprendizaje automático
- Tests de hipótesis
- Sistemas de recomendación (ALS)
- Reglas asociativas
- Spark Streaming
- Concepto: Discretized Streams (DStreams)
- Entrada y salida
- Operaciones con DStreams
- Mantenimiento de estado. Ventanas
- Tolerancia a fallos. Checkpoints. Ajustes
- GraphX
- Operadores sobre grafo
- Pregel
- RDDs de vértice y de arista
- Algoritmos de grafos
Explotación y visualización
- Introducción, importancia de la visualización
- Visualización gráfica eficiente
- Terminología
- Finalidad de la visualización gráfica
- Alcance
- Campos relacionados
- Herramientas de visualización
- IBM Cognos
- Pentaho
- Gephi
- ManyEyes
- Watson Analytics
- Principales tipos de diagramas
- Visualización de patrones
- Visualización de relaciones y diferencias entre patrones
- Patrones temporales
- Información espacial y geográfica
- Otros tipos
Ecosistema de soporte a proyectos Big Data
- Aprovisionamiento
- Ecosistema Hadoop (Sqoop, Flume)
- Otros ecosistemas: Apache Kafka
- Persistencia
- Hive
- Hbase
- Avro
- Análisis
- Análisis de datos estático en entorno Hadoop
- Análisis de datos en tiempo real
- Explotación
- SolR
- BigSQL
Infraestructura para Big Data
- Arquitecturas para tratar grandes volúmenes de información
- Arquitecturas de referencia para Hadoop
- Instalación y configuración de un cluster Hadoop
- Uso de herramientas de planificación y gestión.
- Hadoop BigInsights
- Supervisión y mantenimiento de un cluster Hadoop
- Estado de HDFS y copia de datos
- Añadir y quitar nodos
- Balanceo del cluster
- Impacto de la red de comunicación en un cluster Big Data.
- Copias de seguridad
- Evaluación de prestaciones y optimización en un caso práctico
- Benchmarking y tuneado de parámetros
- Caso práctico: procesamiento Big Data de datos de red
- Infraestructura para otros entornos Big Data: Ecosistema Spark
- Arquitectura de un sistema Spark. Estructura interna y flujos de datos
- Modos de ejecución en Spark: local vs cluster. Ámbitos y contextos: driver, ejecutores.
- Gestión de memoria
- Modos de ejecución en cluster. Comunicación entre nodos.
- Ciclo de vida de un programa Spark
- Configuración
- Ejecución de tareas: spark-submit (dependencias, etc), REPL (spark-shell, pyspark),
- notebooks
- Acceso a datos: E/S (local, HDFS, etc).
- Interfaces de monitorización y análisis: Spark UI, Spark Máster, Spark History Server
- Virtualización de infraestructura
- Infraestructura local vs Cloud
- Infraestructura como Servicio (IaaS)
- Cloud privado: Propuestas Openstack y OpenNebula
- Cloud público: Propuestas de IBM Softlayer, Amazon EC2, Rackspace, Google Cloud y
- Microsoft Azure
- Cloud público vs Cloud privado
- Prácticas: Despliegues Cloud privado
- Prácticas: Monitorizando en el Cloud público
- Prácticas: Comparativa de rendimiento en el Cloud
- Virtualización basada en contenedores
- Diseño de aplicaciones en contenedores
- Gestión de imágenes y versiones
- Orquestación y Comunicación
- Seguridad
- Plataformas como servicio (PaaS): Bluemix
- Concepto de Plataforma como Servicio
- Utilidades y nuevos modelos de consumo de servicios
- La plataforma Bluemix
- Ejercicios prácticos con Bluemix.
- Seguridad, privacidad y aspectos legales y éticos
- Tecnologías criptográficas para la protección de la privacidad
- Fundamentos criptográficos de la protección de la información
- Problema de la gestión de la identidad digital mediante certificados digitales: el estándar X.509
- Definición de los conceptos de trazabilidad, enlazado, anonimato y pseudo-anonimato:
- firmas grupales
- Navegación anónima: introducción a las redes de mezcla de tráfico, onion routing y ofuscación de tráfico
- Caracterización estadística de la privacidad
- Fundamentos del marco BLT (Business Legal Technical framework)
- Técnicas para comparación de señales
- Introducción al tratamiento de imagen y vídeo
- Representación y codificación
- Operaciones básicas
- Segmentación en regiones
Indexación, búsqueda y análisis en repositorios multimedia
- Multimedia (imagen, video)
- Extracción de características en señales visuales: descriptores en imagen y vídeo
- Descriptores globales: color, puntos de interés
- Descriptores a nivel de región segmentada: color, puntos de interés, textura, forma.
- Descriptores de movimiento: movimiento global, trayectorias
- Aplicaciones en imágenes I: búsqueda global por color y puntos de interés
- Aplicaciones en imágenes II: búsqueda en imágenes segmentadas
- Aplicaciones en vídeo
- Multimedia (audio)
- Extracción de características en señal de voz: detección de voz, tono fundamental, espectro y envolvente espectral, espectrogramas
- Extracción de características en señal musical: detección de notas musicales simultáneas (multipitch), ritmo, armonía, cromagramas, detección de música, localización de fragmentos musicales.
- Aplicaciones en voz I: reconocimiento de voz y detección de palabras clave.
- Aplicaciones en voz II: detección de hablante, detección de idioma, reconocimiento de emociones
- Aplicaciones sobre audio broadcast: segmentación y separación de hablantes y eventos acústicos, búsquedas, indexación y búsquedas sobre audio.
- Análisis de textos
- Análisis de caracteres: frecuencia, complejidad de compresión
- Análisis de tokens: tokenización, n-gramas, stop-words
- Análisis léxico: lexemas, categorías gramaticales, reglas generativas
- Análisis sintáctico: árboles de parsing, gramáticas formales y probabilísticas
- Análisis semántico: ontologías, wordnet, embeddings semánticos
- Aplicaciones del análisis de texto
- Aplicaciones de análisis
- Business Analytics
- Introducción
- Soluciones de data science para problemas de negocio
- Evaluación de modelos para negocio
- Visualización del rendimiento de modelos
- Ingeniería analítica
- Evaluación de propuestas
- Finanzas
- Series temporales en finanzas
- Simulación en finanzas
- Riesgos en finanzas
- Biomedicina y genómica
- Introducción al Big Data en Biomedicina
- Diversidad e integración de información biomédica
- Disponibilidad y acceso a bases de datos biomédicas
- Herramientas básicas de tratamiento masivo de datos para el diagnóstico y prevención de enfermedades.
- Dispositivos móviles y big-data biomédico
- Genómica
- Introducción a la genómica y el Big Data
- Algoritmos para el análisis de datos NGS
- Análisis de expresión diferencial en datos de NGS
- Herramientas
- Impacto social: análisis de redes sociales
- Los medios sociales como fuente de datos.
- Introducción al social mining
- Minería de redes sociales y de opiniones
- Métricas
- Herramientas
- Casos de estudio:
- Cómo medir la concienciación de los lectores.
- Grupos de conversación en Twitter: Análisis políticos.
- Social Mining: Analizando los datos de las redes sociales.
- Conceptos básicos sobre grafos.
- Métricas para análisis de grafos o redes.
- Detección de topics en los textos.
- Análisis de sentimiento.
- Visualización de datos (información de redes, geoespacial y textual)
- Análisis de comunidades.
- Algoritmos de búsquedas de comunidades.
- Métricas de evaluación de comunidades.
- Casos prácticos de detección de comunidades.
- Casos prácticos sobre Twitter
- Extracción y pre-procesado de datos.
- Almacenamiento de datos en BD no relacionales (MongoDB).
- Filtrado, ordenación y agrupamientos de documentos (tweets).
- Generar y analizar grafos de retweets, favoritos, amistad…
- Analizando y visualizando los datos de Twitter.
- Impacto social: computación cognitiva
- Bases de la Computación Cognitiva. IBM Watson.
- Estrategia de Soluciones Cognitivas de IBM.
- Infraestructura para Soluciones Cognitivas.
- Servicios cognitivos a través de IBM Bluemix.
- Smarter cities
- Introducción: Por qué Smarter Cities
- Plataformas, arquitecturas y estándares en Smarter Cities
- La conexión con Internet of Things: plataformas y arquitecturas
- La potencia de Open Data en Smarter Cities
- Integración de Data Streams
- Modelos de Big Data y Big Analytics en SmarterCities
- Provisión de Servicios Digitales. El ecosistema: API Management,
- SmarterCities/IoT
- PaaS
- Gobernanza de Sistemas de Smarter Cities
- Modelado de ciudades: indicadores
- Trabajo Fin de Máster
- A lo largo del curso cada alumno trabajará en el desarrollo de un trabajo práctico en algún campo relacionado con “Data Science” o Big Data.
- La evaluación del Trabajo Fin de Máster se basará en una memoria explicativa del trabajo desarrollado y una presentación oral que se realizará en la primera quincena de julio de 2020.