Université Lyon 1
Arqus
Accueil  >>  Optimisation et machine learning
  • Unité d'enseignement : Optimisation et machine learning
Nombre de crédits de l'UE : 6
Code APOGEE : MAT2551M
    Responsabilité de l'UE :
MASNOU SIMON
 simon.masnouuniv-lyon1.fr
    Type d'enseignement
Nb heures *
Cours Magistraux (CM)
36 h

* Ces horaires sont donnés à titre indicatif.

    Compétences attestées (transversales, spécifiques) :
Non rédigé
    Programme de l'UE / Thématiques abordées :
1/Introduction
* Inventaire de quelques problèmes concrets  d’optimisation (Ridge, LASSO, SVM, régression logistique, réseaux de neurones, problèmes inverses, EDP): expression sous forme de minimisation et exemple de fonction coût.


2/Généralités convexe
* Etude de quelques algorithmes (descente de gradient, méthodes de 1er et 2nd ordre)
* Méthodes proximales
* Dualité Lagrange et Fenchel
* Formulation primal/duale
* Contraintes KKT
* Convergence
* Forte convexité et taux de convergence
* TP1 : Minimisation d’un problème différentiable (EDP / Problème inverse avec pénalisation hyperbolique) : méthode de gradient, backtracking, Newton, BFGS
* TP2 : Minimisation d’un problème non-différentiable (détection de changement avec passage dans le dual puis gradient-proximal ou Douglas-Rachford, logistique sparse pour classification)


3/Généralités non-convexe
* Méthodes de gradient, méthodes de minimisation alternée (Gauss-Seidel, PAM, PALM)
* TP : logistique sparse avec pénalisation non convexe / Factorisation de matrice non-négative


4/Mise en pratique
* Algèbre linéaire : calcul de valeurs propres et vecteurs propres;  méthodes de la puissance, puissance inverse, inversion de système linéaire, méthodes directes, méthodes directes par factorisation (LU, QR), méthodes itératives classiques (Jacobi, Gauss-Seidel et de relaxation)
* Préconditionnement,  résolution des grands systèmes linéaires creux, techniques de stockage creux. Résolution des grands systèmes linéaires creux. Résolution des grands systèmes linéaires creux, techniques de stockages creux. Résolution de systèmes non-linéaires creux.
* TP: méthode de la puissance pour calculer constante de Lipschitz dans descente de gradient proximal,  inversion matricielle et mise en œuvre sur un exemple de régression sparse.


5/ Optimisation et simulations stochastique
* Descente de gradient/forward-backward stochastique (principaux résultats de convergence et taux de convergence), Adam, Adagrad,…. et notions importantes (learning rate, batch, dropout, …)
* Algo EM,  Gibbs, Metropolis Hastings, prox MALA.
* TP1 : régression ridge et sparse avec gradient  et gradient proximal stochastiques. Comparaison gradient et gradient proximal non stochastiques. Afficher taux de convergence.
* TP2 : Détection de changement avec MCMC puis prox MALA sur le dual.


6/ Deep learning
* Différentiation automatique, dérivation en chaîne, backpropagation, architectures des réseaux profonds, algorithmes déroulés (forward-backward déroulé, LISTA), lien entre opérateur proximal et fonctions d'activations
* TP1 :  Différentiation automatique, introduction à Pytorch (Exemple pour automatiser la différentiation automatique sur une fonction quelconque puis la même chose en quelques lignes avec PyTorch (accumulation, autograd)
* TP2 : construction d’un réseau de neurones pour la classification MNIST et/ou résolution ODE avec Pytorch (construction réseaux de neurones (feed forward) : couche affine et non-affine et pourquoi elles sont alternées puis optimisation avec comparaison des différents algos)
    Parcours / Spécialité / Filière / Option utilisant cette UE :
SELECT MEN_ID, `MEN_DIP_ABREVIATION`, `MEN_TITLE`, `PAR_TITLE`, `PAR_ID` FROM parcours INNER JOIN ue_parcours ON PAR_ID_FK=PAR_ID INNER JOIN mention ON MEN_ID = PAR_MENTION_FK WHERE PAR_ACTIVATE = 0 AND UE_ID_FK='25313' ORDER BY `MEN_DIP_ABREVIATION`, `MEN_TITLE`, `PAR_TITLE`