Machine learning sans magie et sans s'arracher les cheveux
Nastasia Saby
@saby_nastasia
Zenika
BlendWebMix 2019
#PHP, #Scala, #Spark, #Kafka, #ML, #TDD, #Craft
@saby_nastasia
Est-ce que le machine learning peut m'aider pour organiser un barbecue ?
Mais c'est quoi ce machine learning dont tout le monde parle ?
Définition générale
Le machine learning, c'est has-been.
Alan Turing et la notion de "learning machines", 1950 : Computing Machinery and Intelligence
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
Arthur Samuel, 1959, premier à utiliser le terme de "machine learning"
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
the field of study that gives computers the ability to learn without being explicitly programmed.
Tom Michael Mitchell, 1997, une définition plus moderne
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E
Moi, 2019, à la Blend
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
Passer de la data dans une moulinette (aussi appelé algo) pour en sortir de la connaissance (possiblement réutilisable sur d'autres données)
Raisonnement qui sert aussi pour préparer un barbec.
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
Bière | Amerture | Bon/Pas bon |
---|---|---|
Quinarelle | 30% | Bon |
Kriek | 5% | Pas bon |
Data
Fonction
Algorithme
Quinarelle
Kriek
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
Data
Fonction
Nouvelle bière
Bon/Pas bon
Algorithme
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
Quinarelle
Kriek
Différents types de machine learning
Apprentissage supervisé
Apprentissage non supervisé
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
Les besoins d'un barbecue :
prévoir et inciter les gens à se parler
Quelle quantité/qualité de nourriture/boisson prévoir ?
Idée de prédiction
Moyenne pour définir la quantité
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
Samedi 1 | Samedi 2 | Samedi 3 | |
---|---|---|---|
Saucisses | 25 | 35 | 27 |
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
Samedi 1 | Samedi 2 | Samedi 3 | |
---|---|---|---|
Saucisses | 25 | 35 | 27 |
(25 + 35 + 27) / 3 = 29
Alerte terminologie : variables explicatives
Alerte terminologie : variables expliquées
Nombre de personnes : variable explicative
Nombre de saucisses consommées :
variable expliquée
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
Nombre de personnes
Nombre de saucisses consommées
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
Nombre de personnes
Nombre de saucisses consommées
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
Alerte terminologie : régression linéaire
Nombre de personnes - Nombre de patates - Météo
Nombre de saucisses consommées
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
Alerte terminologie : régression linéaire univariée
Alerte terminologie : régression linéaire multivariée
Est-ce qu'on a pu aller plus loin avec du machine learning ??
Data
Fonction
Nouvelle bière
Bon/Pas bon
Algorithme
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
Quinarelle
Kriek
Alerte terminologie : classification
Plus de 20% d'amertume
Bon
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
Pas bon
Alerte terminologie : Decision Tree
Oui
Non
Nombre de personnes
Nombre de saucisses consommées
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
Alerte terminologie : régression
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
On résume
Apprentissage supervisé
Variables explicatives / Variables expliquées
Régression linéaire
Decision Tree
Exemples utiles (ou pas) au bien commun
A quoi rêvent les algorithmes ?
A rien d'autres que ce que les data et les développeurs rêvent.
Comment inciter les gens à se parler ?
Comment faire des plans de table avec un petit nombre de personnes ?
La table des enfants
La table des amis de la fac
La table des mariés et des très proches
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
Gourmands
Non gourmands
Moyens gourmands
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
Fatiha | Megan | Maurice | Amar | Irina |
---|---|---|---|---|
8/10 | 2/10 | 5/10 | 7/10 | 3/10 |
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
Gourmands et pas intéressés par la politique
Non gourmands et intéressés par la politique
Moyens gourmands et intéressés par la politique
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
Alerte terminologie : Clustering
Alerte terminologie : Cluster
Alerte terminologie : Apprentissage non supervisée
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
Comment peut-on automatiser cela avec le machine learning ?
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
Choisir aléatoirement 3 personnes.
Ces personnes sont les centres des clusters.
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
Affecter chaque personne au groupe dont il est le plus proche en son centre
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
Recalculer le centre de chaque cluster
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
Répéter
JUSQU‘A CONVERGENCE
OU un certain nombre de fois
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
Alerte terminologie : KMeans
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
Exemples utiles (ou pas) au bien commun
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
Retour à la vie des développeurs : Pourquoi le machine learning marche ou ne marche pas dans mon cas ? Et dans quel cas marche-t-il ?
Synthèse des types de machine learning vus
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
Alerte terminologie : Shallow learning
Alerte terminologie : Deep learning
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
Alerte terminologie : Apprentissage supervisé
Alerte terminologie : Apprentissage non supervisé
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
Alerte terminologie : Variables explicatives
Alerte terminologie : Variables expliquées
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
Alerte terminologie : Régression
Alerte terminologie : Classification
Alerte terminologie : Clustering
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
Alerte terminologie : Régression linéaire
Alerte terminologie : Decision Tree
Alerte terminologie : KMeans
Renversement cérébral : partir des données et non plus d’un algorithme
Data
Fonction
Algorithme
BlendWebMix - Nastasia Saby @saby_nastasia - Zenika
Big Data or not Big Data ?
Ethique du machine learning
Merci
Des questions ?
Nastasia Saby
@saby_nastasia
Zenika
BlendWebMix 2019
Machine learning sans magie et sans s'arracher les cheveux
By nastasiasaby
Machine learning sans magie et sans s'arracher les cheveux
- 818