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

Made with Slides.com