Tarea 1

I. Regresión lineal y regularización.

Para el ejemplo de regresión disponible en el enlace, determine mediante el lasso la importancia de las variables. Debe usar una implementación propia del lasso y comparar lo obtenido con la librería sklearn. Incluya los detalles necesarios para implementar esta solución para el problema de regresión lineal.

II. Causal discovery con el modelo VAR.

Considere el modelo VAR \[\boldsymbol{x}(t) = \sum_{j=1}^p \boldsymbol{A}_j \boldsymbol{x}(t-j) + \boldsymbol{\epsilon}(t)\] donde \(\boldsymbol{x}(t)\) es un vector de 10 elementos (10 nodos).

  1. Modifique la función var_datos.py para generar una red de 10 nodos con algunos de estos nodos conectados entre sí. Puede seleccionar conexiones al azar o dejarlas fijas en el código.
  2. Determine las conexiones entre nodos/variables usando el criterio de mínimos cuadrados con y sin regularización \(\ell_1\) (lasso) y \(\ell_2\) (ridge). Evalúe métricas de desempeño en la determinación del conjunto de conexiones.
  3. Muestre empíricamente el efecto de la regularización.

II. Red neuronal Feedforward.

En este ejercicio se busca resolver un problema de clasificación utilizando la base de datos MNIST disponible en Kaggle. La base de datos la puede descargar en el siguiente enlace, donde encontrará la función read_mnist.py que puede usar para leer los datos.

  1. Explique el algoritmo backpropagation para una red neuronal feedforward en el problema de clasificación. En su explicación deben estar presentes todas las expresiones matemáticas necesarias para implementar el entrenamiento de esta red.
  2. Resuelva el problema de clasificación de dígitos usando una implementación propia de la red neuronal feedforward.
  3. Evalúe el desempeño del modelo variando diferentes hiperparámetros, tales como la tasa de aprendizaje, el número de capas y la cantidad de neuronas por capa, etc. Emplee la estrategia cross-validation y monitoree el proceso de entrenamiento utilizando conjuntos de datos de entrenamiento, validación y prueba. Seleccione el mejor modelo obtenido y justifique el criterio empleado para dicha selección.

Instrucciones para la entrega.

  • En la fecha correspondiente debe entregar un jupyter notebook con la solución de los ejercicios propuestos.
  • El archivo debe tener nombre con la estructura apellido_nombre_tarea1.ipynb.
  • Para la conformación de la ruta de los datos asuma que, en el mismo directorio donde estará su solución de la tarea, estará también el directorio mnist descomprimido.
  • Las funciones auxiliares entregadas debe incluirlas en su solución.
  • No respetar estas instrucciones significarán una penalización en su nota de 10 puntos.