Ressources FDMS 2016-2017
- Important: Les travaux à rendre le seront avant le dimanche soir précédent le cours suivant, par email (ludovic[.]denoyer[@]lip6.[.]fr), avec le sujet « [FDMS]: Nom étudiant, Semaine XX »
Episode 1 – Travail Personnel
Le travail personnel cette semaine s’organise sur deux aspects:
- Apprendre Python : Il est essentiel que vous ayez une connaissance du langage python et des librairies de traitement de données récentes et largement utilisées: numpy, pandas, sklearn principalement. Pour cela, je vous propose de suivre le tutorial suivant: https://github.com/savarin/pyconuk-introtutorial — Travail à rendre: Aucun, si vous le faites pas, vous aurez de grosses difficultés dès le prochain TP
- Les bases de la data science et du machine learning : Afin de vous familiariser avec les notions sous-jacentes à la data science, je vous propose le travail suivant:
- Lecture de l’article « Statistical Modeling: The Two Cultures » de L. Breiman. Cet article donne les clefs pour comprendre les deux types d’approche classiques centrées données: la « data modelling culture » qui correspond aux approches ‘modélisation’ historiques (et sur lesquelles sont par exemple basés les modèles de type météo), et l’approche ici appelée « Algorithmic Modeling Culture » qui correspond grosso modo à l’approche machine learning et qui tend à prendre une place de plus importante dans le traitement de données. Travail à rendre: Vous ferez un résumé (1 à 2 pages) des principes, différences, avantages et inconvénients des deux types d’approches. Vous donnerez des exemples d’applications pour lesquelles vous pensez que l’une ou l’autre des approches et la plus appropriée.
- Lecture de l’article « Model Selection in Data Analysis Competitions » qui donne des « recettes de cuisine » classiques utilisées dans le cadre des compétitions de data science. Travail à rendre: Vous résumerez les 5 points principaux (3.1 à 3.5) en une ou deux phrases
- Lecture de l’article « Statistical Modeling: The Two Cultures » de L. Breiman. Cet article donne les clefs pour comprendre les deux types d’approche classiques centrées données: la « data modelling culture » qui correspond aux approches ‘modélisation’ historiques (et sur lesquelles sont par exemple basés les modèles de type météo), et l’approche ici appelée « Algorithmic Modeling Culture » qui correspond grosso modo à l’approche machine learning et qui tend à prendre une place de plus importante dans le traitement de données. Travail à rendre: Vous ferez un résumé (1 à 2 pages) des principes, différences, avantages et inconvénients des deux types d’approches. Vous donnerez des exemples d’applications pour lesquelles vous pensez que l’une ou l’autre des approches et la plus appropriée.
Episode 2 – Sélection de modèles
- fdms_c1_2016_2017
- Travail à rendre: 1 à 2 pages de résumé de l’un des deux articles suivants, contenant une conclusion quant au lien entre l’article et la problématique de la séléction de modèles:
- Loss functions : 3a.loss-functions
Episode 3 – Sélection de caractéristiques
- Cours = fdms_c2_2016_2017
- Article =guyon03a
- TP2 et Travail à la maison : Implémentation de la régression L1 en python : fdms_tp2
Episode 4 – Combinaisons de modèlse
- Cours = fdms_2015_2016_cours3
- TME = Implémentation de Bagging et AdaBoost sur des jeux de données binaires – comparaison des algorithmes
- Challenge = Exploration des données
- http://132.227.201.***/phpmyadmin
Episode 5 – Visualisation
- Cours = fdms_cours4_2016_2017
- Lien cours F. Rossi: http://apiacoa.org/teaching/visualization/index.fr.html
- TME = Implémentation de LLE et t-SNE (Données au choix => MNIST)
Challenge Tennis: ICI
Episode 6 : Recommendation
- Cours : fdms_2016_2017_cours5
- TP4 : Implémentation des modèles de CF avec descente de gradient stochastique
- Modèle classique L2
- Modèle avec biais utilisateur et items
- Modèle avec Biais temporel
- Evaluation des modèles sur la base MovieLens
- Movie Lens : http://files.grouplens.org/datasets/movielens/ml-100k.zip (fichier u.data)
def loadMovieLens(path='/data/movielens'): # Get movie titles movies={} for line in open(path+'/u.item'): (id,title)=line.split('|')[0:2] movies[id]=title # Load data prefs={} for line in open(path+'/u.data'): (user,movieid,rating,ts)=line.split('\t') prefs.setdefault(user,{}) prefs[user][movies[movieid]]=float(rating) return prefs
- Passage à MovieLens 1M
Episode 7 : Dataiku
Pour ceux qui travaillent sur leur ordinateur portable, veuillez installer dataiku DSS pour la prochaine séance.
Mini-stage : laissez parler votre rigueur et votre imagination !
Méthodologie
Cas pratique. Thème : « Time series prediction and forcasting »
Travail à réaliser en binôme.
Cours 1 : réaliser l’état de l’art (lecture, synthèse, …- voir cours) à partir de la biblio suivante :
- Jerome T Connor, R Douglas Martin, and Les E Atlas. Recurrent neural networks and robust time series prediction. Neural Networks, IEEE Transactions on, 5(2) :240–254, 1994
- Klaus Robert Muller, Alexander J Smola, Gunnar Ratsch, Bernhard Scholkopf, JensKohlmorgen, and Vladimir Vapnik. Using support vector machines for time seriesprediction. Advances in kernel methods—support vector learning, 1999.
- G Peter Zhang and Min Qi. Neural network forecasting for seasonal and trend time series. European journal of operational research, 160(2) :501–514, 2005.
- Réseaux de neurones, SVM et approches locales pour la prévision de séries temporelles, Aymen Cherif, 2013 – Chap 2 et 3.
- G. W. Morrison and D. H. Pike. 1977. Kalman Filtering Applied to Statistical Forecasting. Manage. Sci. 23, 7 (March 1977), 768-774. DOI=http ://dx.doi.org/10.1287/mnsc.23.7.768
Cours 2 : Les séries temporelles peuvent être utilisées pour de nombreuses applications et domaines de recherche :
- détection d’évènement sur Twitter
- Prédiction de trajets
- Prédiction spatio-temporelle de données climatiques
- Détection de spams
- Identification des processus de diffusion de l’information
- Détections des pannes
- …
Travail à faire
- Choisir une problématique (ou en proposer une)
- Développer une méthode ou améliorer un algorithme pour résoudre cette problématique
- Proposer un protocole d’évaluation de la méthode/l’ algorithme proposé(e)
Pour la semaine prochaine (23/01/17) : présentation de 10 minutes par binôme de type « présentation d’une contribution à une conférence »
Bien introduire avec motivation/justification:
- Le contexte et la problématique
- L’état de l’art
- Le modèle proposé
- Le protocole expérimental
- Le types de résultats attendus (exemples de courbes, tableaux, etc…)
- Les conclusions et perspectives
Seront évalués :
- La qualité de la présentation
- L’effort de synthèse de l’état de l’art
- Le positionnement par rapport à l’état de l’art
- Les justifications liées à la contribution
- La cohérence de l’expérimentation avec le contexte/modèle proposé
- Votre rigueur et votre imagination/originalité !