SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
Paul Blondel
Data Scientist @Recast.AI
paul.blondel@recast.ai
@paulb_recast
Quel algorithme
machine learning (ML)
pour mon problème ?
@paulb_recast
Mais d’abord …
Quand et pourquoi utiliser du ML ?
@paulb_recast
- Créer des systèmes de décision
- Trouver une structure
- Détecter des anomalies
- Traiter des données complexes et/ou volumineuses
- Automatiser le traitement des données
Système de décision Découvrir une structure Trouver une anomalie
@paulb_recast
Quand et pourquoi utiliser du ML ?
“Machine Learning is the field of study that gives computers the ability to
learn without being explicitly programmed.” Arthur Samuel (1959)
Quand et pourquoi utiliser du ML ?
@paulb_recast
Détection de visages Systèmes de recommandation
Chat-bots
@paulb_recast
Le ML, la parfaite boîte noire pour
résoudre tous mes problèmes ?
Bien définir le problème à résoudre !
@paulb_recast
Que voulons-nous faire ?
● Prédire une catégorie ? (classification)
● Prédire une quantité ? (régression)
100m2, Orly, Garage …
● Détecter une anomalie ?
20 dollars retiré 5 fois à Las Vegas
● Trouver une structure dans les données ?
Chien ou chat ? Chat ...
230.000 euros
OuiFraude ?
Prix ?
Bien définir le problème à résoudre !
@paulb_recast
De quoi disposons-nous ?
● Avons-nous beaucoup de données ?
● Les données sont-elles labellisées ?
● Avons nous beaucoup de caractéristiques ?
● Combien de classes ai-je dans mes données ? (si données labellisées)
Images labelisées “kim”
Images labelisées “chat”Images non-labelisées
(en désordre)
Bien définir le problème à résoudre !
@paulb_recast
Quelles sont mes contraintes ?
● De quel espace de mémoire disposons nous pour notre modèle ?
● Avons-nous des contraintes de rapidité de prédiction ?
● Avons-nous des contraintes de rapidité d’apprentissage ?
Mais aussi …
● Ne pas oublier la maintenabilité !
● Ne pas négliger la communication !
Un peu de théorie ...
@paulb_recast
L’apprentissage ML revient à découvrir une structure latente dans les données. Trois
approches principales d’apprentissage :
● Supervisé :
Quand toutes les données que nous avons sont labellisées
● Non-supervisé :
Quand les données ne sont pas labellisées
On vient grouper les données “proches” / similaires
● Semi-supervisé:
Quand une partie des données seulement est labellisée
Cas couramment rencontré en pratique
Supervisé ...
Non-supervisé ...
Un peu de théorie ...
@paulb_recast
Deux choses importantes à garder à l’esprit : le bias et la variance.
● Le biais : erreur sur hypothèses d’apprentissage
Biais élevé = sous-apprentissage
Apprentissage
Apprentissage
Prédiction
Prédiction
● La variance : erreur due aux petites fluctuations des données d’apprentissage
Variance élevée = sur-apprentissage
Les algorithmes ML populaires
@paulb_recast
La régression linéaire (algo de régression …)
Apprentissage
Prédiction
Principe:
Trouver une relation linéaire
Supervisé.
Avantages :
- Très simple
- Comm++
- Faible place en mémoire
- Rapide
Désavantages :
- Hypothèse : linéarité !
- Instable si caractéristiques redondantes
Les algorithmes ML populaires
@paulb_recast
Arbre de décision (algo de classification et régression)
Principe:
Subdivise les données d'entraînement en régions ayant des
caractéristiques similaires. Supervisé.
Avantages :
- Plutôt simple
- Comm +++
- Maintenabilité ++
- Pratique quand caractéristiques catégorielles
- Peu de paramètres
- Prédiction rapide
Désavantages :
- Peut prendre beaucoup de mémoire
- Sur-apprendre énormément
- Ne supporte pas l’apprentissage incrémental.
Apprentissage
Prédiction
Les algorithmes ML populaires
@paulb_recast
Apprentissage
Prédiction
Principe:
Les données d’entraînement sont divisées en N sous-ensemble
aléatoire. Pour chaque sous-ensemble, un sous-ensemble de
caractéristiques est aléatoirement tiré. Supervisé.
À la prédiction: vote majoritaire.
Avantages :
- Robuste au sur-apprentissage
- Paramétrisation intuitive et aisée
- Performant quand grand nombre de données
- Supporte grand nombre de caractéristiques
Désavantages :
- Peut prendre beaucoup de mémoire …
- Ne supporte pas l’apprentissage incrémental
- Apprentissage lent
Forêts aléatoires (algo de classification et régression)
Les algorithmes ML populaires
@paulb_recast
Apprentissage
Prédiction
Principe:
Des prédicteurs “faibles” sont appris en série.
Après une itération : l’importance des données d’apprentissage est
ajustée.
Supervisé
Avantages :
- Paramétrisation simple
- Pas besoin d’avoir un prédicteur “faible” complexe
- Robuste au sur-apprentissage
- En série: temps prédiction optimisable !
- Performant quand grand nombre de données
Désavantages :
- Selon type prédicteur faible: beaucoup de mémoire
- Apprentissage lent
Algorithme de Boosting (algo de classification et régression)
Les algorithmes ML populaires
@paulb_recast
Machine à vecteurs de support (algo de classification …)
Principe:
Choisir la structure séparatrice qui sépare au maximum les données
des deux côtés (en se basant sur des “supports”)
Supervisé.
Avantages :
- Conçu pour réduire le sur-apprentissage
- Prédiction très rapide
- Gère très grand nombre de caractéristiques
- Gère grand volume de données d’apprentissage
- Prend très peu de place en mémoire
Désavantages :
- Comm --
- Maintenabilité --
- Apprentissage lent
- Paramétrisation peu intuitive
Apprentissage
Prédiction
Les algorithmes ML populaires
@paulb_recast
Réseaux de neurones (algo de classification et de regression …)
Principe:
Apprendre les poids des connections entre les neurones.
Les poids sont ajustés donnée après donnée.
Avantages :
- Deep: modélise cas complexes
- Gère grand volume de données d’apprentissage
- Pas d'ingénierie des caractéristiques (“boîte noire”)
- Grand nombre de structures (CNN, RNN, etc.)
Désavantages :
- Comm ----
- Maintenabilité ----
- Apprentissage lent
- Prend beaucoup de mémoire (surtout en deep)
- Deep: nécessite grande quantité de données.
- Paramétrisation très peu intuitive
Apprentissage
Prédiction
Les algorithmes ML populaires
@paulb_recast
L’algorithme des K-Moyennes (algo de clusterisation …)
Principe:
K centres sont sélectionnés aléatoirement.
À chaque itération les centres sont réestimés.
Non-supervisé.
Avantages :
- Paramétrisation intuitive
- Fonctionne bien avec beaucoup de données
Désavantages :
- Connaître à l’avance nombre de groupements
- Groupements différents à chaque lancement
Avantage ou désavantage :
- Algo de partitionnement !
Initialisation Première itération
Itération N
Les algorithmes ML populaires
@paulb_recast
L’algorithme One-class SVM (algo de détection d’anomalies …)
Principe:
Choisir la marge séparatrice qui sépare au maximum les données (en
se basant sur des “supports”) de l’origine.
Toutes les données appartiennent à une classe.
Avantages :
- Prédiction très rapide
- Gère très grand nombre de caractéristiques
- Gère grand volume de données d’apprentissage
- Prend très peu de place en mémoire
Désavantages :
- Comm --
- Maintenabilité --
- Apprentissage lent
- Paramétrisation peu intuitive
Apprentissage
Prédiction
Choisir son algo
@paulb_recast
Algo Type
Tolérance nombre
caractéristiques
Paramétrisation
Taille
mémoire
Quantité mini
de données
nécessaire
Comm
Tendance
sur-apprentissage
Difficulté Temps calcul
apprentissage
Temps calcul
prédiction
Régression linéaire R Faible Inexistante Faible Petite ++ Basse Faible Faible Faible
Régression logistique C Faible Simple Faible Petite ++ Basse Faible Faible Faible
Arbre de décision R et C Grande Simple / intuitive Grosse Petite +++ Très élevée Faible Faible Faible
Forêt aléatoire R et C Grande Simple / intuitive Très grosse Grosse ++ Moyenne Moyenne Coûteux Coûteux
Boosting R et C Grande Simple / intuitive Très grosse Grosse + Moyenne Moyenne Coûteux Faible
Naive Bayes C Faible Inexistante Faible Petite ++ Basse Faible Faible Faible
SVM C Très grande Peu intuitive Faible Grosse -- Moyenne Élevée Coûteux Faible
Rés Neurones (RN) C Très grande ** Peu intuitive Moyenne Grosse --- Moyenne Très élevée Coûteux Faible
RN Deep C Très grande ** Peu intuitive Très grosse Très grosse --- Élevée Très élevée Très coûteux Faible
K-Means G* Grande Simple / Intuitive Petite + Faible Faible
One class SVM A Très grande Peu intuitive Faible Grosse -- Moyenne Élevée Coûteux Faible
* Seul algo non-supervisé présenté
** Ne nécessite pas d'ingénierie des caractéristiques
Conseils pratiques
@paulb_recast
● Toujours jeter un oeil à la tête des données !
● Travail itératif : en premier, algos avec paramétrisation intuitive / simple
○ Assurance sur l’approche de résolution du problème
○ Peu de perte de temps en tuning de paramètres en POC
● Ingénierie des caractéristiques:
○ Peu de caractéristiques : peu de facets dispo pour voir les données,
○ Trop de caractéristiques : compenser avec plus de données ou réduire
● Passer en mode bac-à-sable avant implém (R / Matlab / Python)
○ Tester différents algos sur un échantillon de données
○ Et finalement implém ou utiliser le meilleur choix !
● Jauger la généralisation du modèle appris :
○ Cross-validation.
Quelques conseils
@paulb_recast
● Problèmes non-linéaires : éviter Naive Bayes, Régression linéaire et Logistique
● Performances:
○ Difficile de prédire lequel sera le plus performant …
○ Acquérir plus de données d’abord !
@paulb_recast
Alors, le ML, la parfaite boîte noire pour
résoudre tous mes problèmes ?
Conclusion
@paulb_recast
● Comment définir son problème :
○ Que voulons-nous faire ?
○ De quoi disposons-nous ?
○ Quelles sont mes contraintes ?
● Approches ML, le biais et la variance
● Les algos ML populaires
● Une comparaison de ces algos
● Quelques conseils pratiques ...
@paulb_recast
Merci !
Paul Blondel
Data Scientist @Recast.AI
paul.blondel@recast.ai

Contenu connexe

En vedette

En vedette (10)

Kitchen cleaning
Kitchen cleaningKitchen cleaning
Kitchen cleaning
 
Cert Master
Cert MasterCert Master
Cert Master
 
CMIS 102 FINAL PROJECT
CMIS 102 FINAL PROJECTCMIS 102 FINAL PROJECT
CMIS 102 FINAL PROJECT
 
Quel algo ml_pour_mon_probleme
Quel algo ml_pour_mon_problemeQuel algo ml_pour_mon_probleme
Quel algo ml_pour_mon_probleme
 
BMGT 496 FINAL PROJECT
BMGT 496 FINAL PROJECTBMGT 496 FINAL PROJECT
BMGT 496 FINAL PROJECT
 
Edipo rey y la vida es sueño
Edipo rey y la vida es sueñoEdipo rey y la vida es sueño
Edipo rey y la vida es sueño
 
Anatomía trabajo
Anatomía trabajoAnatomía trabajo
Anatomía trabajo
 
BMGT 364 WEEK 3 ASSIGNMENT 1 ORGANIZATIONAL THEORY
BMGT 364 WEEK 3 ASSIGNMENT 1 ORGANIZATIONAL THEORYBMGT 364 WEEK 3 ASSIGNMENT 1 ORGANIZATIONAL THEORY
BMGT 364 WEEK 3 ASSIGNMENT 1 ORGANIZATIONAL THEORY
 
LSVT Berlin Study
LSVT Berlin StudyLSVT Berlin Study
LSVT Berlin Study
 
Cell cycle powerpoint
Cell cycle powerpointCell cycle powerpoint
Cell cycle powerpoint
 

Similaire à Quel algo ml_pour_mon_probleme

Algorithmes machine learning/ neural network / deep learning
Algorithmes machine learning/ neural network / deep learningAlgorithmes machine learning/ neural network / deep learning
Algorithmes machine learning/ neural network / deep learningBassem Brayek
 
Introduction au Machine Learning
Introduction au Machine Learning Introduction au Machine Learning
Introduction au Machine Learning Novagen Conseil
 
Introduction à la Data Science l data business
Introduction à la Data Science l data businessIntroduction à la Data Science l data business
Introduction à la Data Science l data businessVincent de Stoecklin
 
JSS2015 - Machine Learning like a boss
JSS2015 - Machine Learning like a bossJSS2015 - Machine Learning like a boss
JSS2015 - Machine Learning like a bossGUSS
 
Démystifions le machine learning avec spark par David Martin pour le Salon B...
Démystifions le machine learning avec spark par David Martin pour le Salon B...Démystifions le machine learning avec spark par David Martin pour le Salon B...
Démystifions le machine learning avec spark par David Martin pour le Salon B...Ippon
 
Diginova - Session sur le machine learning avec ML.NET
Diginova - Session sur le machine learning avec ML.NETDiginova - Session sur le machine learning avec ML.NET
Diginova - Session sur le machine learning avec ML.NETJulien Chable
 
Apprentissage Automatique et moteurs de recherche
Apprentissage Automatique et moteurs de rechercheApprentissage Automatique et moteurs de recherche
Apprentissage Automatique et moteurs de recherchePhilippe YONNET
 
Visite guidée au pays de la donnée - Traitement automatique des données
Visite guidée au pays de la donnée - Traitement automatique des donnéesVisite guidée au pays de la donnée - Traitement automatique des données
Visite guidée au pays de la donnée - Traitement automatique des donnéesGautier Poupeau
 
Introduction Apprentissage.ppt
Introduction Apprentissage.pptIntroduction Apprentissage.ppt
Introduction Apprentissage.pptFirasBoucedra
 
Tester du legacy code, mission impossible ?
Tester du legacy code, mission impossible ?Tester du legacy code, mission impossible ?
Tester du legacy code, mission impossible ?CGI Québec Formation
 
First step about IA and business
First step about IA and businessFirst step about IA and business
First step about IA and businessDavid Argellies
 
IBM Bluemix Paris Meetup #27 20171219 - Manipuler des probabilités avec aGrum
IBM Bluemix Paris Meetup #27 20171219 - Manipuler des probabilités avec aGrumIBM Bluemix Paris Meetup #27 20171219 - Manipuler des probabilités avec aGrum
IBM Bluemix Paris Meetup #27 20171219 - Manipuler des probabilités avec aGrumIBM France Lab
 
Mix it2014 - Machine Learning et Régulation Numérique
Mix it2014 - Machine Learning et Régulation NumériqueMix it2014 - Machine Learning et Régulation Numérique
Mix it2014 - Machine Learning et Régulation NumériqueDidier Girard
 
Recommender systems
Recommender systemsRecommender systems
Recommender systemsrecsysfr
 

Similaire à Quel algo ml_pour_mon_probleme (20)

Algorithmes machine learning/ neural network / deep learning
Algorithmes machine learning/ neural network / deep learningAlgorithmes machine learning/ neural network / deep learning
Algorithmes machine learning/ neural network / deep learning
 
Introduction au Machine Learning
Introduction au Machine Learning Introduction au Machine Learning
Introduction au Machine Learning
 
Introduction à la Data Science l data business
Introduction à la Data Science l data businessIntroduction à la Data Science l data business
Introduction à la Data Science l data business
 
test
testtest
test
 
JSS2015 - Machine Learning like a boss
JSS2015 - Machine Learning like a bossJSS2015 - Machine Learning like a boss
JSS2015 - Machine Learning like a boss
 
Démystifions le machine learning avec spark par David Martin pour le Salon B...
Démystifions le machine learning avec spark par David Martin pour le Salon B...Démystifions le machine learning avec spark par David Martin pour le Salon B...
Démystifions le machine learning avec spark par David Martin pour le Salon B...
 
Diginova - Session sur le machine learning avec ML.NET
Diginova - Session sur le machine learning avec ML.NETDiginova - Session sur le machine learning avec ML.NET
Diginova - Session sur le machine learning avec ML.NET
 
Debuteraveclesmls
DebuteraveclesmlsDebuteraveclesmls
Debuteraveclesmls
 
Apprentissage Automatique et moteurs de recherche
Apprentissage Automatique et moteurs de rechercheApprentissage Automatique et moteurs de recherche
Apprentissage Automatique et moteurs de recherche
 
Les algorithmes de tri
Les algorithmes de triLes algorithmes de tri
Les algorithmes de tri
 
Visite guidée au pays de la donnée - Traitement automatique des données
Visite guidée au pays de la donnée - Traitement automatique des donnéesVisite guidée au pays de la donnée - Traitement automatique des données
Visite guidée au pays de la donnée - Traitement automatique des données
 
Introduction Apprentissage.ppt
Introduction Apprentissage.pptIntroduction Apprentissage.ppt
Introduction Apprentissage.ppt
 
Tester du legacy code, mission impossible ?
Tester du legacy code, mission impossible ?Tester du legacy code, mission impossible ?
Tester du legacy code, mission impossible ?
 
Data Mining
Data MiningData Mining
Data Mining
 
chap4.pdf
chap4.pdfchap4.pdf
chap4.pdf
 
Outils data
Outils dataOutils data
Outils data
 
First step about IA and business
First step about IA and businessFirst step about IA and business
First step about IA and business
 
IBM Bluemix Paris Meetup #27 20171219 - Manipuler des probabilités avec aGrum
IBM Bluemix Paris Meetup #27 20171219 - Manipuler des probabilités avec aGrumIBM Bluemix Paris Meetup #27 20171219 - Manipuler des probabilités avec aGrum
IBM Bluemix Paris Meetup #27 20171219 - Manipuler des probabilités avec aGrum
 
Mix it2014 - Machine Learning et Régulation Numérique
Mix it2014 - Machine Learning et Régulation NumériqueMix it2014 - Machine Learning et Régulation Numérique
Mix it2014 - Machine Learning et Régulation Numérique
 
Recommender systems
Recommender systemsRecommender systems
Recommender systems
 

Quel algo ml_pour_mon_probleme

  • 1. Paul Blondel Data Scientist @Recast.AI paul.blondel@recast.ai @paulb_recast
  • 2. Quel algorithme machine learning (ML) pour mon problème ? @paulb_recast
  • 3. Mais d’abord … Quand et pourquoi utiliser du ML ? @paulb_recast - Créer des systèmes de décision - Trouver une structure - Détecter des anomalies - Traiter des données complexes et/ou volumineuses - Automatiser le traitement des données Système de décision Découvrir une structure Trouver une anomalie
  • 4. @paulb_recast Quand et pourquoi utiliser du ML ? “Machine Learning is the field of study that gives computers the ability to learn without being explicitly programmed.” Arthur Samuel (1959)
  • 5. Quand et pourquoi utiliser du ML ? @paulb_recast Détection de visages Systèmes de recommandation Chat-bots
  • 6. @paulb_recast Le ML, la parfaite boîte noire pour résoudre tous mes problèmes ?
  • 7. Bien définir le problème à résoudre ! @paulb_recast Que voulons-nous faire ? ● Prédire une catégorie ? (classification) ● Prédire une quantité ? (régression) 100m2, Orly, Garage … ● Détecter une anomalie ? 20 dollars retiré 5 fois à Las Vegas ● Trouver une structure dans les données ? Chien ou chat ? Chat ... 230.000 euros OuiFraude ? Prix ?
  • 8. Bien définir le problème à résoudre ! @paulb_recast De quoi disposons-nous ? ● Avons-nous beaucoup de données ? ● Les données sont-elles labellisées ? ● Avons nous beaucoup de caractéristiques ? ● Combien de classes ai-je dans mes données ? (si données labellisées) Images labelisées “kim” Images labelisées “chat”Images non-labelisées (en désordre)
  • 9. Bien définir le problème à résoudre ! @paulb_recast Quelles sont mes contraintes ? ● De quel espace de mémoire disposons nous pour notre modèle ? ● Avons-nous des contraintes de rapidité de prédiction ? ● Avons-nous des contraintes de rapidité d’apprentissage ? Mais aussi … ● Ne pas oublier la maintenabilité ! ● Ne pas négliger la communication !
  • 10. Un peu de théorie ... @paulb_recast L’apprentissage ML revient à découvrir une structure latente dans les données. Trois approches principales d’apprentissage : ● Supervisé : Quand toutes les données que nous avons sont labellisées ● Non-supervisé : Quand les données ne sont pas labellisées On vient grouper les données “proches” / similaires ● Semi-supervisé: Quand une partie des données seulement est labellisée Cas couramment rencontré en pratique Supervisé ... Non-supervisé ...
  • 11. Un peu de théorie ... @paulb_recast Deux choses importantes à garder à l’esprit : le bias et la variance. ● Le biais : erreur sur hypothèses d’apprentissage Biais élevé = sous-apprentissage Apprentissage Apprentissage Prédiction Prédiction ● La variance : erreur due aux petites fluctuations des données d’apprentissage Variance élevée = sur-apprentissage
  • 12. Les algorithmes ML populaires @paulb_recast La régression linéaire (algo de régression …) Apprentissage Prédiction Principe: Trouver une relation linéaire Supervisé. Avantages : - Très simple - Comm++ - Faible place en mémoire - Rapide Désavantages : - Hypothèse : linéarité ! - Instable si caractéristiques redondantes
  • 13. Les algorithmes ML populaires @paulb_recast Arbre de décision (algo de classification et régression) Principe: Subdivise les données d'entraînement en régions ayant des caractéristiques similaires. Supervisé. Avantages : - Plutôt simple - Comm +++ - Maintenabilité ++ - Pratique quand caractéristiques catégorielles - Peu de paramètres - Prédiction rapide Désavantages : - Peut prendre beaucoup de mémoire - Sur-apprendre énormément - Ne supporte pas l’apprentissage incrémental. Apprentissage Prédiction
  • 14. Les algorithmes ML populaires @paulb_recast Apprentissage Prédiction Principe: Les données d’entraînement sont divisées en N sous-ensemble aléatoire. Pour chaque sous-ensemble, un sous-ensemble de caractéristiques est aléatoirement tiré. Supervisé. À la prédiction: vote majoritaire. Avantages : - Robuste au sur-apprentissage - Paramétrisation intuitive et aisée - Performant quand grand nombre de données - Supporte grand nombre de caractéristiques Désavantages : - Peut prendre beaucoup de mémoire … - Ne supporte pas l’apprentissage incrémental - Apprentissage lent Forêts aléatoires (algo de classification et régression)
  • 15. Les algorithmes ML populaires @paulb_recast Apprentissage Prédiction Principe: Des prédicteurs “faibles” sont appris en série. Après une itération : l’importance des données d’apprentissage est ajustée. Supervisé Avantages : - Paramétrisation simple - Pas besoin d’avoir un prédicteur “faible” complexe - Robuste au sur-apprentissage - En série: temps prédiction optimisable ! - Performant quand grand nombre de données Désavantages : - Selon type prédicteur faible: beaucoup de mémoire - Apprentissage lent Algorithme de Boosting (algo de classification et régression)
  • 16. Les algorithmes ML populaires @paulb_recast Machine à vecteurs de support (algo de classification …) Principe: Choisir la structure séparatrice qui sépare au maximum les données des deux côtés (en se basant sur des “supports”) Supervisé. Avantages : - Conçu pour réduire le sur-apprentissage - Prédiction très rapide - Gère très grand nombre de caractéristiques - Gère grand volume de données d’apprentissage - Prend très peu de place en mémoire Désavantages : - Comm -- - Maintenabilité -- - Apprentissage lent - Paramétrisation peu intuitive Apprentissage Prédiction
  • 17. Les algorithmes ML populaires @paulb_recast Réseaux de neurones (algo de classification et de regression …) Principe: Apprendre les poids des connections entre les neurones. Les poids sont ajustés donnée après donnée. Avantages : - Deep: modélise cas complexes - Gère grand volume de données d’apprentissage - Pas d'ingénierie des caractéristiques (“boîte noire”) - Grand nombre de structures (CNN, RNN, etc.) Désavantages : - Comm ---- - Maintenabilité ---- - Apprentissage lent - Prend beaucoup de mémoire (surtout en deep) - Deep: nécessite grande quantité de données. - Paramétrisation très peu intuitive Apprentissage Prédiction
  • 18. Les algorithmes ML populaires @paulb_recast L’algorithme des K-Moyennes (algo de clusterisation …) Principe: K centres sont sélectionnés aléatoirement. À chaque itération les centres sont réestimés. Non-supervisé. Avantages : - Paramétrisation intuitive - Fonctionne bien avec beaucoup de données Désavantages : - Connaître à l’avance nombre de groupements - Groupements différents à chaque lancement Avantage ou désavantage : - Algo de partitionnement ! Initialisation Première itération Itération N
  • 19. Les algorithmes ML populaires @paulb_recast L’algorithme One-class SVM (algo de détection d’anomalies …) Principe: Choisir la marge séparatrice qui sépare au maximum les données (en se basant sur des “supports”) de l’origine. Toutes les données appartiennent à une classe. Avantages : - Prédiction très rapide - Gère très grand nombre de caractéristiques - Gère grand volume de données d’apprentissage - Prend très peu de place en mémoire Désavantages : - Comm -- - Maintenabilité -- - Apprentissage lent - Paramétrisation peu intuitive Apprentissage Prédiction
  • 20. Choisir son algo @paulb_recast Algo Type Tolérance nombre caractéristiques Paramétrisation Taille mémoire Quantité mini de données nécessaire Comm Tendance sur-apprentissage Difficulté Temps calcul apprentissage Temps calcul prédiction Régression linéaire R Faible Inexistante Faible Petite ++ Basse Faible Faible Faible Régression logistique C Faible Simple Faible Petite ++ Basse Faible Faible Faible Arbre de décision R et C Grande Simple / intuitive Grosse Petite +++ Très élevée Faible Faible Faible Forêt aléatoire R et C Grande Simple / intuitive Très grosse Grosse ++ Moyenne Moyenne Coûteux Coûteux Boosting R et C Grande Simple / intuitive Très grosse Grosse + Moyenne Moyenne Coûteux Faible Naive Bayes C Faible Inexistante Faible Petite ++ Basse Faible Faible Faible SVM C Très grande Peu intuitive Faible Grosse -- Moyenne Élevée Coûteux Faible Rés Neurones (RN) C Très grande ** Peu intuitive Moyenne Grosse --- Moyenne Très élevée Coûteux Faible RN Deep C Très grande ** Peu intuitive Très grosse Très grosse --- Élevée Très élevée Très coûteux Faible K-Means G* Grande Simple / Intuitive Petite + Faible Faible One class SVM A Très grande Peu intuitive Faible Grosse -- Moyenne Élevée Coûteux Faible * Seul algo non-supervisé présenté ** Ne nécessite pas d'ingénierie des caractéristiques
  • 21. Conseils pratiques @paulb_recast ● Toujours jeter un oeil à la tête des données ! ● Travail itératif : en premier, algos avec paramétrisation intuitive / simple ○ Assurance sur l’approche de résolution du problème ○ Peu de perte de temps en tuning de paramètres en POC ● Ingénierie des caractéristiques: ○ Peu de caractéristiques : peu de facets dispo pour voir les données, ○ Trop de caractéristiques : compenser avec plus de données ou réduire ● Passer en mode bac-à-sable avant implém (R / Matlab / Python) ○ Tester différents algos sur un échantillon de données ○ Et finalement implém ou utiliser le meilleur choix ! ● Jauger la généralisation du modèle appris : ○ Cross-validation.
  • 22. Quelques conseils @paulb_recast ● Problèmes non-linéaires : éviter Naive Bayes, Régression linéaire et Logistique ● Performances: ○ Difficile de prédire lequel sera le plus performant … ○ Acquérir plus de données d’abord !
  • 23. @paulb_recast Alors, le ML, la parfaite boîte noire pour résoudre tous mes problèmes ?
  • 24. Conclusion @paulb_recast ● Comment définir son problème : ○ Que voulons-nous faire ? ○ De quoi disposons-nous ? ○ Quelles sont mes contraintes ? ● Approches ML, le biais et la variance ● Les algos ML populaires ● Une comparaison de ces algos ● Quelques conseils pratiques ...
  • 25. @paulb_recast Merci ! Paul Blondel Data Scientist @Recast.AI paul.blondel@recast.ai