Vous êtes sur la page 1sur 23

Ecole Supérieure d’ingénieurs de Gafsa

Framework & technologies Big


Data
Chapitre3: Machine Learning avec
Spark

Rim Afdhal

Niveau: 3éme année Informatique

2022/2023
1
1. Introduction au Machine Learning

L'apprentissage automatique, également appelé apprentissage


machine ou apprentissage artificiel et en anglais machine learning, est
une forme d'intelligence artificielle (IA) qui permet à un système
d'apprendre à partir des données et non à l'aide d'une programmation
explicite.

Machine Learning est un domaine d’étude de l’IA qui vise


à donner aux machines la capacité d’apprendre. Cette technologie
très puissante a permit le développement des voitures autonomes, de
la reconnaissance vocale, et de tous les systèmes dits “intelligents”
depuis les 10 dernières années.

2
1. Introduction au Machine Learning

▪ L’intelligence artificielle tente de reproduire le comportement


humain à l’aide d’un ordinateur.
Mais qu’est-ce qu’on cherche à reproduire:
o La représentation des connaissances
o L’apprentissage
o Le raisonnement(inférence)
o L’intelligence émotionnelle
o La personnalité
o Etc.

3
1. Introduction au Machine Learning

Comparaison avec l’humain

o Le cerveau utilise un réseau très complexe


ayant un grand nombre de cellules de base
interconnectées.
o Il y a ∼ 100 milliards de neurones et 1015
connexions.
o Aujourd’hui, nous essaierons de stimuler un
neurone pour le faire apprendre.

4
1. Introduction au Machine Learning

Comment apprendre?

Dans la vrai vie:


o L’apprentissage se fait grâce à l’interaction entre les données et la
conception de l’apprenant.
o L’apprenant essaye de trouver un modèle(pattern) à travers les
données pour en déduire une conclusion.
o Si l’apprenant fait une erreur, il ajuste sa conception en fonction
du résultat.

5
1. Introduction au Machine Learning

Apprentissage automatique:
o Le perceptron peut être vu comme le type de réseau de neurones le
plus simple. Il possède un vecteur de données en entrées et une
valeur booléenne en sortie.

6
1. Introduction au Machine Learning

Trois grandes approches relèvent de l’apprentissage automatique :

o l’apprentissage supervisé

o l’apprentissage non-supervisé

o l’apprentissage par renforcement

7
1. Introduction au Machine Learning

o Les algorithmes de l’apprentissage automatique sont basés sur des


données. On parle aussi d’échantillons (samples), d’observations,
ou d’exemples. Concrètement, cela signifie que le jeu de données
(dataset).

Deux grandes familles de jeux de données peuvent être utilisées:

o les données étiquetées : chaque observation xn est fournie avec


une étiquette (label) yn ;
o les données non-étiquetées : comme le nom l’indique, aucune
étiquette n’est fournie.

8
1. Introduction au Machine Learning

9
1. Introduction au Machine Learning
Apprentissage supervisé

10
1. Introduction au Machine Learning

11
1. Introduction au Machine Learning

12
1. Introduction au Machine Learning

13
1. Introduction au Machine Learning

14
1. Introduction au Machine Learning

Big Data dans le contexte du machine learning

❖ L'apprentissage automatique nécessite d'appliquer un ensemble


de données adéquat à un processus d'apprentissage. Le Big Data
contribue à améliorer la précision des modèles d'apprentissage
automatique. Avec le Big Data, il est désormais possible de
virtualiser les données pour qu'elles puissent être stockées de la
manière la plus efficace et la plus rentable.

15
1. Introduction au Machine Learning

16
2. Présentation de Spark MLLib

❖ Spark MLLib est la librairie d'apprentissage automatique


(Machine Learning) de Spark.

❖ Elle fournit des outils tel que:


•Des algorithmes de machine learning classiques tel que la
classification, régression, clustering…
•L'extraction de caractéristiques (Features)
•Construire, évaluer et régler les pipelines ML.
•Sauvegarder et charger des algorithmes et des modèles.

17
2. Présentation de Spark MLLib

ML Pipelines
o Les pipelines ML fournissent un ensemble uniforme d'APIs au
dessus des DataFrames, permettant de créer et accorder des
pipelines pratiques de machine learning.

Définition des Pipelines


o En machine learning, il est commun d'exécuter une séquence
d'algorithmes pour traiter et apprendre à partir de données.

18
2. Présentation de Spark MLLib

Par exemple, un flux de traitement d'un document texte peut inclure


les étapes suivantes:

•Diviser chaque document en mots


•Convertir chaque mot en vecteur de caractéristiques numériques
•Créer un modèle prédictif en utiliser les vecteurs et les labels

19
2. Présentation de Spark MLLib

MLLib permet de créer de tels flux (ou pipelines), en définissant une


séquence de PipelineStages, composés de Transformers et
de Estimators, qui doivent être exécutés dans un certain ordre.

•Transformer: Algorithme qui peut transformer un DataFrame en un


autre DataFrame. Par exemple, un modèle ML est un Transformer qui
transforme un DataFrame avec des caractéristiques (ou features), en
un DataFrame avec des prédictions.

20
3. Présentation de Spark GraphX

▪ Spark GraphX est un composant Spark permettant le traitement


à base de graphes. A un niveau élevé, GraphX étend la structure
Spark RDD en introduisant une abstraction sous forme d'un
graphe dirigé formé de sommets (vertex) et d'arêtes (edge),
auxquels sont attachées des propriétés.

▪ Pour gérer ces structures, GraphX propose un ensemble


d'opérateurs ainsi qu'une version optimisée de l'AP. De plus,
plusieurs algorithmes et constructeurs (builders) sont définis
pour simplifier le traitement et analyse de ces graphes.

21
3. Présentation de Spark GraphX

Graphes de Propriétés

o Un graphe de propriétés est un multigraphe dirigé contenant des


objets définis par l'utilisateur attachés à chaque sommet et arête.
Un multigraphe est un graphe dirigé qui peut contenir plusieurs
arêtes reliant les mêmes sommets source et destination, permettant
ainsi de modéliser des situations où les sommets peuvent avoir
plusieurs types de relations.

22
3. Présentation de Spark GraphX

Graphes de Propriétés

o Chaque sommet est représenté par un identifiant unique de 64 bits


(VertexId). Les arêtes doivent avoir chacune un sommet source et
un sommet destination.

o Un graphe de propriété est paramétrisé par deux types: un sommet


(Vertex appelé VD) et une arête (Edge appelé ED). Ces types
optimisés remplacent les types classiques, même primitifs, de
façon a réduire la taille en mémoire réservée.

23

Vous aimerez peut-être aussi