ia-z / ia-z Goto Github PK
View Code? Open in Web Editor NEWDépôt pour le cours d'IA par la communauté @DefendIntelligence.
Home Page: https://ia-z.github.io/ia-z/
Dépôt pour le cours d'IA par la communauté @DefendIntelligence.
Home Page: https://ia-z.github.io/ia-z/
Il faudrait s'assurer que les images qui sont utilisées soient bien open sources. Idéalement nous utiliserions que des images à nous (à moins que cela nuise à la compréhension du lecteur).
De plus, on s'est rendu compte avec TheBatz qu'il manquait la notion de fonction de loss dans ce chapitre. Il faudrait une introduction générale au concept d'apprentissage d'un modèle (définition d'un modèle de ML, évaluation sur une loss, apprentissage défini en tant que minimisation de cette loss). On pourrait peut-être parler de la différence entre les hyperparamètres et les paramètres d'un modèle ? Peut-être qu'il faudrait aussi mentionner la différence entre les modèles paramétriques et les non-paramétriques ?
Après avoir vu la MSE (et le R² ?) dans le chapitre 3, l'accuracy dans le chapitre 4 et probablement une autre métrique dans le chapitre 7, il faut présenter un ensemble de métriques ici. Les anciennes métriques peuvent être représentées afin d'être plus complet et que le lecteur n'ait pas à se réferrer aux chapitres d'introductions.
En vrac, une petite liste de métriques envisageables :
Il faudrait à chaque fois préciser l'intérêt de chaque métrique lorsqu'elle est introduite.
plan proposé par @AntoninLagarrigue (Discord : Zinzolin)
Module I: Introduction
Notions fondamentales
Module II: Notions générales
Les algos de RL
Module III: Spécialisé ++
Deep Reinforcement Learning
1. Deep Q-Learning
2. Policy Gradient
3. Actor Critic
Ce chapitre devrait couvrir les points suivants :
Ce chapitre sera le premier chapitre parlant du clustering. La méthode KMeans y est présentée en tant qu'exemple.
plan proposé par: @Otsutsukii @RonyAbecidan (Discord : Tao & Rony)
Module I: Introduction
Module II: Notions générales
Module III: Spécialisé ++
plan proposé par : @Futurne (Discord : PierrotLeCon)
Module I: Introduction
1. Pourquoi ML
2. Éléments de définition
3. Regression avec LR (MSE)
4. Classification avec Knn (Accuracy)
5. Généralisation d'un modele de ml
6. Régularisation et compromis biais-variance : une introduction
7. Régularisation
8. Compromis biais-variance
9. Intro Clustering: Kmeans
10. Métrics (precision, f1 score, AUC, ROC, ...)
11. Feature engineering
Module II: Modèles Généraux
- Régression Logistique
- PCA (?)
- Decision Tree: Gini score -> Random Forest
- Naive Bayes (?)
- SVM (?)
- Kernel
- Gaussian Mixture Model
- Bayesian Learning (?)
- Feed Forward
Futurs modules: Spécialisés ++
plan proposée par : @Serenalyw (Discord : Serena)
plan réalisé par : @LPauzies et @adriengoleb (Discord : Adrien & Cair0n)
Module I: Introduction
Module II: Notions générales
Module III: Spécialisé ++
Plan proposé par : @AntoninLagarrigue (Discord : Zinzolin) et @tanguyesteoule (Discord : PhPMan)
Du théorique au concret (avec des exemples réels)
- L'IA confrontée à la réalité
(Essaie de montrer la différence entre faire des challenges sur kaggle et faire un vrai projet de data science de bout en bout. Quelles questions pratiques on sera amené à se poser. Je pense qu'on peut le faire sous forme de liste, genre les "X commandements de l'IA" ou un truc dans le style ^^)
- Quel protocole d'évaluation pour quel usage ?
- Les métriques sont-elles représentatives de l'usage ?
- Adapter la complexité du modèle en fonction des besoins (Penser itératif, ne pas réinventer la route)
- Conditions opérationnels
- Fuites de données
- Monitoring des prévisions
- Test avec données synthétiques
- Importance de la qualité des données + que du tunning des algos
- Comparaison à d'autres méthodes naïves/basiques/standards
- Aspects éthiques
(Ici c'est plutôt les points éthiques/morales qu'il faut garder en tête lorsqu'on attaque un sujet d'IA. Avec des exemples concrets de cas qui ont vraiment existés, sur les facebook files, cambridge analytica, zillow, ...)
- Point sur les impacts de l'IA dans nos vie, et les risques associés
- Ethique des données (anonymat, biais présents dans les données, recoupement de plusieurs datasets...)
- Usage détournée (désinformation/discrimination). Responsabilité du data scientist
- Excès de confiance (les modèles de ML ne sont pas infaillibles, il n'y a rien de magique), non neutralité des algos (il y a toujours des choix derrière les algos)
- Biais discricrimation/exclusion, parfois volontaires souvent négligés
- Autonomie des algos, controle/ garde-fous
- Manque de transparence
- Limites/Dangers de l'IA
(Se rapproche un peu de l'éthique sur certains points, mais peut être plus d'un point de vue technique.)
- Poisoning
- Adversarial attack
- Usage détourné
A insérer dans le plan
Mener des recherches
Mener une recherche internet efficacement
Une introduction rapide à l'utilité de savoir mener une recherche internet correctement.
Suivie d'une liste de conseils et points clés pour bien chercher sur la toile.
2 méthodes pour mener des recherches classiques dans le cadre du cours sur les data sciences.
Première version très simplifiée, plutôt sous forme de liste d'idées directrices que de réel cours.
Structure et mise en page à retravailler.
Version odt :
mener_une_recherche.odt
Version Markdown :
mener_une_recherche.md
Version détaillée du plan du chapitre ci-dessous
Définition du contexte
Petite partie méthodo pour faire comprendre au lecteur qu’une BDD SQL peut sufire…
Appel projet fil rouge (no sql)
o Introduction au Cloud
Dev OPS Appliqué à la donnée
Appel projet fil rouge
Plan proposé : @tanguyesteoule (Discord : PhPMan)
Introduction aux séries temporelles
(C'est quoi une série temporelles concrètement ? Différentes dénominations)
1. Définition série temporelle
2. Décomposition Tendance / saisonnalité / résidu (Ici ou dans exponential smoothing forecasting)
3. Terminologie
1. Endogène / Exogène (Ajout de données différente de la time series ?)
2. Régression / Classification (Valeur numérique ou classe ?)
3. Structuré / Non structuré (Corrélations temporelles ?)
4. Univarié / Multivarié (Plusieurs variables ?)
5. Single-step / Multi-Step (Plusieurs horizon ?)
6. Statique / Dynamique (réentrainement ?)
7. Continue / Discontinue (Données à pas de temps régulier ?)
Méthodes de référence
(Présentation des méthodes historiques)
1. Méthodes naïves
1. Persistance
2. Moyenne
2. Autoregressive forecasting methods
1. ARMA
2. ARIMA
3. SARIMA
4. ARX ?
3. Exponential smoothing forecasting
Méthodes ML régression
(Présentation des méthodes ML, comme elles auront sans doute déjà été présentées on se focalise sur leurs applications aux time series)
1. Standard regression methods: GBM, SVM
2. LSTM
3. CNN
Regression times series en pratique
(A détailler un peu plus)
1. Traitement des données
1. Indicateurs temporels
2. Fenêtre glissante
2. Évaluation
1. Set de validation
2. Cross-validation (/!\ a la fuite de données, pas de shuffle)
Application : Prévision de consommation d'électricité en France
(Cas concret de prévision sur lequel j'ai eu à bosser, avec des données en libre accès)
1. Présentation du problème
2. Traitement des données
3. Implémentation des modèles
4. Évaluation
Autres cas d'applications
(Sans forcément rentrer dans les détails, donner des pistes/codes pour traiter ces problèmes moins courants)
1. Prévision séries temporelles multivariées
2. Classification (e.g., prédire activité sportive à partir données montre)
3. Prévision probabiliste
Ce chapitre introduit actuellement beaucoup de choses. Après concertation avec TheBatz, on s'est dit qu'il serait plus pertinent de le revoir en enlevant les explications sur la descente de gradient ainsi que la dernière partie sur la classification binaire.
On pense que ce chapitre devrait couvrir les points suivants :
J'ai utilisé la métrique R² dans les chapitres sur la régularisation et le compromis biais-variance, il serait peut-être judicieux de l'introduire dans ce chapitre ?
Relecture des chapitres 1 à 7
Une branche ml-fonda-relecture
a été créée, les modifs y seront faite à cet endroit.
Afin de mieux séparer le cours de ML fonda, nous avons décidé de diviser ce cours en plusieurs modules.
Il faudrait ainsi écrire une présentation du module 1 : introduction au Machine Learning.
Les infos clefs à mettre :
Une fois que ce sera fait, il faudra le mettre dans le _toc.ylm
en tant que chapitre d'introduction du module 1.
Applications
Présentation du NLP - Qu'est ce que le NLP (Natural Language Processing) ?
Implémentation Python de tf-idf/tutoriel-application avec un notebook (from scratch - scikit-learn) avec une proposition d'exercices.
Plan proposée par : @LPauzies, @adriengoleb & @MohamedBsh (Discord : Adrien - CairOn - Bsh)
Module I: Basics Hands on - Ecrire un code de qualité en Python - @MohamedBsh
Module I: Basics Fondamentaux - Big Data - @adriengoleb
Module II: Principes généraux
Module II: Hands On - @MohamedBsh
Module III: Architecture, Cloud & Ops
Modules à insérer dans le Module III
qqles idées si des personnes sont partantes & ont le temps :)
Modules Spécialisés ++
Recommandation de lectures
Recommandation de lectures
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.