Démystifions le Machine
Learning
Nightclazz Spark et ML
10/03/16
Hervé RIVIERE
Hervé RIVIERE
Développeur Big Data / NoSQL
Zenika
Démystifions le Machine Learning
Sommaire
Machine Learning ?1
2
4
Fondamentaux
Algorithmes
3 Préparation des données
5 Outils
Machine
Learning ?
Machine learning : ”Field of study that gives computers the ability to learn
without being explicitly programmed.” Arthur Samuel
Solves tasks that people are good at, but traditional computation is bad at.
Programmes qui ecrivent de nouveaux programmes
ThyssenKrupp :
1.1 millions d’ascenseurs dans le monde
Capteurs IoT
Détecter les comportement conduisant à une panne
Remplacer les pièces avant les pannes
 Remplacer des règles de gestion métier statiques par un
algorithme auto-apprenant.
1- Mesure du risque (exemple : taux de prêt en fonction du dossier)
2- Recommandation (exemple : recommandation de films, pub)
3- Prédiction d’un comportement (exemple : prévision panne d’une machine en
fonction des données capteurs / résiliation d’un abonné / diagnostic médical)
4- Prédiction de revenu
 Mieux comprendre un jeu de données via les corrélations
faites par les algorithmes ML
1 – Détecter / identifier des signaux faibles (ex : fraude, marketing…)
2 – Segmentation en différente catégories (exemple : campagne de publicité)
Machine Learning Regression
Deep Learning Clustering
Data Science Features engineering
(….)
Les algorithmes de ML ont été mis au points
récemment ?
1
2
3
Le machine Learning est une catégorie de
l’Intelligence Artificielle?
Il n’est pas nécessaire de connaitre son jeu de
données pour réaliser des prédictions performantes
(les mathématiques n’ont pas besoin de connaitre
les problématiques métier !) ?
”
FAUX
VRAI
FAUX
Le ML étudie la causalité d’une prédiction4
FAUX
Fondamentaux
Variable cible
numérique
Type Surface (m²) Nb de pièces Date de
construction
Prix (€)
Appartement 120 4 2005 200 000
Maison 200 7 1964 250 000
Maison 450 15 1878 700 000
Appartement 300 8 1986 ?????
Variables prédictives = Features
Prédire une valeur numérique : Algorithme de régression
Variable cible textuelle
= classe
Type Surface (m²) Nb de pièces Date de
construction
Prix (€)
Appartement 120 4 2005 200 000
Maison 200 7 1964 250 000
Maison 450 15 1878 700 000
???? 300 8 1986 600 000
Variables prédictives = Features
Prédire une valeur textuelle : Algorithme de classification
0
100
200
300
400
500
600
0 5 10 15 20 25
Prix(K€)
Observations
Revenu réel
Fonction prédictive
Bruit aléatoire
Prix réel = f(X) + a
a
a
a
f(X)
Modèle ML
Ecart imprévisible
Prédiction jamais exacte !
Si « a » trop important…
Modèle ML
Ecart imprévisible
Prédiction jamais exacte !
Prix réel = f(X) + a
Données non prédictible !
0
10
20
30
40
50
60
0 5 10 15 20 25
Prix(K€)
Observations
Revenu réel
Fonction prédictive
Bruit
DWH
Open Data
Web
crawling
Dataset
d’entrainement
avec variables
prédictives et cible
Modèle
Prédiction
Variable cible
Hypothèses
Variables
prédictives
….
Préparation Construction du
modèle :
Générer un
programme (ie. le
modèle)
Production :
Utiliser le
programme généré
Voitures
?????
• Prédiction de l’avenir proche en fonction du
passé
• Approximation d’un pattern à partir d’exemple
• Copie d’un comportement en « boite noire »
(juste input et output)
• Algorithmes qui s’adaptent
Préparation des
données
DWH
Open Data
Web
crawling
Modèle
Prédiction
Hypothèses
Préparation
Dataset
d’entrainement
avec variables
prédictives et cible
- Complétude: champs manquant ?
- Echelle: Revenues par pays et nombre d’achats par
région !
- Exactitude : données réelles ?
- Fraicheur : Données du 19e siècle ?
- Format : CSV, images, JSON, BDD  JSON
- Agréger
- Enrichir
A B C D E F G H
10 3 2 5 7 43 2 4
1 24 34 5 876 7 6 52
43 24 1 558 23 4 5 6
Algorithmes ML
Moyenne des X : 9
Moyenne des Y : 7.5
• Une tache potentiellement (très…) longue
• Ingrat ?
• Influence directement le modèle
• Une bonne préparation des données est
meilleure que des bon algorithmes !
Algorithmes
DWH
Open Data
Web
crawling
Dataset
d’entrainement
Modèle
Prédiction
Hypothèses
Algorithmes
Régression
Variable cible
numérique
Type Surface (m²) Nb de pièces Date de
construction
Prix (€)
Appartement 120 4 2005 200 000
Maison 200 7 1964 250 000
Maison 450 15 1878 700 000
Appartement 300 8 1986 ?????
Variables prédictives = Features
Prédire une valeur numérique : Algorithme de régression
Illustration en 2D, majorité des modèles avec 5..10..1000
dimensions
0
10
20
30
40
50
0 5 10 15 20 25
Prix(K€)
Observations
Revenu réel
Fonction prédictive
Linéaire : f(X)=aX+b (avec « a » et « b » découverts automatiquement)
0
2000
4000
6000
8000
10000
0 5 10 15 20 25
Prix(K€)
Observations
Revenu réel
Fonction prédictive
Polynomiale : f(X)=aXy+bXz… (avec « a » et « b », « x », « y » découverts
automatiquement)
Programme généré par l’algorithme
après entrainement :
Une formule mathématiques
Prix maison = 2*nbPieces + 3*surface
Essai successifs de l’algorithme pour trouver la courbe qui minimise l’erreur
Simple à visualiser / comprendre
Algorithme supervisé (nécessite un entrainement préalable)
Peut être utilisé à des fin prédictive ou descriptive
Très sensible à la préparation initiale (valeurs aberrantes…)
Suppose que les données peuvent être modélisées sous formes
d’équations
Prix d’une maison : Si 10 + pièces…
Type
Pièce >10 Surface > 300
Etage <= 3 Ville = Paris
MaisonAppartement
Oui Non
Oui Oui NonNon
Oui Non
300 000€ 200 000€900 000€700 000€
400 000€600 000€
Programme généré par l’algorithme
après l’entrainement :
Conditions
If(surface>10 && piece=3)
if(type==maison) 250 000
else if (type==appartement) 150 000
Else 145 000
Algorithme supervisé (nécessite un entrainement préalable)
Moins sensible à la qualité de préparation de données
Paramètre à définir : nombre d’arbres / profondeurs etc…
Plusieurs arbres entrainés avec des subsets variés peuvent être
combinés  Random Forest
Le random forest est un des algorithmes actuellement le plus performant
Algorithmes
Classification
Variable cible textuelle
= classe
Type Surface (m²) Nb de pièces Date de
construction
Prix (€)
Appartement 120 4 2005 200 000
Maison 200 7 1964 250 000
Maison 450 15 1878 700 000
???? 300 8 1986 600 000
Variables prédictives = Features
Prédire une valeur textuelle : Algorithme de classification
Malade / Sain
Recommandation de film
Transformer un problème de régression (ex : prix d’une maison) en
classification :
« Cette maison va-t-elle se vendre plus cher que le prix moyen de
la ville » Oui / Non
 Minimiser l’erreur
Ne fonctionne qu’avec 2 catégories uniquement !
Boisson = alcool
Prix > 30€ Steak haché
Boisson=vin
NonOui
Oui Non
Oui
Adulte
Non
Oui Non
AdolescentEnfant
Senior Adulte
Midi Soir
Algorithme non supervisé (pas d’entrainement)
Utilisé pour des algorithmes de recommandation (Netflix)
Le nombre de catégorie est définis par l’utilisateur ou dynamique
Le nom / description des catégorie est à définir par l’utilisateur
Quels outils ?
Mathématiques !
Connaissances métier !
Prototypage
Voir grand, commencer petit
Prototypage : tester rapidement et de façon autonome les
hypothèses
• R
• SAS
• Scikit-learn (Python)
• Dataiku
• Excel
• Tableau
• ….
Industrialisation : Automatisation, performance, maintenabilité,
important volume de données….
Important travail de réécriture de code !
• Brique ETL en amont
• Construction du modèle :
• Volume de donnée « faible » : R / SAS / Python industrialisé
• Volume de donnée « important » : Spark / Hadoop/Mahout (calcul distribué)
• Solutions cloud (Azure ML / Amazon ML / Google prediction API)
• Distribution du modèle en aval :
• Webservice
• Embarqué dans une application
• …
Big Data et machine learning: Manuel du data scientist
Dunod
MOOC Machine Learning, Coursera
Andrew Ng
NightClazz Spark / Machine Learning

NightClazz Spark / Machine Learning

  • 1.
    Démystifions le Machine Learning NightclazzSpark et ML 10/03/16 Hervé RIVIERE
  • 2.
  • 3.
    Démystifions le MachineLearning Sommaire Machine Learning ?1 2 4 Fondamentaux Algorithmes 3 Préparation des données 5 Outils
  • 4.
  • 5.
    Machine learning :”Field of study that gives computers the ability to learn without being explicitly programmed.” Arthur Samuel Solves tasks that people are good at, but traditional computation is bad at. Programmes qui ecrivent de nouveaux programmes
  • 7.
    ThyssenKrupp : 1.1 millionsd’ascenseurs dans le monde Capteurs IoT Détecter les comportement conduisant à une panne Remplacer les pièces avant les pannes
  • 8.
     Remplacer desrègles de gestion métier statiques par un algorithme auto-apprenant. 1- Mesure du risque (exemple : taux de prêt en fonction du dossier) 2- Recommandation (exemple : recommandation de films, pub) 3- Prédiction d’un comportement (exemple : prévision panne d’une machine en fonction des données capteurs / résiliation d’un abonné / diagnostic médical) 4- Prédiction de revenu
  • 9.
     Mieux comprendreun jeu de données via les corrélations faites par les algorithmes ML 1 – Détecter / identifier des signaux faibles (ex : fraude, marketing…) 2 – Segmentation en différente catégories (exemple : campagne de publicité)
  • 10.
    Machine Learning Regression DeepLearning Clustering Data Science Features engineering (….)
  • 12.
    Les algorithmes deML ont été mis au points récemment ? 1 2 3 Le machine Learning est une catégorie de l’Intelligence Artificielle? Il n’est pas nécessaire de connaitre son jeu de données pour réaliser des prédictions performantes (les mathématiques n’ont pas besoin de connaitre les problématiques métier !) ? ” FAUX VRAI FAUX Le ML étudie la causalité d’une prédiction4 FAUX
  • 13.
  • 14.
    Variable cible numérique Type Surface(m²) Nb de pièces Date de construction Prix (€) Appartement 120 4 2005 200 000 Maison 200 7 1964 250 000 Maison 450 15 1878 700 000 Appartement 300 8 1986 ????? Variables prédictives = Features Prédire une valeur numérique : Algorithme de régression
  • 15.
    Variable cible textuelle =classe Type Surface (m²) Nb de pièces Date de construction Prix (€) Appartement 120 4 2005 200 000 Maison 200 7 1964 250 000 Maison 450 15 1878 700 000 ???? 300 8 1986 600 000 Variables prédictives = Features Prédire une valeur textuelle : Algorithme de classification
  • 16.
    0 100 200 300 400 500 600 0 5 1015 20 25 Prix(K€) Observations Revenu réel Fonction prédictive Bruit aléatoire Prix réel = f(X) + a a a a f(X) Modèle ML Ecart imprévisible Prédiction jamais exacte !
  • 17.
    Si « a» trop important… Modèle ML Ecart imprévisible Prédiction jamais exacte ! Prix réel = f(X) + a Données non prédictible ! 0 10 20 30 40 50 60 0 5 10 15 20 25 Prix(K€) Observations Revenu réel Fonction prédictive Bruit
  • 18.
    DWH Open Data Web crawling Dataset d’entrainement avec variables prédictiveset cible Modèle Prédiction Variable cible Hypothèses Variables prédictives …. Préparation Construction du modèle : Générer un programme (ie. le modèle) Production : Utiliser le programme généré
  • 19.
  • 20.
    • Prédiction del’avenir proche en fonction du passé • Approximation d’un pattern à partir d’exemple • Copie d’un comportement en « boite noire » (juste input et output) • Algorithmes qui s’adaptent
  • 21.
  • 22.
  • 23.
    - Complétude: champsmanquant ? - Echelle: Revenues par pays et nombre d’achats par région ! - Exactitude : données réelles ? - Fraicheur : Données du 19e siècle ?
  • 24.
    - Format :CSV, images, JSON, BDD  JSON - Agréger - Enrichir A B C D E F G H 10 3 2 5 7 43 2 4 1 24 34 5 876 7 6 52 43 24 1 558 23 4 5 6 Algorithmes ML
  • 25.
    Moyenne des X: 9 Moyenne des Y : 7.5
  • 26.
    • Une tachepotentiellement (très…) longue • Ingrat ? • Influence directement le modèle • Une bonne préparation des données est meilleure que des bon algorithmes !
  • 27.
  • 28.
  • 29.
  • 30.
    Variable cible numérique Type Surface(m²) Nb de pièces Date de construction Prix (€) Appartement 120 4 2005 200 000 Maison 200 7 1964 250 000 Maison 450 15 1878 700 000 Appartement 300 8 1986 ????? Variables prédictives = Features Prédire une valeur numérique : Algorithme de régression
  • 31.
    Illustration en 2D,majorité des modèles avec 5..10..1000 dimensions 0 10 20 30 40 50 0 5 10 15 20 25 Prix(K€) Observations Revenu réel Fonction prédictive Linéaire : f(X)=aX+b (avec « a » et « b » découverts automatiquement) 0 2000 4000 6000 8000 10000 0 5 10 15 20 25 Prix(K€) Observations Revenu réel Fonction prédictive Polynomiale : f(X)=aXy+bXz… (avec « a » et « b », « x », « y » découverts automatiquement)
  • 32.
    Programme généré parl’algorithme après entrainement : Une formule mathématiques Prix maison = 2*nbPieces + 3*surface
  • 33.
    Essai successifs del’algorithme pour trouver la courbe qui minimise l’erreur Simple à visualiser / comprendre Algorithme supervisé (nécessite un entrainement préalable) Peut être utilisé à des fin prédictive ou descriptive Très sensible à la préparation initiale (valeurs aberrantes…) Suppose que les données peuvent être modélisées sous formes d’équations
  • 34.
    Prix d’une maison: Si 10 + pièces… Type Pièce >10 Surface > 300 Etage <= 3 Ville = Paris MaisonAppartement Oui Non Oui Oui NonNon Oui Non 300 000€ 200 000€900 000€700 000€ 400 000€600 000€
  • 35.
    Programme généré parl’algorithme après l’entrainement : Conditions If(surface>10 && piece=3) if(type==maison) 250 000 else if (type==appartement) 150 000 Else 145 000
  • 36.
    Algorithme supervisé (nécessiteun entrainement préalable) Moins sensible à la qualité de préparation de données Paramètre à définir : nombre d’arbres / profondeurs etc… Plusieurs arbres entrainés avec des subsets variés peuvent être combinés  Random Forest Le random forest est un des algorithmes actuellement le plus performant
  • 37.
  • 38.
    Variable cible textuelle =classe Type Surface (m²) Nb de pièces Date de construction Prix (€) Appartement 120 4 2005 200 000 Maison 200 7 1964 250 000 Maison 450 15 1878 700 000 ???? 300 8 1986 600 000 Variables prédictives = Features Prédire une valeur textuelle : Algorithme de classification
  • 39.
    Malade / Sain Recommandationde film Transformer un problème de régression (ex : prix d’une maison) en classification : « Cette maison va-t-elle se vendre plus cher que le prix moyen de la ville » Oui / Non  Minimiser l’erreur
  • 41.
    Ne fonctionne qu’avec2 catégories uniquement !
  • 42.
    Boisson = alcool Prix> 30€ Steak haché Boisson=vin NonOui Oui Non Oui Adulte Non Oui Non AdolescentEnfant Senior Adulte
  • 44.
  • 45.
    Algorithme non supervisé(pas d’entrainement) Utilisé pour des algorithmes de recommandation (Netflix) Le nombre de catégorie est définis par l’utilisateur ou dynamique Le nom / description des catégorie est à définir par l’utilisateur
  • 47.
  • 48.
  • 49.
  • 50.
    Prototypage Voir grand, commencerpetit Prototypage : tester rapidement et de façon autonome les hypothèses • R • SAS • Scikit-learn (Python) • Dataiku • Excel • Tableau • ….
  • 51.
    Industrialisation : Automatisation,performance, maintenabilité, important volume de données…. Important travail de réécriture de code ! • Brique ETL en amont • Construction du modèle : • Volume de donnée « faible » : R / SAS / Python industrialisé • Volume de donnée « important » : Spark / Hadoop/Mahout (calcul distribué) • Solutions cloud (Azure ML / Amazon ML / Google prediction API) • Distribution du modèle en aval : • Webservice • Embarqué dans une application • …
  • 52.
    Big Data etmachine learning: Manuel du data scientist Dunod MOOC Machine Learning, Coursera Andrew Ng

Notes de l'éditeur