Que los estudiantes representen datos como matrices y operen con ellas; comprendan la descomposición espectral y la SVD como herramientas de compresión, proyección y recomendación; y adquieran, simultáneamente, la base de programación en Python sobre Google Colab que sostiene toda la Diplomatura.
Cinco unidades
Unidad 1Python y el entorno de trabajo6 h
- Google Colab: notebooks, celdas, entorno de ejecución, archivos y persistencia; convenciones de trabajo de la Diplomatura.
- Python esencial: tipos, estructuras de datos, control de flujo, funciones, comprensiones.
- NumPy: arreglos, forma y dimensiones, indexado, difusión (broadcasting), vectorización frente a bucles.
- pandas: Series y DataFrame, lectura de archivos, selección, filtrado, agrupamiento y combinación de tablas.
- Visualización con matplotlib y seaborn: gráficos básicos y criterios de legibilidad.
- Buenas prácticas: nombres, funciones reutilizables, documentación del notebook.
Dónde se usaTodos los módulos, sin excepción.
Unidad 2Vectores, matrices y datos5 h
- El dato como vector y la tabla como matriz; espacio de variables y espacio de observaciones.
- Operaciones: suma, producto por escalar, producto matricial, transposición e inversa; costo computacional.
- Producto interno, ortogonalidad, proyección: la geometría detrás de la regresión de M2 y M5.
- Normas L1, L2 e infinito; distancias derivadas y su rol en M6.
- Independencia lineal, rango, espacio columna y espacio nulo, leídos como redundancia de variables.
- Sistemas de ecuaciones lineales; solución por mínimos cuadrados cuando el sistema es incompatible.
Dónde se usaM2 y M5 (regresión), M4 (optimización), M7 (propagación en redes).
Unidad 3Autovalores, autovectores y descomposición espectral5 h
- Transformaciones lineales y su efecto geométrico; autovalores y autovectores como direcciones invariantes.
- Matrices simétricas y definidas positivas; descomposición espectral y su lectura sobre la matriz de covarianza.
- Diagonalización y potencias de una matriz; cadenas de Markov y estado estacionario como aplicación.
- Condicionamiento de una matriz y estabilidad numérica; por qué importa al ajustar modelos.
- Cálculo numérico de autovalores con NumPy/SciPy: no se calculan a mano.
Dónde se usaM4 (Laplaciano y teoría espectral), M6 (PCA y clustering espectral).
Unidad 4Descomposición en valores singulares y sus aplicaciones5 h
- SVD: enunciado, interpretación geométrica y relación con la descomposición espectral.
- Aproximación de rango bajo y teorema de Eckart-Young leído como compresión de información.
- SVD y PCA: por qué son la misma herramienta; varianza explicada y elección del número de componentes.
- Aplicaciones: compresión de imágenes, reducción de ruido, sistemas de recomendación por factorización de matrices, indexación semántica latente en texto.
- SVD truncada y métodos aleatorizados para matrices grandes.
Dónde se usaM6 (PCA, reducción de dimensionalidad, NMF), M5 (preprocesamiento), proyecto integrador.
Unidad 5Grafos y su representación matricial4 h
- Grafo dirigido y no dirigido, ponderado; el grafo como estructura de datos relacionales.
- Matrices de adyacencia, de incidencia y de grados; caminos y conectividad leídos sobre las potencias de la adyacencia.
- Construcción de un grafo de similitud a partir de una tabla de datos: la operación que habilita M6.
- Primera aproximación al análisis de redes con NetworkX: grados, componentes, centralidad.
- Anticipo del Laplaciano, que se desarrolla en M4.
Dónde se usaM4 (teoría espectral de grafos), M6 (clustering espectral), proyecto integrador con datos relacionales.
Evaluación
Dos entregas breves: (i) ejercicios de programación y manipulación de datos con NumPy y pandas; (ii) un trabajo aplicado de SVD —compresión o recomendación— con informe de resultados en el notebook. No hay examen de demostraciones.
Datos de trabajo
Conjunto de imágenes para la SVD, matriz de calificaciones de un sistema de recomendación de acceso público, conjunto tabular transversal y una red real de tamaño moderado.
Bibliografía
- VanderPlas, J. (2016). Python Data Science Handbook, caps. 2 y 3 (acceso libre).
- Deisenroth, M. P., Faisal, A. A. y Ong, C. S. (2020). Mathematics for Machine Learning, caps. 2 a 4 (acceso libre).
- Strang, G. (2019). Linear Algebra and Learning from Data.
- Documentación de NumPy, pandas y NetworkX.