Upload
mohammed-amine-halbaba
View
216
Download
0
Embed Size (px)
Citation preview
8/20/2019 Tps Data Mining(Matlab)
1/14
UNIVERSITE ABDELMALEKESSAÂDI
ECOLE NATIONALE DES SCIENCESAPPLIQUEES - TANGER
TP DATA MINING
8/20/2019 Tps Data Mining(Matlab)
2/14
A. Partie théorique : Data mining
1. Introduction :
La fouille de données (Data mining) est un domaine pluridisciplinaire permettant, à partir
d’une très importante quantité de données brutes, d’en extraire de façon automatique ou semi-
automatique des informations cachées, pertinentes et inconnues auparavant en vue d’une
utilisation industrielle ou opérationnelle de ce savoir. Il peut également mettre en avant les
associations et les tendances et donc servir d’outil de prévisions au service de l’organe
décisionnel.
On distingue le data mining supervisé qui sert essentiellement à la classification des données
et le data mining non supervisé qui est utilisé dans la recherche d’associations ou de groupes
d’individus.
Le champ d’action du data mining s’étend du chargement et du nettoyage des données dans
les bases de données, à la mise en forme des résultats, en passant par le plus important : la
classification et la mise en relation de différentes données.
2. Apprentissage non supervisé (Clustering)
On parle d’apprentissage non supervisé lorsque l’on cherche à extraire des informations
nouvelles et originales d’un ensemble de données dont aucun attribut n’est plus important
qu’un autre. Le résultat des algorithmes de data mining non supervisé doit être analysé afin
d’être retenu pour un usage ou tout simplement rejeté.
3. Apprentissage supervisé
3-1. Définition :En sciences cognitives, l’apprentissage supervisé est une technique d’apprentissage
automatique plus connu sous le terme anglais de machine Learning qui permet à une machine
d’apprendre à réaliser des tâches à partir d’une base d’apprentissage contenant des exemples
déjà traités. Chaque élément (item) de l’ensemble d’apprentissage (training set) étant un
couple entrée-sortie.
8/20/2019 Tps Data Mining(Matlab)
3/14
L'objectif de la classification supervisée est principalement de définir des règles permettant de
classer des objets dans des classes à partir de variables qualitatives ou quantitatives
caractérisant ces objets.
3-2. Méthodes d’apprentissage :
La plupart des algorithmes d'apprentissage supervisés tentent donc de trouver un modèle - une
fonction mathématique - qui explique le lien entre des données d'entrée et les classes de sortie.
Ces jeux d’exemples sont donc utilisés par l’algorithme. Cette méthode de raisonnement est
appelée inductive car on induit de la connaissance (le modèle) à partir des données d'entrée et
des sorties. Grâce à ce modèle, on peut alors déduire les classes de nouvelles données : le
modèle est utilisé pour prédire. Le modèle est bon s'il permet de bien prédire.
Il existe de nombreuses méthodes d'apprentissage supervisé parmi lesquelles on peut citer :la
méthode Bayésienne et les Réseaux de neurones.
Méthode bayésienne :
Théorème de Bayes
Le théorème de Bayes fournit un cadre théorique pour la problématique de la classification à
deux classes Si l'on considère un problème à deux classes C1 et C2, le théorème de Bayes
permet de calculer les probabilités a posteriori connaissant les distributions des observations a
priori.
P(C1|x) est la probabilité a posteriori d'appartenir à la classe C1 connaissant le vecteur des
descripteurs x, p(x|C1) est la densité de probabilité du vecteur x dans la classe C1, P(C1) est
la probabilité a priori de la classe C1 et p(x) est la densité de probabilité non conditionnelle
définie par :
8/20/2019 Tps Data Mining(Matlab)
4/14
Dans le cas d'un problème de classification, cette formule définit une règle de décision : la
probabilité de mauvaise classification est minimisée en sélectionnant la classe qui a la plus
grande probabilité a posteriori MAP (classe qui a le maximum de vraisemblance).
La méthode de la classification bayésienne est une méthode paramétrique qui essaye de
modéliser les densités de probabilités pour calculer la probabilité a posteriori en supposant
que la densité de probabilité suit une loi (estimation des paramètres de la loi moyenne, écart
type…) et en estimant la probabilité a priori par une approche fréquentielle.
Les réseaux de neurones
Un réseau de neurones est un modèle de calcul dont le fonctionnement schématique est
inspiré du fonctionnement des neurones biologiques. Chaque neurone fait une somme
pondérée de ses entrées (ou synapses) et retourne une valeur en fonction de sa fonction
d’activation. Cette valeur peut être utilisée soit comme une des entrées d’une nouvelle couche
de neurones, soit comme un résultat qu’il appartient à l’utilisateur d’interpréter (classe,
résultat d’un calcul, etc.).
Figure1 : Structure d’un neurone artificiel
La phase d’apprentissage d’un réseau de neurones permet de régler le poids associé à chaque
synapse d’entrée (on parle également de coefficient synaptique). C’est un processus long qui
doit être réitéré à chaque modification structurelle de la base de données traitée.
Les principales applications des réseaux de neurones sont l'o ptimisation et l’apprentissage
(supervisé et non supervisé).
Nous nous limitons à l’apprentissage supervisé à partir d'une base d'exemples.
Dans ce mode d’apprentissage, le réseau de neurones essaye de modéliser directement les
probabilités a posteriori par changement de poids des coefficients synoptiques.
8/20/2019 Tps Data Mining(Matlab)
5/14
Perceptron linéaire à seuil :
Modèle de réseau de neurones qui prend en entrée n valeurs x1,..., xn et calcule une sortie o.
Il est défini par la donnée de n+1 constantes : les coefficients synaptiques w1, ..., wn et
le seuil (ou le biais) La sortie o est calculée par la formule :
Figure2 : Le perceptron avec seuil
On ajoute une entrée supplémentaire x0 (le biais), avec le coefficient synaptique suivant :
w0 = − θ On associe comme fonction de transfert la fonction de Heaviside : f(x) = 1 si x > 0
f(x) = 0 sinon
Figure3 : Le perceptron avec entrée supplémentaire
8/20/2019 Tps Data Mining(Matlab)
6/14
B. Partie pratique :
Objectif :
Dans cette partie on va créer des modèles décisionnels pour classifier des données de
dimension 2. Nous construisons dans un premier lieu un classifieur qui se base sur le
maximum de vraisemblance(ML), ensuite on va programmer un classifieur basé sur le
maximum à postériori et on va comparer la précision de ces deux classifieurs. Nous
programmons en dernier lieu un réseau de neurones basé sur l’algorithme de perception.
Programme1 : classiffieur ML
8/20/2019 Tps Data Mining(Matlab)
7/14
Figure4 : Frontière linéaire
8/20/2019 Tps Data Mining(Matlab)
8/14
Programme2 : Comparaison de la précision des
classifieurs ML et MAP
8/20/2019 Tps Data Mining(Matlab)
9/14
8/20/2019 Tps Data Mining(Matlab)
10/14
Ce programme calcul la probabilite d’erreur des classifieurs ML et MAP pour les cinq
populations
Alpha 2 4 6 10 100
ML PE 0.6933 0.8160 0.8657 0.9136 0.9824
Tr 30.67% 18.4% 13.43% 8.64% 1.76%
MAP PE 0.0433 0.0480 0.0314 0.0264 0.0052
Tr 95.67% 95.2% 96.86% 97.36% 99.48%
PE : probabilité d’erreur Tr : Taux de transmission
Tracé des frontières de décision :On prend alpha=2 donc N1=100 et N2=100
8/20/2019 Tps Data Mining(Matlab)
11/14
Figure5 : Frontière de décision pour le classifieur ML
8/20/2019 Tps Data Mining(Matlab)
12/14
Figure6 : Frontière de décision pour le classifieur MAP
Les probabilités d’erreur calculées pour chaque population démontrent que le classifieur
MAP est plus précis parce que ce dernier prend en considération les probabilités a priori.
On peut même remarquer que la frontière de décision pour le classifieur MAP s’approche
et regroupe de plus les individus de la deuxième distribution.
8/20/2019 Tps Data Mining(Matlab)
13/14
Programme 3 : Perceptron linéaire à seuil
8/20/2019 Tps Data Mining(Matlab)
14/14