NightClazz Spark / Machine Learning
-
Upload
zenika -
Category
Technology
-
view
372 -
download
1
Transcript of NightClazz Spark / Machine Learning
Démystifions le Machine Learning
Nightclazz Spark et ML10/03/16Hervé RIVIERE
Hervé RIVIERE
Développeur Big Data / NoSQLZenika
Démystifions le Machine LearningSommaire
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
Use cases
Use cases
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
Use cases
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
Use cases
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é)
Pourquoi ce titre ?
Machine Learning RegressionDeep LearningClusteringData 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 !) ?
”
QUIZZ
FAUX
VRAI
FAUX
Le ML étudie la causalité d’une prédiction 4
FAUX
Fondamentaux
Cas d’exempleCalcul du prix d’une maison
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 000Appartement 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
Cas d’exempleCalcul du prix d’une maison
Prédictions…
0 5 10 15 20 250
100
200
300
400
500
600
Revenu réelFonction prédictive
Observations
Prix
(K€
) Bruit aléatoire
Prix réel = f(X) + a
a
a
af(X)
Modèle MLEcart imprévisible
Prédiction jamais exacte !
Prédictions…
Si « a » trop important…
Modèle ML
Ecart imprévisiblePrédiction jamais exacte !
Prix réel = f(X) + a
Données non prédictible !
0 5 10 15 20 250
10
20
30
40
50
60
Revenu réelFonction prédictive
Observations
Prix
(K€
)
Bruit aléa-toire
Workflow
DWH
Open Data
Web crawling
Dataset d’entrainem
entavec 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
Résumons…
Préparation des données
Préparation des données
DWH
Open Data
Web crawling
Modèle
Prédiction
Hypothèses
Préparation
Dataset d’entraineme
ntavec variables
prédictives et cible
Vérifier….
- 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 ?
Transformer
- 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
Visualiser…
Moyenne des X : 9Moyenne des Y : 7.5
Préparation des données
• 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 !
Un mal nécessaire….
Algorithmes
Création du modèle
DWH
Open Data
Web crawling
Dataset d’entrainement Modèle
Prédiction
Hypothèses
AlgorithmesRégression
Cas d’exempleCalcul du prix d’une maison
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 000Appartement 300 8 1986 ?????
Variables prédictives = Features
Prédire une valeur numérique : Algorithme de régression
RégressionsLinéaire et polynomiale
Illustration en 2D, majorité des modèles avec 5..10..1000 dimensions
0 5 10 15 20 2505
1015202530354045
Revenu réelFonction prédictive
Observations
Prix
(K€
)
Linéaire : f(X)=aX+b (avec « a » et « b » découverts automatiquement)
0 5 10 15 20 250
2000
4000
6000
8000
10000
Revenu réelFonction prédictive
Observations
Prix
(K€
)
Polynomiale : f(X)=aXy+bXz… (avec « a » et « b », « x », « y » découverts automatiquement)
RégressionsLinéaire et logistique
Programme généré par l’algorithme après entrainement :Une formule mathématiques
Prix maison = 2*nbPieces + 3*surface
RégressionsLinéaire et logistique
Essai successifs de l’algorithme pour trouver la courbe qui minimise l’erreur
Simple à visualiser / comprendreAlgorithme 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
Tout n’est pas linéaire
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€
RégressionsArbre de décision
Programme généré par l’algorithme après l’entrainement :Conditions
If(surface>10 && piece=3)if(type==maison) 250 000else if (type==appartement) 150
000Else 145 000
Arbre de décision et random forest
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
AlgorithmesClassification
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
Cas d’exempleCalcul du prix d’une maison
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
Cas d’exempleAutres exemples
Cas d’exempleDonnées issue d’un restaurant
Classificateur binaire
Ne fonctionne qu’avec 2 catégories uniquement !
Le client est-il un homme ou une femme ?
Tout n’est pas linéairePrédire l'âge…
Boisson = alcool
Prix > 30€ Steak haché
Boisson=vin
NonOui
Oui Non
Oui
Adulte
Non
Oui Non
AdolescentEnfant
Senior Adulte
ClusteringClients d’un restaurant
ClusteringClients d’un restaurant
Midi Soir
Clustering
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 !
PrototypageVoir grand, commencer petit
Prototypage : tester rapidement et de façon autonome les hypothèses• R• SAS• Scikit-learn (Python)• Dataiku• Excel• Tableau • ….
IndustrialisationScaling !
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 • …
Ressources
Big Data et machine learning: Manuel du data scientistDunod
MOOC Machine Learning, CourseraAndrew Ng