News
- 2021-11-09 le cours du 17/11 est reporté au 15/11, même heure, même salle
- 2021-11-05 Les consignes pour les projets sont disponibles.
Infos pratiques
- Quoi « Apprentissage Automatique » 4L9TL07P
- Où Salle 219, bâtiment Paul Ricœur
- Quand 8 séances, les mercredi de 9:30 à 12:30, du 22/09 au 17/11
- Contact Loïc Grobol loic.grobol@parisnanterre.fr
- Évaluation Un TP noté en temps limité (date à déterminer) et un projet (voir les consignes)
Séances
Tous les supports sont sur github, voir
Utilisation en local pour les utiliser sur votre machine comme des
notebooks. À défaut, ce sont des fichiers Markdown assez standards, qui devraient se visualiser
correctement sur la plupart des plateformes (mais ne seront pas dynamiques).
Les slides et les notebooks ci-dessous ont tous des liens Binder pour une utilisation interactive
sans rien installer. Les slides ont aussi des liens vers une version HTML statique utile si Binder
est indisponible.
2021-09-22 — Introduction et crash course Python
Slides
Exos
Corrections
2021-09-29 — Un peu de théorie et NumPy
Corrections
2021-10-06 — Encore un peu de théorie, scikit-learn et les modèles de langues à n-grams
- Slides 7
- Exercice : écrire deux scripts Python. Le premier doit apprendre à partir d’un corpus de textes un
modèle de langue à n-grammes (avec n paramétrable) et le sauvegarder dans un fichier csv. L’autre
doit lire le modèle précédent et l’utiliser pour générer une phrase. Tester avec Le Ventre de
Paris, puis avec le corpus
CIDRE.
Lecture compagnon : Speech and Language Processing
chapitre 3 « N-Gram language models ».
Pour la fois prochaine : lire le chapitre 4 « Naïve Bayes and Sentiment Classification » (sauf
4.9) de Speech and Language Processing. Venir au cours
avec vos questions !
2021-10-13 — Modèles de langue à n-grammes (suite et fin) et Naïve Bayes
Lecture compagnon : Speech and Language Processing
chapitre 4 « Naïve Bayes and Sentiment Classification ».
Pour la fois prochaine :
- Faites de votre mieux pour les exercices à la fin du slide 9
- Relire le chapitre 4 « Naïve Bayes and Sentiment Classification » et lire le chapitre 5 « Logistic Regression », venir au cours avec vos questions !
2021-10-20 — Naïve Bayes (suite et fin) et régression logistique.
Lecture compagnon : Speech and Language Processing
chapitre 5 « Logistic Regression ».
Pour la fois prochaine :
2021-10-27 — Régression logistique (suite et fin)
Lecture compagnon : Speech and Language Processing
chapitre 5 « Logistic Regression ».
Pour la fois prochaine :
2021-11-10 — Réseaux de neurones et (peut-être) représentations vectorielles
Lecture compagnon : Speech and Language Processing
chapitre 7 « Neural Networks and Neural Language Models ».
Pour la fois prochaine :
2021-11-14 — Réseaux de neurones pour le traitement de séquences
Lire les slides en local
Les supports de ce cours sont écrits en Markdown, convertis en notebooks avec
Jupytext. C’est entre autres une façon d’avoir un historique
git propre, malheureusement ça signifie que pour les ouvrir en local, il faut installer les
extensions adéquates. Le plus simple est le suivant
- Récupérez le dossier du cours, soit en téléchargeant et décompressant
l’archive
soit en le clonant avec git :
git clone
https://github.com/LoicGrobol/apprentissage-artificiel.git
et placez-vous dans ce dossier.
-
Créez un environnement virtuel pour le cours (allez voir le cours
5
pour plus de détails sur ce que ça signifie)
python3 -m virtualenv .venv
source .venv/bin/activate
-
Installez les dépendances
pip install -U -r requirements.txt
-
Lancez Jupyter
JupyterLab est aussi utilisable, mais la fonctionnalité slide n’y fonctionne pas pour l’instant.
Ressources
Apprentissage artificiel
- Speech and Language Processing de Daniel Jurafsky et
James H. Martin est indispensable. Il parle de bien plus de chose que simplement de
l’apprentissage artificiel, mais sur le plan théorique il contient tout ce dont on parlera
concernant l’apprentissage pour le TAL. Il est disponible gratuitement, donc n’hésitez pas à le
consulter très fréquemment. J’essaierai d’indiquer pour chaque cours les chapitres en rapport.
- Apprentissage artificiel - Concepts et
algorithmes
d’Antoine Cornuéjols et Laurent Miclet. Plus ancien mais en français et une référence très
complète sur l’apprentissage (en particulier non-neuronal). Il est un peu cher alors si vous
voulez l’utiliser, commencez par me demander et je vous prêterai le mien.
Python général
Il y a beaucoup, beaucoup de ressources disponibles pour apprendre Python. Ce qui suit n’est qu’une sélection.
Livres
- How to think like a computer scientist, by Jeffrey Elkner, Allen B. Downey, and Chris Meyers. Vous
pouvez l’acheter. Vous pouvez aussi le lire
ici
- Dive into Python, by Mark Pilgrim. Ici vous pouvez le lire ou
télécharger le pdf.
- Learning Python, by Mark Lutz.
- Beginning Python, by Magnus Lie Hetland.
- Python Algorithms: Mastering Basic Algorithms in the Python Language, by Magnus Lie Hetland.
Peut-être un peu costaud pour des débutants.
- Programmation Efficace. Les 128 Algorithmes Qu’Il Faut Avoir Compris et Codés en Python au Cours
de sa Vie, by Christoph Dürr and Jill-Jênn Vie. Si le cours vous paraît trop facile. Le code
Python est clair, les difficultés sont commentées. Les algos sont très costauds.
Web
Il vous est vivement conseillé d’utiliser un (ou plus) des sites et tutoriels ci-dessous.
Divers
- La chaîne YouTube 3blue1brown pour des vidéos de maths
générales.
- La chaîne YouTube de Freya Holmér plutôt orientée game
design, mais avec d’excellentes vidéos de géométrie computationnelle.
Licences
Copyright © 2021 Loïc Grobol <loic.grobol@gmail.com>
Sauf indication contraire, les fichiers présents dans ce dépôt sont distribués selon les termes de
la licence Creative Commons Attribution 4.0
International. Voir le README
pour plus de détails.
Un résumé simplifié de cette licence est disponible à https://creativecommons.org/licenses/by/4.0/.
Le texte intégral de cette licence est disponible à https://creativecommons.org/licenses/by/4.0/legalcode