Programa

Requisitos:

Nociones de optimización y un computador con acceso a Google Colab o Jupyter Notebook

Clase 1: Métodos de splitting – preámbulos.

En esta clase, vamos a definir lo que es un método de splitting para problemas de optimización. Usando como base un problema de aprendizaje de máquinas supervisado, vamos a ilustrar la utilidad de los métodos de splitting. Además, vamos a introducir dos algoritmos que son la base para la mayoría de los métodos de splitting para problemas de optimización: el método del gradiente y el método del punto proximal.

Clase 2: Métodos de splitting – algoritmos e implementación.

En esta clase, vamos a analizar dos los métodos de splitting más usados, el método de gradiente proximal y el método de multiplicadores en direcciones alternas (ADMM). Además, vamos a comparar numéricamente (en Python) el desempeño de ambos algoritmos, resolviendo un problema de mínimos cuadrados regularizado en el caso convexo y en el caso no convexo.