News
- 2023-09-19 Premier cours du semestre le 20/09/2023
Infos pratiques
- Quoi « Apprentissage artificiel »
- Où Salle 219, bâtiment Paul Ricœur
- Quand 8 séances, les mercredi de 9:30 à 12:30, du 20/09 au 17/11
- Voir le planning pour les dates exactes (quand il aura été mis en ligne)
- Contact Loïc Grobol loic.grobol@parisnanterre.fr
- Évaluation Un TP noté en temps limité (date à déterminer) et un projet
Liens utiles
- Prendre rendez-vous pour des office hours en visio :
Calendly
- Lien Binder de secours :
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 notebooks ci-dessous ont tous des liens Binder pour une utilisation interactive
sans rien installer.
2023-09-21 — Introduction et modèles de langues à n-grammes
2023-09-27 — Évaluation et Numpy
2023-10-04 — Arbres de décision et scikit-learn
2023-10-11 — Naïve Bayes
2023-10-18 — Régression logistique et descente de gradient
Les notebooks remplis sont à envoyer par mail à lgrobol@parisnanterre.fr avant le 9/11 à 9:30.
L’objet du message devra être [ML 2023] TP Prénom Nom
et le nom de fichier devra être de la forme
prénom_nom-établissment.ipynb
, établissement
étant UPN
, USN
ou Inalco
.
2023-10-25 — Régularisation
Informations pour le projet (page dédiée à venir) :
- Tâche à réaliser : tâche 3 de l’édition 2009 du DÉfi Fouille de Texte (DEFT): apprentissage de
classification par parti politique d’interventions au parlement européen.
- Les données sont disponibles sur le site de DEFT, leur description et
celle de la tâche sur la page de l’édition 2009
- Si besoin les données sont aussi disponibles ici
- À faire : proposer un (des) classifieur(s) pour cette tâche, étudier ses (leurs) performances sur
cette tâche. Comparer aux informations données dans les
actes.
- À rendre : rapport sous forme d’un article court dans le style
ACL (4 pages+bibliographie, format pdf, anglais ou
français) décrivant le contexte de la tâche, vos expériences (méthodes et résultats) et vos
conclusions. Compléter par une archive comprenant vos données et votre code.
- Projet à faire de préférence en groupe de maximum trois personnes, ou individuellement, à rendre
au plus tard le 6 janvier 2024.
- L’évaluation sera faite principalement sur la qualité et la pertinence des expériences réalisées
et de vos analyses.
Utilisation 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 (par exemple ici avec virtualenv)
python3 -m virtualenv .venv
source .venv/bin/activate
-
Installez les dépendances
pip install -U -r requirements.txt
-
Lancez Jupyter
JupyterLab est aussi utilisable.
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
Ils commencent à dater un peu, les derniers gadget de Python n’y seront donc pas, mais leur lecture
reste très enrichissante (les algos, ça ne vieillit jamais vraiment).
- How to think like a computer scientist, de 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, par 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