démystifions le machine learning avec spark par david martin pour le salon big data paris 2016

Post on 26-Jan-2017

2.855 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Démystifions le Machine Learning avec Spark

David MARTINDIRECTEUR DU CONSEIL

dmartin@ippon.fr

@_dmartin_

Simple facts

90% de la donnée

mondiale actuelle générée

au cours des 2 dernières années

MachineLearning ?

DéfinitionLe Machine Learning est une branche de l’Intelligence Artificielle…

… qui s’attache à étudier les techniques permettant à un système d’apprendre à

réaliser des tâches.

Souvent couplé au Data Mining, l’ensemble permet d’apporter une réponse

complète aux problématiques d’analyse et de traitement de la donnée.

Machine Learning paradigm == Programming by example

Présentation par l’exemple

Prédire un prixDéterminer le bon prix pour vendre un bien

Quels paramètres pour construire le modèle ?

Surface habitable, surface terrain, exposition, nombre de chambres, salles de

bains, année de construction, ...

Catégorisation d’entitésDéterminer si un équipement présente un risque de panne

Quels paramètres ?

Nb heures de fonctionnement, température(s), régime, nombre total d’opérations,

contraintes, ...

Création de groupes de donnéesGrouper les données : segmenter une base clients

Apprentissage non supervisé : l’algorithme n’a pas reçu d’information d’

appartenance à une catégorie, il crée lui même les groupes

Reconnaissance d’objetsReconnaître un objet, une forme, une lettre, un son, ...

Mais aussi...> Optimisations de campagnes marketing

> Détection de fraude

> Optimisations de chaines d’approvisionnement

> Sécurisation de la fidélité client (customer churn prediction)

> Moteurs de recommandation

> Publicité ou Contenu ciblés

> Nouveaux services disruptifs

...

Les principaux algorithmes

Catégories d’algorithmesCatégories d’algorithmes d’apprentissage :

> Apprentissage supervisé

> Apprentissage non supervisé

> Apprentissage semi supervisé

> Apprentissage par renforcement

...

Principaux algorithmesDes algorithmes ou familles fréquemment utilisé(e)s :

> Logistic regression

> Linear regression

> Support Vector Machine

> Decision Tree / Random Forest

> K-Means

> (Deep) Neural networks

...

De la donnée brute à la prédiction

La donnée bruteAu départ, beaucoup de données…

… potentiellement issues de beaucoup de systèmes

… traitant d’aspects divers

De la donnée brute, encore impropre à la consommation

La préparationNettoyer, Filtrer, Harmoniser les informations pour commencer à travailler

> Supprimer ou compléter les données incomplètes

> Retenir les données relatives au domaine ciblé

> Homogénéiser les formats, les valeurs (si issues de systèmes différents…)

> Qualifier si besoin les informations (cas de l’apprentissage supervisé)

> Dériver les informations de la masse existante

Identifier le cas d’utilisationIdentifier la catégorie du cas d’utilisation

pour identifier le ou les algorithmes potentiellement adaptés

et sélectionner les paramètres en entrée offrant la meilleure pertinence

Le bon choix d’algorithme(s) importe tout autant que la bonne identification et

préparation des paramètres d’entrée

Implémenter, ajuster, itérer> Construire un modèle de prédiction sur la base d’une partie des données

préparées

> Tester le modèle

> Déduire les ajustements nécessaires

> Réitérer cette étape si besoin

Le processus est itératif…

… et peut prendre un temps important

avant de donner satisfaction

Prédire !Prédire reste la finalité

Mais le modèle peut/doit vivre. Les postulats initiaux évoluent.

Il doit être regénéré sur la base de données actualisées

> A/B Testing

> Sauvegarde et versioning des modèles

En image

Raw data

Processed data

CleanFormatExtract features...

Algorithm training Test

Precisionthreshold

Prediction

Input(validation set / real data)

En synthèseLes points importants :

> Disposer de beaucoup de données : le plus le mieux très souvent (mais pas

toujours)

> Pertinence et nombre des paramètres

> Commencer simple et itérer (!= optimisation précoce)

De la théorie à la pratique

Implémentations

Rappels

On n’implémente pas sa version d’un algorithme

On utilise une implémentation existante, testée et éprouvée

Approches et outilsApproche SaaS

> API spécialisées ou génériques

> Azure Machine Learning

> Amazon Machine Learning

> Google Prediction API ...

Approche “tailor made” (plus bas niveau)

> Pandas / Scikit Learn

> Vowpal Wabbit

> Weka

> Apache Spark ...

Apache SparkApache Spark en quelques points

> Projet de l’Université de Berkeley (2009)

> Solution générique et performante de traitement de données

> Adaptée aux très gros volumes de données

> Distribue les traitements

> Données en mémoire pour une meilleure performance

> Ecrit en Scala, bindings Java, Python et R

> Traction de plus en plus forte

Apache Spark

Spark offre une solution performante de traitements de la donnée

Spark ML / ML LibPrincipaux algorithmes supportés

> Classification et régression

○ Linear regression, logistic regression, SVM

○ Naive Bayes (classification)

○ Decision Trees (Random Forest, Gradient-Boosted Trees)

> Système de recommandation

○ Collaborative Filtering (Alternating Least Squares)

> Clustering

○ K-Means, Latent Dirichlet allocation, …

> Frequent Pattern Mining

> Facilités pour la réduction de dimension (SVD, PCA)

> Optimisations possibles (Stochastic Gradient Descent…)

> Organisation des traitements sous forme de Pipelines (Spark ML)

External libraries / ExtensionsSpark peut être étendu :

> librairies additionnelles tirant profit du framework

> Time Series

> Deep Learning

> Graph (GraphFrame)

et profiter de solutions externes :

> Notebooks (Zeppelin, Databricks, …)

> Solutions de dashboards

(Databricks Dashboards)

Pour conclure

Apache Spark est une solution

polyvalente et en pleine croissance

⇒ Pertinence de la plateforme à l’

ère du Big Data

Les perspectives futures sont très

intéressantes :

● Evolution constante de la

bibliothèque d’algorithmes,

● librairies externes

complémentaires spécialisées,

● traction en forte accélération, ...

Venez nous rendre visite au

STAND IPPON 501

PARIS - BORDEAUX - NANTESWASHINGTON DC - NEW-YORK - RICHMOND

contact@ippon.frwww.ippon.fr - www.ippon-hosting.com - www.ippon-digital.fr@ippontech - 01 46 12 48 48

top related