Cours I.A.A

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 108

1

Chapitre 0

Généralités sur l’Intelligence Artificielle


0.1 INTRODUCTION

Le terme intelligence artificielle date de 1956, lors de la conférence de Darmouth par John
McCarthy, Marvin Lee Minsky, Shannon, Allen Newell, Hebert Simon et Rochester. Cela étant,
l’IA tire naissance d’une fusion d’idées provenant de plusieurs disciplines (Philosophie,
Mathématique, Logique, Psychologie, Ophtalmologie, Cybernétique, Linguistique, etc).
L’intelligence artificielle a connu le succès de ce qu’il énonce une problématique fondamentale : la
possibilité de concevoir une machine intelligente. En quoi consiste La machine intelligente ? Pour
pouvoir répondre à cette question, nous allons utiliser deux approches :

Première approche : Une machine est dite intelligente lorsqu’elle est capable de reproduire le
comportement humain dans un domaine spécifié ou non.

Deuxième approche : Une machine est dite intelligente lorsqu’elle est capable de modéliser le
fonctionnement d’un être humain.

0.2. DEFINITIONS

D’après Richard ATKINSON ; l’intelligence est la capacité de comprendre un contexte nouveau,


et à réagir à cette nouvelle situation de façon adaptée.

D’après le LAROUSSE ; l’adjectif artificiel se dit de tout ce qui est produit par une technique
humaine.

En dépit de ces définitions, la définition de l’intelligence artificielle n’est universelle car chaque
auteur a une compréhension propre de ce terme.

1. D’après FEIGENBAUM ; L’intelligence artificielle est la partie de l’informatique consacrée à


la conception de systèmes informatiques intelligents.
2. D’après BUCHAMAN ; L’intelligence artificielle est le domaine de l’informatique qui effectue
les traitements symboliques et qui emploie des méthodes non algorithmiques.
3. D’après BONNET ; L’intelligence artificielle est une discipline qui vise à comprendre la nature
de l’intelligence en construisant des programmes d’ordinateurs imitant l’intelligence humaine.
4. D’après RICH, l’intelligence artificielle est le domaine qui étudie comment faire exécuter par
l’ordinateur des tâches pour lesquelles l’homme est encore toujours le meilleur.
5. D’après WINSTON, L’intelligence artificielle est une étude des concepts qui permettent de
rendre les machines intelligentes.
6. D’après MARVIN Lee Minsky, L’intelligence artificielle est la construction de programmes
informatiques qui s’adonnent à des tâches qui sont, pour l’instant, accomplies de façon plus
satisfaisante par des êtres humains car elles demandent des processus mentaux de haut niveau
tels que : l’apprentissage perceptuel, l’organisation de la mémoire et le raisonnement critiqué.

En vertu de ces définitions, nous disons que l’intelligence artificielle est la science qui étudie les
moyens nécessaires permettant la substitution de l’homme par la machine dans l’accomplissement
des tâches nécessitant des capacités intellectuelles.
2

0.3. AMBITIONS DE L’INTELLIGENCE ARTIFICIELLE

Il existe deux ambitions de l’intelligence artificielle :

 L’intelligence artificielle forte


 L’intelligence artificielle faible

I.3.1. L’intelligence artificielle forte

Le concept de l’intelligence artificielle forte fait référence à la construction des machines capables
non seulement de produire un comportement humain intelligent, mais aussi d’éprouver une
impression d’une réelle conscience de soi, de vrais sentiments et une compréhension de ses propres
raisonnements. Bref, on cherche à égaler l’homme, voire même le dépasser.

I.3.2. L’intelligence artificielle faible

Le concept de l’intelligence artificielle faible fait référence à la construction des machines capables
de simuler l’intelligence humaine en vue d’aider l’homme dans l’accomplissement de ses tâches
tel que le système expert. Bien que ces machines puissent produire le comportement humain, elles
sont inconscientes de ce comportement et n’éprouvent aucun sentiment humain. Il s’agit d’une
approche pragmatique de l’ingénieur.

I.4. LES DOMAINES DE L’INTELLIGENCE ARTIFICIELLE

Quelques domaines de l’intelligence artificielle sont :

• Les systèmes experts : un système expert est un logiciel capable de simuler le


comportement d'un expert humain effectuant une tâche précise. Il s'agit là d'un domaine
où le succès de l'intelligence artificielle est incontestable et cela est sans doute dû au
caractère très ciblé de l'activité que l'on demande de simuler. Le logiciel MYCIN (1974)
par exemple est capable de fournir un très bon diagnostic dans la mesure où il est
spécialisé dans certains types de leucémies.
• La représentation des connaissances : si l'on veut qu'un logiciel soit capable de
manipuler des connaissances, il faut savoir les représenter symboliquement. C'est là un
des secteurs les plus importants de la recherche en intelligence artificielle.
• La simulation du raisonnement humain. Les hommes sont capables de raisonner sur
des systèmes incomplets, incertains et même contradictoires. On tente de mettre au point
des logiques qui formalisent de tels modes de raisonnement (logiques modales,
temporelles, floue, non monotones, etc.).
• Le traitement du langage naturel. Qu'il s'agisse de traduire un texte dans une autre
langue ou de le résumer, le problème crucial à résoudre est celui de sa compréhension.
On pourra dire qu'un logiciel comprend un texte lorsqu'il pourra le représenter sous une
forme indépendante de la langue dans laquelle il est écrit : c'est une tâche très difficile
mais, bien que l'on soit très loin des enthousiasmes des premiers temps, des progrès
significatifs ont d'ores et déjà été réalisés. On commence à trouver des traducteurs
automatiques d'autant meilleurs qu'ils traitent d'un domaine spécialisé et des logiciels
documentaires non triviaux.
• La résolution de problèmes : représentation, analyse et résolution de problèmes
concrets. Les jeux fournissent une bonne illustration de ce domaine : le champion du
3

monde de Backgammon est un programme depuis quelques années déjà et cela sera
vraisemblablement aussi le cas pour le jeu d'échecs dans peu de temps. Le jeu de Go
résiste beaucoup plus aux efforts des programmeurs de jeux.
• la reconnaissance de la parole : les progrès sont beaucoup plus lents qu'on ne l'imaginait
mais constants. On est encore loin de pouvoir produire un logiciel capable de reconnaître
les paroles d'un locuteur quelconque et cela essentiellement parce que la compréhension
d'un mot, d'une phrase requiert beaucoup d'informations extra langagières (le contexte, la
connaissance du monde dans lequel nous vivons interviennent de manière fondamentale).
Un Dictaphone automatique a malgré tout été proposé dans le commerce en 1994 mais il
ne fonctionne que si le locuteur sépare chacun des mots et n'effectue aucune liaison.
• La reconnaissance de l'écriture : même la reconnaissance de l'écriture dactylographiée
n'est pas un problème facile (bien qu'on commence à trouver sur le marché des logiciels
très performants). L'écriture manuscrite pose des problèmes autrement plus ardus : cela
n'est pas étonnant dans la mesure où cette tâche peut nous poser à nous aussi des
problèmes insolubles. Certains chercheurs essaient de reconstituer le mouvement de la
main à partir du texte qu'elle a écrit afin de comprendre ce qui a été écrit.
• La reconnaissance des visages : longtemps considéré comme un des problèmes les plus
difficiles de l'intelligence artificielle, il semble que l'on obtienne des résultats intéressants
en utilisant des réseaux neuronaux.
• la robotique. Il y a déjà longtemps que des robots industriels ont fait leur apparition dans
les usines. On appelle robot de la première génération, ceux qui sont capables d'exécuter
une série de mouvements préenregistrés. Un robot de la deuxième génération est doté de
moyens de perception visuelle lui permettant de prendre certaines décisions. Un robot de
la troisième génération, objet des recherches actuelles, doit acquérir une plus grande
autonomie comme se déplacer dans un environnement inconnu. On est encore loin du
robot domestique ou ménager.
• l'apprentissage. L’idée est d’avoir un logiciel qui devrait avoir des capacités
d'apprentissage autonome pour pouvoir être véritablement qualifié d’intelligent.
• les réseaux neuronaux. Un réseau de neurones formels est un modèle rudimentaire du
cerveau humain, chaque cellule neuronale étant décrite comme une fonction à seuil
possédant une sortie et dont les entrées sont reliées à d'autres neurones. Il est pourtant
possible d'effectuer des tâches non triviales à l'aide de tels réseaux (la reconnaissance des
formes et en particulier des visages en étant l'exemple le plus frappant). Ces réseaux
partagent plusieurs propriétés importantes avec le cerveau humain : répartition de
l'information sur l'ensemble du réseau (où se trouve la mémoire dans le cerveau ?),
programmation non explicite (nous ne savons pas non plus ce que nous savons), etc.
• les systèmes complexes adaptatifs : on regroupe sous ce vocable les algorithmes
génétiques et les modèles de vie artificielle. Il s'agit là, énoncé de manière abusivement
succincte, d'étudier comment des populations soumises à des lois simples et naturelles
convergent naturellement vers des formes organisées.

0.5. LES PRINCIPAUX LANGAGES DE L’INTELLIGENCE ARTIFICIELLE

 Lisp (1960, J. McMathy)


 Prolog (1973, A.Columerauer)
 SMALLTALK (1972, A.Kay)  JAVA (1994), C++, Schème  Docteur schème.

0.6. AVANTAGES DE L’INTELLIGENCE ARTIFICIELLE

• L’avantage premier de l’intelligence artificielle est la limitation d’erreurs.


4

• Grâce à l’IA, l’homme est dispensé de certains travaux difficiles, répétitifs ou pénibles (exemple
des robots domestiques, système expert etc.).
• Les machines n’ont pas de contraintes physiques, ni besoin de manger.

0.7. INCONVENIENTS DE L’INTELLIGENCE ARTIFICIELLE

D’après plusieurs auteurs, les perspectives de l’intelligence artificielle peuvent avoir des
inconvénients dans la mesure où les machines devenaient plus intelligentes que les hommes et
incontrôlées. Si tel est le cas, elles peuvent prendre le contrôle des hommes, voire même les
exterminer. De la même manière que la conception de ces machines faisait partie des activités
intellectuelles de l’homme, elles peuvent aussi à leur tour créer des machines beaucoup plus
intelligentes qu’elles- mêmes.
5

Chapitre 1

Système d’aide à la prise de décision

INTRODUCTION

Face à la mondialisation et à la concurrence grandissante, la prise de décision est devenue cruciale


pour les dirigeants d'entreprises. L'efficacité de cette prise de décision repose sur la mise à
disposition d'informations pertinentes et d'outils adaptés. Le problème des entreprises est d'exploiter
efficacement d'importants volumes d'informations, provenant soit de leurs systèmes opérationnels,
soit de leur environnement extérieur, pour supporter la prise de décision.
Les systèmes traditionnels s'avèrent inadaptés à une telle activité [Codd 1993] [Inmon 1994]
[Kimball 1996]. Afin de pallier cet inconvénient, des systèmes décisionnels ont été développés ;
selon le "Meta Group", 95% des 500 entreprises les plus importantes aux EtatsUnis ont déjà ou sont
en train de finaliser la mise en place d'un tel système. La plupart de ces systèmes reposent sur un
espace de stockage centralisé, appelé entrepôt de données (data warehouse) ; son rôle est d'intégrer
et de stocker l'information utile aux décideurs et de conserver l'historique des données pour
supporter les analyses effectuées lors des prises de décision [Inmon 1994] [Widom 1995]
[Chaudhuri, Dayal 1997].

Les offres commerciales actuelles proposent des logiciels d'extraction et d'analyse ; ils permettent
de collecter des informations provenant de sources différentes et d'exploiter ces données au travers
d'interfaces utilisateurs. Néanmoins ces outils ne proposent pas une solution intégrée de conception
et de développement des systèmes décisionnels. De plus, ils ne répondent pas entièrement aux
caractéristiques des applications actuelles telles que la modélisation des données complexes et la
gestion de leur évolution [Gatziu, et al 1999] [Pedersen, Jensen 1999]

Les entreprises soucieuses de leur progrès, tentent à satisfaire continuellement leurs clients
potentiels. Ceci les oblige à prendre les décisions adéquates en vue de répondre aux exigences du
marché. L’analyse de ce marché repose sur la quantité importante d’informations provenant de
différentes sources.

L’informatique permet de traiter de manière objective ces informations circulant dans l’entreprise
car la maitrise de ces informations se trouvant au centre des activités de l’entreprise, constitue un
enjeu très capital dans un environnement livré à la concurrence. Pour survivre dans un tel
environnement, la plupart d’entreprises optimisent leurs méthodes et emploient une stratégie
d’amélioration continuelle en anticipant des événements de plusieurs types : évolution du marché,
conservation de la clientèle, création de goût chez les consommateurs, etc. Elle doit également
profiler ses clients afin de mieux les satisfaire.

Cette analyse peut se faire en exploitant les entrepôts de données (ED) d’une part et les outils de
data Mining d’autre part, car l’aide à la décision peut nécessiter de comprendre plus profondément
les chiffres et les faits de l’entreprise. Le résultat issu de cette analyse va devoir remettre en cause
certain choix, soit prendre des risques concentrés sur des secteurs d’activités ou au contraire
s’élargir sur des nouveaux secteurs d’activités. Partant de ce fait, les entreprises ont senti le besoin
et la nécessité de prendre certaines décisions pour répondre aux attentes de clients. Bref, elle va
devoir prendre des décisions ; des décisions stratégiques ayant une forte répercussion sur la santé
6

financière de l’entreprise. Pour cela, l’entreprise doit définir des indicateurs précis et contrôler le
mieux possible les mouvements de passation de commande.
La connaissance de l’environnement décisionnel est un élément vital dans la prise de décision.
Par exemple la connaissance de clients et de leur comportement d’achat constitue un élément
décisionnel pour le lancement d’un produit. Les entreprises possèdent donc, le volume de
données important aux formats généralement hétérogènes, ce qui nécessite l’utilisation d’un outil
permettant l’exploitation efficace et performante de ces données pour aider l’entreprise à la prise
de décision, d’où l’utilisation des entrepôts de données (ED).

Cette approche vise à extraire des données de bases de production, à les assembler, par sujet, à les
organiser, à les transformer et à les résumer pour l’aide à la décision. Pour mieux connaître sa
clientèle, une entreprise peut décider d’effectuer une classification basée sur le comportement des
clients. Ceci implique la nécessité de mettre en place des outils de data Mining. Ces outils
reposent en général sur des techniques basées sur les statistiques, la classification ou l’extraction
de règles associatives.

Dans cette situation, une entreprise utilisera un systèmeinformatique décisionnel pour s’aider
dans cette prise des décisions.Ce système permet donc d’assurer lacroissance d’une entreprise et
les entrepôts de données, constituant principald’un tel système ont d’autre fonctions à part la
sauvegarde de données archivées ; ils apportent une aide bien précieuse aux dirigeants des
sociétés en leurs fournissant une vue synthétique de leurs entreprises ; une connaissance qu’ils ne
sauraient extraire autrement que par le Data Mining.

Sous le modèle du taylorisme et jusque dans les années 80-90, les organisations étaient organisées
de manière pyramidale. Les décisions étaient prises au sommet de la pyramide et les ordres étaient
transmis de manière descendante et unilatérale à tous les niveaux opérationnels. Dans ce type
d’organisation, les décideurs étaient seulement les dirigeants de l’organisation.
Ce type d’organisation était efficace tant que le marché était localisé et qu’il suffisait de produire
pour vendre. Depuis nous sommes confrontés à une complexité grandissante du marché liée :
 À la mondialisation : les concurrents sont plus nombreux, plus innovants, mieux armés.
 À une modification des comportements d’achats : l’organisation se doit d’être centrée
client. En effet, les produits sont de plus en plus personnalisés (on parle de onetoone).
 Au fait que le monde va de plus en plus vite : le critère de délai de livraison ou de
disponibilité de l’information 7 jours du 7, 24h sur 24 associé à la mondialisation et la
personnalisation du besoin client, démultiplie la complexité de l’écosystème de
l’organisation.
Afin de pouvoir répondre à cette complexité grandissante du marché, l’entreprise dans les années
90, puis avec le web dans les années 2000 a amorcé une mutation de son organisation. Une des
conséquences de cette modification latente des organisations est que les cadres opérationnels
sont devenus autant de décideurs de terrain. D’où la nécessité d’un outil d’aide à la décision
orienté Data warehouse ou Data Mining.
7

CHAPITRE II : LES SYSTEMES DECISIONNELS


II.1 Introduction
Avec la généralisation de l’informatique dans tous les secteurs d’activité, les entreprises produisent
et manipulent de très importants volumes de données électroniques. Ces données sont stockées dans
les systèmes opérationnels de l'entreprise au sein de bases de données, de fichiers… L’exploitation
de ces données dans un but d'analyse et de support à la prise de décision s’avère difficile et
fastidieuse ; elle est réalisée le plus souvent de manière imparfaite par les décideurs grâce à des
moyens classiques (requêtes SQL, vues, outils graphiques d'interrogation…).
Ces systèmes paraissent peu adaptés pour servir de support à la prise de décision. Ces bases
opérationnelles utilisent le modèle relationnel ; celui-ci convient bien aux applications gérant
l'activité quotidienne de l'entreprise, mais s'avère inadapté au décisionnel [Codd 1993] [Kimball
1996]. Face à cette inadéquation, les entreprises ont recours à des systèmes d'aide à la décision
spécifiques, basés sur l'approche des entrepôts de données. Cependant, de tels systèmes restent
difficiles à élaborer et sont souvent réalisés de manière empirique, rendant l'évolution du système
décisionnel délicate. Actuellement, les entreprises ont besoin d'outils et de modèles pour la mise en
place de systèmes décisionnels comportant des données évolutives [Inmon 1994] [Pedersen, Jensen
1999] [Mendelzon, Vaisman 2000].

C’est au début des années 1990 que les entreprises commençaient de plus en plus à s’intéresser de
l’informatique décisionnelle. Aujourd’hui la situation de marché est telle que la plupart des
entreprises possèdent un système d’information décisionnel. Celui-ci pourra être plus au moins
complexe et élaboré, allant du simple tableau sous Excel à l’entrepôt des données. Le service
attendu d’un système décisionnel est d’avoir une vue synthétique de l’entreprise, ceci dans le but
de pouvoir prendre des décisions stratégiques concernant les directions et engagements à prendre.
Il existe deux grandes catégories des systèmes d’informations, les systèmes opérationnels et les
systèmes décisionnels. Les premiers s’occupent de la gestion de l’opérationnel de l’entreprise et les
seconds sont utilisés pour prendre du recul et servir de support aux décisions de l’entreprise et des
dirigeants.

Une décision est le résultat d’un processus comportant le choix conscient entre plusieurs solutions
en vue d’atteindre un objectif.

L’efficacité des services d’une entreprise dépend de la qualité de ses décisions, donc améliorer
l’habilité à prendre des décisions, c’est optimiser l’usage des ressources dont dispose l’entreprise.
La maturité du système décisionnel peut fortement varier d’une entreprise à l’autre, certaine
bénéficiant de l’expérience déjà acquise dans ce domaine alors que d’autre se lance dans un terrain
inconnu. L’entrepôt permet aux entreprises d’avoir un système qui regroupe au même endroit les
informations qui jusqu’à lors étaient éparpillé dans une multitude d’applications ou systèmes
différents et souvent non intégrés entre eux.

Quant au décisionnel ou business intelligence est l’ensemble de solutions informatiques, permettant


l’analyse des données de l’entreprise afin d’en dégagé les informations qualitatives nouvelles, qui
vont fonder les décisions qu’elles soient tactiques ou stratégiques.

L’architecture décisionnelle autour de laquelle sont bâtis les systèmes d’aide à la décision assure le
processus de transformation des données en informations à usage décisionnelle. Ces informations à
usage décisionnel contribuent à l’amélioration des performances des savoir-faire structurés sous
forme de processus métiers, et la connaissance contenue dans les ressources utilisées apporte des
8

moyens pour l’amélioration de la prise de décision. Cette prise de décision est fortement l’exécution
des processus.

II .2 Définition d’un système décisionnel

Un système décisionnel (ou Business intelligence) est un ensemble de technologies destinées à


permettre aux collaborateurs d’avoir accès et de comprendre les données de pilotage plus
rapidement, de telle sorte qu’ils prennent des décisions meilleures à temps pour enfin atteindre les
objectifs de leur organisation.

Cette nouvelle utilisation de l’information contenue dans les bases opérationnelles des entreprises,
a donné lieu à l’élaboration de nouveaux systèmes dédiés à l’analyse et à la prise de décision. Ces
systèmes regroupent un ensemble d’informations et d’outils mis à la disposition des décideurs pour
supporter de manière efficace la prise de décision. Ainsi, un système décisionnel est un système
d’information dédié aux applications décisionnelles.

L’informatique décisionnelle représente un ensemble de moyens, d’outils et de méthodes permettant


de collecter, consolider, modéliser et de restituer les données de l’entreprise dans le but d’apporter
une aide à la prise de décision. Un autre atout de l’informatique décisionnelle est de permettre aux
responsables de la stratégie d'une entreprise d’avoir une vue d’ensemble de l’activité traitée.

Les systèmes décisionnels peuvent être illustrés en cinq étapes et permettent de répondre aux
questions suivantes :

 Tableaux de bord : Que s’est-il passé ?


 Analyse : Pourquoi cela s’est-il passé ?  Prédiction : Que va-t-il se passer ?
 Aide opérationnelle : Que se passe-t-il en ce moment ?ou Qu’est-il en train de se passer ?
 Entrepôt actif : Que devrait-il se passer ? ou Que faire ?

L’architecture des systèmes décisionnels met en jeu quatre éléments essentiels :


les sources de données,l’entrepôt de données,les magasins de données et les outils d’analyse et
d’interrogation.
a) Les sources de données sont nombreuses, variées, distribuées et autonomes. Elles peuvent
être internes (bases de production) ou externes (Internet, bases des partenaires) à
l’entreprise.
b) L’entrepôt de données est le lieu de stockage centralisé des informations utiles pour les
décideurs. Il met en commun les données provenant des différentes sources et conserve
leurs évolutions.
c) Les magasins de données sont des extraits de l’entrepôt orientés sujet. Les données sont
organisées de manière adéquate pour permettre des analyses rapides à des fins de prise
de décision.
d) Les outils d’analyse permettent de manipuler les données suivant des axes d’analyses.
L’information est visualisée au travers d’interfaces interactives fonctionnelles dédiées à
des décideurs souvent non informaticiens.
9

II.3 Les fonctionnalités d’un système décisionnel

Les besoins des utilisateurs peuvent être regroupés en quatre catégories : Simuler, Analyser les
données, Produire des états de gestion, Suivre et Contrôler. Face à ces besoins, les systèmes
décisionnels proposent les fonctionnalités suivantes :

a) Simuler
a.1) Gestion des modèles de calcul (calcul automatique d’ensemble de données complexe en
fonction : de paramètres entrés par l’utilisateur et de règles de gestion) ;
a.2) Elaboration collaborative ;
b) analyser les données
b.1) Fonctionnalités OLAP (Etablissement d’analyses dynamiques multidimensionnelles
avec possibilité de trier, filtrer, zoomer à l’intérieur des données) ;
b.2) Fonctionnalités avancées de datamining. Ensemble de techniques statistiques
sophistiquées permettant de faire apparaître des corrélations, des tendances et des
prévisions
c) Produire des états de gestion
Fonctionnalité de reporting. Requêteurs permettant de produire de façon simple et rapide des
tableaux de données incorporant des calculs plus ou moins sophistiqués ;
d) Suivre et contrôler
d.1) Elaboration de tableaux de bords. Production et diffusion automatique à fréquence
régulière de tableaux de bord regroupant des données hétérogènes ;
d.2) Emission d’alerte. Génération conditionnelle de messages sur différents supports
(Email, Sms…) plus ou moins complexes en fonction de configuration de données.

Il est rare que l’ensemble de ces fonctionnalités soient mises en place dans une entreprise. Les
mises en œuvre sont en outre souvent réalisées par domaine fonctionnel (les ventes, achats…). Par
ailleurs il n’existe pas, de produit couvrant l’ensemble de ces fonctionnalités. Chaque progiciel, en
fonction de son origine et du positionnement que souhaite lui donner son éditeur, est plus ou
moins avancé sur l’un ou l’autre thème.

Il est donc crucial de déterminer précisément ses besoins présents, et futurs, ainsi que les
contraintes liées à son organisation ou à son activité avant de choisir une solution.

II.5 Les apports des Systèmes Décisionnels.

Les apports des systèmes décisionnels sont néanmoins réels. Ils peuvent être classés en deux
catégories :
a) L’amélioration de l’efficacité de la communication et de la distribution des
informations de pilotage ;
b) L’amélioration du pilotage des entreprises résultant de meilleures décisions, prises
plus rapidement.
Si le premier point est aisément compréhensible, présente peu de risque de mise en œuvre et pose
peu de problème d’évaluation ce n’est clairement pas en revanche une source de gains
significative. Il sera très difficile, le plus souvent, de justifier les coûts d’un projet sur cette seule
promesse.

La seconde catégorie à nettement plus de potentiel de gains mais il faut bien reconnaître que les
risques de ne pas atteindre les objectifs initiaux sont réels, sans parler des énormes difficultés
d’évaluation des bénéfices escomptés.
10

Les bénéfices de ce type les plus souvent cités sont les suivants :
• Unicité des chiffres, une seule vérité acceptée par tous,
• Meilleure planification,
• Amélioration de la prise de décision,
• Amélioration de l’efficacité des processus,
• Amélioration de la satisfaction des clients et des fournisseurs,
• Amélioration de la satisfaction des employés.

Architecture

Comparaison du système décisionnel et Système opérationnel

Données décisionnelles Données opérationnelles


Orientées activité (thème, sujet), condensées, Orientées application, détaillées, précises au
représentent des données historiques moment de l’accès
Pas de mise à jour interactive de la part des Mise à jour interactive possible de la part des
utilisateurs utilisateurs
Utilisées par l’ensemble des analystes, gérées Accédées de façon unitaire par une personne
par sous- ensemble à la fois
Exigence différente, haute disponibilité Haute disponibilité en continu
ponctuelle
Peuvent être redondantes Uniques (pas de redondance en théorie)
Grande quantité de données utilisée par les Petite quantité de données utilisées par un
traitements traitement
Cycle de vie différent Réalisation des opérations au jour le jour
Faible probabilité d’accès Forte probabilité d’accès

Parallélisme entre les données décisionnelles et opérationnelles


11

Chapitre 3 :

Le Data Warehouse

III.1 Introduction

L’informatique décisionnelle ou « Business Intelligence » est un système apparu au milieu des


années 80 qui interprète les données complexes de l’entreprise et aide les dirigeants à prendre des
meilleures décisions. L’objectif de l’informatique décisionnelle est de définir les méthodes et les
outils qui permettront à une entreprise de mettre en place son projet décisionnel. Ces outils facilitent
l’accès aux données globales de l’entreprise. Pour cela, il est nécessaire de mettre en place des
techniques décisionnelles capable de traiter de gros volume de données. Il s’agit de l’entreposage
de données « Data Warehouse et Data Mart ».

L’entreposage de données est une collection de données intermédiaire qui permet de stocker les
information provenant des sources externes, des applications de productions, d’Internet… , ces
données sont alimentées par le biais des outils informatique appelés ETL « Extract, Transform,
Load» et qui sont structurées de manière historisés , intégrés, datés, et non volatiles dans l’entrepôt
de données.

Ne vous êtes-vous jamais demandé comment est choisi l’emplacement des produits dans une grande
surface ? Si c’est par pur « feeling » du responsable ou bien par une stratégie marketing bien plus
élaborée… Ou bien encore par quel moyen, la publicité nominative (postal ou par mail) est bien
souvent en relation directe avec nos habitudes de consommations ? La réponse tient en un mot : le
data warehouse.Dés que nous achetons un produit, émettons un appel téléphonique, en quelques
mots : toutes actions liées à l’activité d’une entreprise est stockés dans un data warehouse pour en
être analyse, via des outils de data mining afin de nous étudier. Ceci dans un but bien précis : celui
de nous connaître afin de mieux identifier nos besoins.
« Ne pas anticiper, c’est déjà mourir », Aujourd’hui, toute entreprise doit pouvoir anticiper des
événements de plusieurs type : évolution du marché, fluctuation de la consommation. Elles doivent
également « profiler » ses clients afin de mieux les satisfaire, voir même de savoir créer un nouveau
besoin chez les consommateurs. Elle va devoir remettre en cause certain choix, prendre des risques,
se recentrer sur des secteurs d’activité ou au contraire s’élargie sur des nouveaux. Bref, elle va
devoir prendre des décisions. Des décisions stratégiques ayant une forte répercussion sur la santé
financière de l’entreprise. Dans cette situation, une entreprise utilisera un système décisionnel pour
s’aider dans cette prise de décision. Mais ces entrepôts de données, constituant principale d’un
système informatiquedécisionnel ont bien d’autres fonctions. Ils apportent une aide bien précieuse
aux dirigeants des sociétés en leur fournissant une vue synthétique de leur entreprise. Une
connaissance qu’ils ne sauraient extraire autrement. Pour cela, le data warehouse doit contenir
l’ensemble des données de l’entreprise.

Une fois que le Data Warehouse est crée, on peut mettre en place de reporting et d’analyse pour
différents service, en suite on va construire par service un mini Data Warehouse qui contiendra
uniquement les données qui sont utilisées au sein du service, ce mini Data Warehouse est appelé
Data Mart. Ce dernier vise une problématique précise avec un nombre d’utilisateur plus restreint,
répondant chacun à une nécessité claire identifiée et définie. Les dirigeants veulent également
analyser les années mise à leur disposition et visualiser les informations (indicateurs) par rapport
aux différents axes d’analyse, ce qui nécessite de s’appuyer sur une information pré-packagée et
fortement structurée.
12

Les outils OLAP répondent à ces besoins. «Un data warehouse ne s'achète pas, il se construit.
»Pour utiliser à bon escient un produit, il faut le connaître. Cela est également vrai pour un data
warehouse.
« Les données ne naissent pas pertinentes, elles les deviennent... » Le but ultime d’un data
warehouse est de corréler toutes les informations qu’il contient afin de fournir au décideur un
schéma et/ou une connaissance plus ou moins détaillée de la problématique soumise. Mais un data
warehouse aussi bien pensé soit-il, n’est rien sans de bon outils de recherche.

Un entrepôt de donnée peut contenir plusieurs téraoctets de donnée. Il faut donc des outils
spécialisés dans la recherche d’information dans cet environnement. Cet outil, ou cet ensemble
d’outils est appelé data mining.

III.1.1 Objectifs du Data Warehouse

L’atout principal d’une entreprise réside dans les informations qu’elle possède. Les informations
se présentent généralement sous deux formes : les systèmes opérationnels qui enregistrent les
données et le Data Warehouse. En bref, les systèmes opérationnels représentent l’emplacement de
saisie des données, et l’entrepôt de données l’emplacement de restitution.

Les objectifs fondamentaux du Data Warehouse sont :

a) Rendre accessibles les informations de l’entreprise : le contenu de l’entrepôt doit être


compréhensible et l’utilisateur doit pouvoir y naviguer facilement et avec rapidité. Ces
exigences n’ont ni frontières, ni limites. Des données compréhensiblessont pertinentes et
clairement définies. Par données navigables, on n’entend que l’utilisateur identifie
immédiatement à l’écran le but de ses recherches et accède au résultat en un clic.
b) Rendre cohérente les informations d’une l’entreprise :les informations provenant d’une
branche de l’entreprise peuvent être mise en corrélation avec celles d’une autre branche. Si
deux unités de mesure portent le même nom, elles doivent alors signifier la même chose. A
l’inverse, deux unités ne signifiant pas la même chose doivent être définie différemment.
Une information cohérente suppose une information de grande qualité. Cela veut dire que
l’information est prise en compte et qu’elle est complète.
c) Constituer une source d’information souple et adaptable : l’entrepôt de données est
conçu dans la perspective de notifications perpétuelle, l’arrivé de question nouvelles ne doit
bouleverser ni les données existantes ni les technologies. La conception de Data Mart
distincts composant un entrepôt de données doit être répartie et incrémentielle.
d) Représenter un bastion sécurisé qui protège la capitale information : l’entrepôt de
données ne contrôle pas seulement l’accès aux données, mais il offre à ses gestionnaires une
bonne visibilité des utilisations.
e) Constituer la base décisionnelle de l’entreprise : l’entrepôt de données recèle en son sein
les informations propres à faciliter la prise de décisions.

III.1.2 Le rôle du data warehouse

La chaîne décisionnelle est composée de trois parties :

a) Alimentation du Data Warehouse


13

b) Modélisation

c)Restitution des données : Analyse et prise des décisions

Le rôle primordial d’un data warehouse apparaît ainsi évident dans une stratégie descensionnelle.
L’alimentation du data warehouse en est la phase la plus critique, En effet, importer des données
inutiles apportera de nombreux problèmes. Cela consommera des ressources système et du temps.
De plus, cela rendra les services d’analyses plus lents. Autre point à prendre en compte et la
périodicité d’extraction des données.

Effectivement, le plus souvent, les opérations de collecte de données sont coûteuses en ressource.
Il faut donc trouver un équilibre entre le délai acceptable entre deux mises à jours des tables du
data warehouse et les ressources consommées. Comme nous l’avons indiqué, le Data warehouse
est le centre de chaîne décisionnelle, les utilisateurs n’auront accès qu’aux outils de requête et
d’analyse. Toutes parties de l’alimentation et celles de restitution des données sont gérées par une
équipe informatique interne ou externe à l’entreprise spécialisée en gestion de base de données et
en décisionnel.

III.1.3 La problématique de l’entreprise.

Ce titre amène naturellement à définir la position de l’entreprise par rapport au sujet “ le Data
warehouse ”. Une entreprise se doit en permanence de pouvoir se situer par rapport à la
concurrence, mais également par rapport à la demande et à ce qu’elle peut offrir. C’est sur ces
points qu’un système décisionnel intervient.

L’entreprise construit un système décisionnel pour améliorer sa performance, elle doit décider et
anticiper en fonction de l’information disponible et capitaliser sur ses expériences.

a) Entreprise : est une organisation dotée d’une mission et d’un objectif métier. Elle doit
sa raison d’être et /ou sa pérennité au travers de différent objectifs (sécurité,
développement, rentabilité …). Par voie de conséquence, cette organisation humaine est
dotée d’un centre de décision.
b) Rôle de décideur : il peut être le responsable de l’entreprise, le responsable d’une
fonction ou d’un secteur. Il est donc celui qui engage lapérennité ou la raison d’être de
l’entreprise.pour ces raisons, il doit s’entourer de différents moyens lui permettant une
prise de décision la plus pertinente. Parmi ces moyens, les Data Warehouse ont une place
primordiale. En effet, ils contiennent les données de toute l’activité de l’entreprise. Le
principal problème réside dans l’exploitation de ces informations. Pour cela, il est
primordial de penser au data mining.

c) Le besoin : Pour faire face à la concurrence qu’engendre la mondialisation, les


entreprises doivent être de plus en plus performantes et rapides dans leurs prises de
décisions. D’autre part, les volumes de données suivent un accroissement continu
pouvant atteindre plusieurs Téraoctets pour une société. Bien entendu, ces informations
ne se trouvent pas sur un système unique. Ceci pose la problématique suivante :
Comment prendre des décisions sur la base d’informations issues de systèmes
hétérogènes n’aillant pas de moyens pour communiquer facilement entre eux. Le data
warehouse répond en partie à cette problématique. En effet, cette base de données
regroupe l’ensemble des informations de l’entreprise de façon cohérente dans le
but de faciliter l’analyse et la prise de décision.
14

L’administration, qui gère le dictionnaire de données et le processus d'alimentation de


bout en bout, car le système d’information décisionnelle doit être lui-même piloté. En
pratique, les fonctions de collecte et d' intégration sont étroitement liées entre elles,
et sont généralement associées au data warehouse. De même, diffusion et présentation
sont des fonctions fortement orientées sujet, tournées vers l' utilisateur et son métier,
manipulant des contenus à forte valeur ajoutée informationnelle et non des données
brutes; elles sont donc fortement imbriquées logiquement et techniquement.

Dans notre monde actuel, fait de communications, une entreprise pour survivre doit
pouvoir se situer face à la concurrence, connaître son rapport offre / demande. Pour cela,
il faut se connaître, et l’informatique décisionnelle, au travers d’un data warehouse
apporte tous les éléments de réponse.

III.1.4 Définition du Data Warehouse

Un entrepôt de données ou data warehouse se définit comme étant un ensemble de données


intégrées, orientées sujet, non volatiles, gérées dans un environnement de stockage particulier,
historisées, résumées, disponibles pour l’interrogation et l’analyse et organisées pour le support
d’un processus d’aide à la décision.

Les données d’un data warehouse possèdent les caractéristiques suivantes :

a) Intégrées
Les données de l’entrepôt proviennent de différentes sources éventuellement hétérogènes.
L’intégration consiste à résoudre les problèmes d’hétérogénéité des systèmes de stockage, des
modèles de données, de sémantique de données.

b) Orientées sujet
Le Data Warehouse est organisé au tour des sujets majeurs de l’entreprise. L’intérêt de cette
organisation est de disposer de l’ensemble des informations utiles sur un sujet le plus souvent
transversal aux structures fonctionnelles et organisationnelles de l’entreprise. c) Non volatiles

Tout se conserve, rien ne se perd : cette caractéristique est primordiale dans les entrepôts de
données. En effet, et contrairement aux bases de données classiques, un entrepôt de données est
accessible en ajout ou en consultation uniquement. Les modifications ne sont autorisées que pour
des cas particuliers (correction d’erreurs…etc.).

d) Historisées
La conservation de l’évolution des données dans le temps, constitue une caractéristique majeure
des entrepôts de données. Elle consiste à s’appuyer sur les résultats passés pour la prise de
décision et faire des prédictions ; autrement dit, la conservation des données afin de mieux
appréhender le présent et d’anticiper le futur.

e) Résumées
Les informations issues des sources de données doivent être agrégées et réorganisées afin de
faciliter le processus de prise de décision.

f) Disponibles pour l’interrogation et l’analyse


Les utilisateurs doivent pouvoir consulter les données en fonction de leurs droits d’accès.
15

L’entrepôt de données doit comporter un module de traitement des requêtes, exprimées dans un
langage, doté d’opérateurs puissants, pour l’exploitation de la richesse du modèle.

III.2 La Modélisation de données

La modélisation dimensionnelle (modèle multidimensionnel) souvent appelée modélisation


OLAP se présente comme une alternative au modèle relationnel. Elle correspond mieux aux
besoins du décideur tout en intégrant la modélisation par sujet. Elle aboutit à présenter les
données non plus sous forme de tables comme dans le modèle Entité/Association mais sous
forme de cube centré sur une activité.

III.2.1Modélisation Entité/Relation

Cette modélisation est une discipline qui permet d’éclairer les relations microscopique entre les
données. Dans sa forme la plus simple, elle permet de supprimer toute redondance de données.
Ceci apporte de nombreux avantages au niveau du traitement des transactions, qui deviennent
alors très simples et déterministes.

III.2.2Modélisationmensionnelle
16

Cette modélisationest une méthode de conception logique qui vise à présenter les données sous une
forme standardisée intuitive et qui permet des accès hautement performants. Elle adhère totalement
à la dimensionnalité ainsi qu’à une discipline qui exploite le modèle relationnel en le limitant
sérieusement. Chaque modèle dimensionnel se compose d’une table contenant une clé multiple,
table des faits, et d’un ensemble de tables plus petite nommées, tables dimensionnelles. Chacune de
ces dernières possède une clé primaire unique, qui correspond exactement à l’un des composants de
la clé multiple de la table des faits.

Dans la mesure où elle possède une clé primaire multiple reliée à au moins deux clés externes, la
table des faits exprime toujours une relation n,n (plusieurs à plusieurs).

III.2.3 Avantages de la modélisation dimensionnelle

Le modèle dimensionnel possède un grand nombre d’avantages dont le modèle entité/relation est
dépourvu. Premièrement, le modèle dimensionnel est une structure prévisible et standardisée. Les
générateurs d’états, outils de requête et interfaces utilisateurs peuvent reposer fortement sur le
modèle dimensionnel pour faire en sorte que les interfaces utilisateurs soient plus compréhensibles
et que le traitement soit optimisé. La deuxième force du modèle dimensionnel est que la structure
prévisible du schéma en étoile réside aux changements de comportement inattendus de l’utilisateur.
Toutes les dimensions sont équivalentes. La troisième avantage du modèle dimensionnel réside dans
le fait qu’il est extensible à pour accueillir des données et des besoins d’analyse non prévus au
départ. Ainsi, il est possible d’accomplir :

• Ajouter des faits nouveaux non prévus initialement ;


• Ajouter des dimensions totalement nouvelles ;
• Ajouter des attributs dimensionnels nouveaux non prévus initialement ;
• Décomposer les enregistrements d’une dimension existante en un niveau de détail plus
fin à partir d’une date déterminée ;

III.2.4 Schémas d’un Data Warehouse

Un schéma est un ensemble d’objets de la base de données tels que les tables, des vues, des vues
matérialisé, des index et des synonymes. La conception du schéma d’un Data Warehouse est guidée
par le modèle des données source et par les besoins utilisateurs. L’idée fondamentale de la
modélisation dimensionnelle est que presque tous les types de données peuvent être représentés
dans un cube de données, dont les cellules contiennent des valeurs mesurées et les angles les
dimensions naturelles de données.

III.2.4.1 les objets d’un schéma de Data Warehouse

Les deux types d’objet les plus courants dans les schémas de Data Warehouse sont les tables de
faits et les tables de dimension.

a) Tables de faits
La table de faits est la clef de voûte du modèle dimensionnel où sont stockés les indicateurs de
performances. Le concepteur s’efforce de considérer comme indicateurs les informations d’un
processus d’entreprise dans un système d’information. Les indicateurs étant les données les plus
17

volumineuses d’un système d’information, on ne peut se permettre de les dupliquer dans d’autres
tables mais de les rationaliser au sein de la table de faits.

Une table de faits comprend généralement des colonnes de deux types : celles qui contiennent des
faits numériques (souvent appelés indicateurs) et celles qui servent de clé étrangère vers les tables
de dimension. Une table de faits peut contenir des faits détaillés ou agrégées. Les tables contenant
des faits agrégés sont souvent appelées tables agrégées. Une table de faits contient généralement de
faits de même niveau d’agrégation. La plupart des faits sont additifs, mais ils peuvent être semi
additifs ou non additifs.

Les faits additifs peuvent être agrégés par simple addition arithmétique. C’est par exemple le cas
des ventes. Les faits non additifs ne peuvent pas être additionnés du tout.
C’est le cas des moyennes. Les faits semi additifs peuvent être agrégés selon certaines dimensions
mais pas selon d’autres. C’est le cas, par exemple des niveaux de stock. Une table de faits doit être
définie pour chaque schéma. Du point de vue de la modélisation, la clé primaire de la table de faits
est généralement une clé composée qui est formée de toutes les clés étrangères associées.

b) Tables de dimensions
Une dimension est une structure comprenant une ou plusieurs hiérarchies qui classe les données en
catégories. Les dimensions sont des étiquettes descriptives fournissant des informations
complémentaires sur les faits, qui sont stockées dans les tables de dimension. Il s’agit normalement
de valeurs textuelles descriptives. Plusieurs dimensions distinctes combinées avec les faits
permettant de répondre aux questions relatives à l’activité de l’entreprise.

Les données de dimension son généralement collectées au plus bas niveau de détail, puis agrégées
aux niveaux supérieurs en totaux plus intéressants pour l’analyse, ces agrégations ou cumuls
naturels au sein d’une table de dimension sont appelés des hiérarchies. Les hiérarchies sont des
structures logiques qui utilisent les niveaux ordonnées pour organiser les données.

Pour une dimension temps, par exemple, une hiérarchie peut agréger les données selon le niveau
mensuel, le niveau trimestriel, le niveau annuel. Au sein d’une hiérarchie, chaque niveau est
connecté logiquement aux niveaux supérieurs et inférieurs. Les valeurs des niveaux inférieurs sont
agrégées en valeurs de niveau supérieur.

III.2.4.2 Le Schéma en Etoile


Le schéma en étoile peut être le type le plus simple de schéma de Data Warehouse, il est dit en étoile
parce que son diagramme entité/relation ressemble à une étoile, avec des branches partant d’une
table centrale.

Un schéma en étoile est caractérisé par une ou plusieurs tables de faits, très volumineuses, qui
contiennent les informations essentielles du Data Warehouse et par un certain nombre de tables de
dimension, beaucoup plus petites, qui contiennent chacune des informations sur les entrées
associées à un attribut particulier de la table de faits. Une interrogation en étoile est une jointure
entre une table de faits et un certain nombre de table de dimensions. Chaque table de dimension est
jointe à la table de faits à l’aide d’une jointure de clé primaire à clé étrangère, mais les tables de
dimension ne sont pas jointes entre elles.

Dans un schéma en étoile, une table centrale de faits contenant les faits à analyser, référence les
tables de dimensions par des clefs étrangères. Chaque dimension est décrite par une seule table dont
les attributs représentent les diverses granularités possibles.
18

Les schémas en étoile présentent les avantages suivants : ils fournissent une correspondance
directe et intuitive entre les entités fonctionnelles analysées par les utilisateurs et la conception du
schéma. Ils sont pris en charge par un grand nombre d’outils décisionnels. La manière la plus
naturelle de modéliser un Data Warehouse est la représenter par un schéma en étoile dans lequel
une jointure unique établit la relation entre la table de faits et chaque table de dimension. Un
schéma en étoile optimise les performances en contribuant à simplifier les interrogations et à
raccourcir les temps de réponse. Les schémas en étoile présentent néanmoins quelques limites. La
table centrale peut devenir très volumineuse, sa taille maximale étant déterminée par le produit
des nombres de lignes des tables de dimension. En outre, les tables de dimension ne sont plus
normalisées. Elles sont donc plus volumineuses et plus difficiles à tenir à jour car elles
contiennent beaucoup de données dupliquées.

Dimensions 2
Dimensions 1
Id_dim2
Id_dim1

Table des Faits

Id_f (Pk)
Id_dim1 (Fk)
Id_dim2 (Fk )
Dimensions 3
Id_dim3 (Fk)
Id_dim4 (Fk)
Dimensions 4 Id_dim3

Id_dim4

Fig 2.1 : schéma d’un modèle en étoile

III.2.4.3 Le Schéma en Flocon

Les schémas en flocons normalisent les dimensions pour éliminer les redondances. Autrement dit,
les données de dimension sont stockées dans plusieurs tables et non dans une seule table de grande
taille. Cette structure de schéma consomme moins d’espace disque, mais comme elle utilise
davantage de tables de dimension, elle nécessite un plus grand nombre de jointures de clé
secondaire. Les interrogations sont par conséquent plus complexes et moins performantes.

Dans un schéma en flocon, cette même table de faits, référence les tables de dimensions de premier
niveau, au même titre que le schéma en étoile. La différence réside dans le fait que les dimensions
sont décrites par une succession de tables (à l’aide de clefs étrangères) représentant la granularité
de l'information. Ce schéma évite les redondances d’information mais nécessite des jointures lors
des agrégats de ces dimensions.

Le principal avantage du schéma en flocons est une amélioration des performances des
interrogations due à des besoins réduits en espace de stockage sur disque et la petite taille des
tables de dimension à joindre. Le principal inconvénient de ce schéma est le travail de maintenance
supplémentaire imposé par le nombre accru de tables de dimension.
19

Dimensions 5

Id_dim5
Dimensions 2
Dimensions 1
Id_dim2
Id_dim1 Id_dim 5

Table des Faits

Id_f (Pk)
Id_dim1 (Fk)
Id_dim2 (Fk) Dimensions 3
Id_dim3 (Fk)
Id_dim4 (Fk)
Dimensions 4 Id_dim3
Id_dim 6
Id_dim4

Dimensions 6

Id_dim 6

Fig 2.2 : schéma d’un modèle en flocon

III.2.4.4 Les schémas en constellation de faits

Dans un schéma en constellation, plusieurs modèles dimensionnels se partagent les mêmes


dimensions, c'est-à-dire, les tables de faits ont des tables de dimensions en commun.

Pour conclure, les différences entre ces trois modèles sont faibles et ne peuvent donner lieu à des
comparaisons de performance. Ce sont des schémas issus de la modélisation dimensionnelle utilisés
par les outils décisionnels.

III.3 Architecture du Data Warehouse


20

L’ETL
Une fois la structure du datawarehouse définie, les données doivent être insérées. L’outil qui va
permettre le remplissage de notre base est l’ETL (Extract-Transform-Loading). Comme son nom
l’indique, il commence par extraire les données provenant de différentes sources (Excel,
MySQL…), les transforme si besoin est, puis les charge dans le datawarehouse.

Les systèmes opérationnels, bases de données indispensable à la vie d’une entreprise, permet d’avoir
une activité journalière (gestion de stocks, base de fournisseurs/clients, etc.). Ceci n’est pas le rôle
d’un data warehouse, couplé à des outils de data mining il n’a pour unique but de faciliter la prise
de décision en apportant une vue synthétisée de l’ensemble des données de l’entreprise éparpillées
dans toutes ces bases opérationnelles.

Les données ayant été identifiées, elles doivent être extraites de leurs système sources, transformées
puis acheminées jusqu’aux serveurs de présentation. Elles sont ensuite mise à disposition dans le
but d’être utilisées efficacement par les clients du Data Warehouse.

L’élaboration de l’architecture et l’établissement des priorités doivent en premier lieu être piloté
par les besoins métier.L’architecture du Data Warehouse présente les processus et les outils qui
s’appliquent aux données. Elle répond aux comment récupérer les données sources, comment leur
donner une forme répondant aux besoins et comment les placer à un endroit accessible ? Les outils,
les utilisateurs, le code, tout ce qui donne vie à l’entrepôt de données fait partie de l’architecture.
Ces composants constituent les pompes et les canalisations qui régulent les flux des données et les
dirigent au bon endroit au bon moment. Les emplacements d’origine et de destination des données
font également partie de l’architecture.

Deux sous-ensembles de l’architecture répondent à des besoins suffisamment distincts pour être
pris en considération séparément. Nous avons la zone de construction (back room) et les outils
frontaux(front room). La zone de construction effectue la collecte et la préparation des données.
Le termeacquisition des donnéesest également utilisé pour désigner la zone de construction.Les
outils frontaux sont chargés de livrer les données aux utilisateurs. On parle également d’accès aux
données.Ces deux parties disposent chacune de leurs propres composants de stockage de données.
21

D’un point de vue général, les données quittent les systèmes source pour la zone de préparation
grâce aux applications incluses dans la couche de services de préparation de données. Ce flux
est piloté par les métadonnées contenues dans le catalogue des métadonnées : données qui
décrivent les emplacements et les définitions des sources et des cibles, les transformations de
données, les périodicités des traitements et les dépendances. Une fois que les données sont
combinées et alignées dans la zone de préparation, le même groupe de services est utilisé pour
sélectionner, agréger et restructurer les données en leurs donnant un format exploitable par un
processus d’aide à la décision. Ces données sont chargées sur les plates-formes de serveurs de
présentation et relié par des dimensions et de faits conformes. (Une dimension conforme est une
dimension qui a la même signification dans toutes les tables de faits avec lesquelles elle peut
être liée).
28

Zone de Construction (Back Room) Outils Frontaux (Front Room)


III.4 Construction du Data Warehouse

Supposons que votre entreprise ait décidée de construire un Data Warehouse. Vous avez défini
les besoins et la portée de votre application et vous avez crée un projet conceptuel. Vous devez
ensuite traduire vos besoins en une solution système. Pour ce faire, vous créez la conception
logique et la conception physique du Data Warehouse.

III.4.1 La Conception logique

Une conception logique est conceptuelle et abstraite. A ce stade, il n’est pas nécessaire de s’intéresser
aux détails de l’implémentation physique. Il suffit de définir les types d’informations correspondant à
vos besoins. L’une des techniques utilisée pour modéliser vos besoins logiques en matière
d’informations est la modélisation entité/relation (E/R).

La modélisation E/R consiste à identifier les données importantes (entités), leurs propriétés (attributs)
et les liens entre entités (relations). Dans le cadre de la modélisation, une entité représente une tranche
d’informations. Dans les bases de données relationnelles, une entité correspond souvent à une table, un
attribut est un composant d’une entité qui permet de définir l’unicité de cette entité. Dans les bases de
données relationnelles, un attribut correspond à une colonne. Pour garantir la cohérence des données,
vous devez utiliser des identifiant uniques. Un identifiant unique est ajouté aux tables pour permettre
de distinguer les éléments qui apparaissent à différents endroits.

En pratique, il s’agit habituellement d’une clé primaire. La technique de modélisation entité/relation est
traditionnellement associée à des modèles très normalisés comme les applications OLTP. Elle est
néanmoins utile pour la conception de Data Warehouse, sous la forme d’une modélisation
multidimensionnelle.

Dans le cadre d’une telle modélisation, vous identifiez les informations qui appartiennent à une table
de faits centrale et celles qui appartiennent à une table de dimension associées. Vous identifiez les sujets
ou champs de données, vous définissez les relations entre ces sujets et vous nommez les attributs
correspondant à chaque sujet.

La conception logique doit inclure un ensemble d’entités et d’attributs correspondant à des faits et des
tables de décision, un modèle de transformation des données opérationnelles source en informations
orientées sujet dans le schéma de Data Warehouse cible.

III.4.2 La Conception Physique

Pendant le processus de la conception physique, vous convertissez les données collectées


pendant la phase de la conception logique en une description de la structure physique de la base
de données. Les principaux aspects qui orientent les décisions relatives à la conception physique
sont les performances des interrogations et la maintenance de la base de données. Le processus
de conception physique consiste à convertir les schémas prévus en structures de base données
réelles. A ce stade, vous devez associer :

-Les entités à des tables ;


-Les relatons à des contraintes de clé étrangère ;
-Les attributs à des colonnes ;
- Les identifiants unique à des contraintes de clé primaire ; -Les
identifiants unique à des contraintes de clé unique ;
2

III.5 Le Data Mart

Un Data Mart est un entrepôt qui stock des données provenant de systèmes opérationnels ou d’autre
sources, conçu pour répondre aux besoins spécifiques d’un département ou d’un groupe d’utilisateurs
en termes d’analyse, de contenu, de présentation et de facilité d’emploi. Les informations y sont
stockées dans un format qui est familier aux utilisateurs. Un Data Mart ressemble en fait à un Data
Warehouse sauf qu’il est moins générique. Une approche courante consiste à maintenir des informations
détaillées au niveau du Data warehouse et à les synthétiser dans un Data mart pour chaque groupe ou
département fonctionnel. Un autre choix de conception consiste à créer des Data marts pour chaque
département puis à fusionner ultérieurement ces données dans l’entrepôt global. Chacune de ces
méthodes présente l’avantage de centraliser les informations pour les utilisateurs finaux.

Les caractéristiques propres aux Data Mart sont :


• Les données sont spécialisées pour un groupe ou département particulier ;
• Ils sont conçus pour un accès facile ;
• Le temps de réponse est optimal pour un volume de requêtes moindre ;
• Les différents Data Marts indépendants peuvent être dynamiquement couplé pour se
métamorphoser en Data Warehouse ;
• Les Data Marts sont plus flexibles que les Data Warehouse.
En raison de la nature simplifiée et spécialisée des Data Marts, les entreprises choisissent ces magasins
de données comme solution rapide à leurs besoins en matière d’aide à la décision.

Data Warehouse versus Data Mart

Data Warehouse Data Mart


Utilisation globale de l’entreprise Utilisé par un département ou une unité
fonctionnelle
Difficile et plus long à implémenter Plus facile et rapide à implémenter
Volume de données plus important Volume de données plus petit et spécialisé
Développé sur la base de données actuelle Développé sur les bases des
besoins utilisateurs

Les Data Marts représentent de toute évidence une réponse rapide aux besoins des différents
départements de l’entreprise. Leur coût moindre et leur facilité d’emploi permettent une
implémentation rapide et un retour à l’investissement presque immédiat. Il faut toutefois être
prudent lorsque des Data marts sont ainsi crées pour plusieurs divisions. Ces dernières utilisent
souvent des représentations différentes de certains concepts de gestion. Par exemple, les
départements finances et marketing peuvent tous deux effectué un suivi des ventes réalisées par
l’entreprise, mais défini différemment ce concept. Plus tard, si un employé du marketing a besoin
de recueillir certaines informations à partir du Data Marts des finances, l’entreprise sera
confrontée à un problème. Par conséquent, une vision unifiée est nécessaire même pour
concevoir des Data marts par département.

III.6 OLAP

III.6.1 Présentation

OLAP signifie « On LineAnalyticalProcessus » repose sur une base de données


multidimensionnelle, destinée à exploiter rapidement les dimensions d’une population de
3

données. Le modèle OLAP sera celui du Data Warehouse, il sera construit pour sélectionner et
croiser plusieurs données provenant des sources diverses afin d’en tirer une information
implicite. Ceci a évolué pour aboutir à une méthode d’analyse permettant aux décideurs un accès
rapide et de manière pertinente présentée sous divers angles, dimensions sous forme de cube.
L’outil OLAP repose sur la restructuration et le stockage des données dans un format
multidimensionnel issues de fichiers plats ou de bases de données relationnelles. Ce format
multidimensionnel est connu sous le nom d’hyper cube, ce dernier organise les données le long
de dimensions. Ainsi, les utilisateurs analysent les données suivant les axes propres à leur métier.
OLAP est un mode de stockage prévu pour l’analyse statistique des données. Une base de
données OLAP peut se représenter comme un cube à N dimensions où toutes les intersections
sont pré calculées.

III.6.2 les différents outils OLAP

III.6.2.1 Multidimensionnel OLAP (MOLAP)

Il est plus facile et plus cher à mettre en place, il est conçu exclusivement pour l’analyse
multidimensionnelle avec un mode de stockage optimisé par rapport aux chemins d’accès
prédéfinis. MOLAP repose sur un moteur spécialisé, qui stocke les données dans format tabulaire
propriétaire (Cube). Pour accéder aux données de ce cube, on ne peut pas utiliser le langage de
requête SQL, il faut utiliser une API spécifique.

III.6.2.2 Relationnal OLAP (ROLAP)

Il est plus facile et moins cher à mettre en place, il est moins performant lors des phases de
calculs. En effet, il fait appel à beaucoup de jointure et donc les traitements sont plus
conséquents. Il superpose au dessu des SGBD/R bidimensionnels un modèle qui représente les
données dans un format multidimensionnel. ROLAP propose souvent un composant serveur,
pour optimiser les performances lors de la navigation dans les données. Il est déconseillé
d’accéder en direct à des bases de données de production pour faire des analyses tout simplement
pour des raisons des performances.

III.6.2.3 Hybride OLAP (HOLAP)

HOLAP est une solution hybride entre les deux (MOLAP et ROLAP) qui recherche un bon
compromis au niveau du coût et de la performance. HOLAP désigne les outils d’analyse
multidimensionnelle qui récupèrent les données dans de bases relationnelles ou
multidimensionnelles, de manière transparente pour l’utilisateur. Ces trois notions se retrouvent
surtout lors du développement des solutions. Elles dépendent du software et hardware. Lors de
la modélisation, on ne s’intéresse qu’à concevoir une modélisation orientée décisionnelle,
indépendamment des outils utilisés ultérieurement.

Requêtes MDX

La syntaxe pour rédiger une requête MDX est la suivante :

WITH certaines notations


SELECT les colonnes, les lignes et les autres axes
FROM le cube
4

WHERE les dimensions tranchées et leur tranche (au singulier)


Le résultat d’une telle requête est un tableau multidimensionnel dont les cellules ne
contiennent qu’une valeur (contrairement aux cubes) et dans lequel on peut naviguer avec les
opérations décrites précédemment.

Parmi les dimensions du cube initial, certaines servent d’axes (un axe contient les
membres issus d’un dépliage et/ou d’un cubage) pour le résultat (clause SELECT) et d’autres de
tranchage (clause WHERE) mais pas les deux à la fois.

Pour MDX, les mesures constituent une dimension, et peuvent donc faire l’objet d’un axe ou
d’un tranchage.

Affichons par exemple, le montant des ventes, avec en colonne l’année 2002 et en ligne la
région PACA :

Le résultat de cette requête est le suivant :

Remarques :

– n’oublier ni les accolades dans la clause SELECT ni les parenthèses dans la clause WHERE
;
– rappel : dès qu’un intitulé contient une espace, un accent ou commence par un chiffre, il faut le
délimiter par des crochets ;
– si l’intitulé utilise un crochet fermant], employer les doubles crochets fermants :

[Bill [William]] Clinton]

– pour des raisons qui deviendront claires, si l’intitulé contient une quote ’, alors il faut la doubler :

[K’’sChoice]

– la syntaxe complète des noms de membres dans un cube est : dimension .niveau .membre

– s’il n’y a pas de confusion possible on peut omettre la dimension et/ou le niveau ;
– si dans un même niveau plusieurs membres ont le même nom, préciser autant de parents que
nécessaire pour les distinguer : dimension . [ancêtre le plus ancien] ... [grand-père] . [père] .member

Clause SELECT

La clause SELECT offre plusieurs possibilités. On peut afficher :


5

– plusieurs colonnes et plusieurs lignes :

SELECT {temps.annee.[1998], temps.annee.[2002]} ON COLUMNS,


{geographie.region.PACA, geographie.pays.France} ON ROWS
FROM ventes
WHERE (measures.montant)

Résultat : 2 colonnes et 2 lignes

– tous les enfants d’un membre :


SELECT temps.annee.[1998].CHILDREN ON COLUMNS,
{geographie.region.PACA} ON ROWS
FROM ventes
WHERE (measures.montant)
Résultat : autant de colonnes qu’il y a d’enfants

– tous les membres d’un niveau :


SELECT temps.annee.MEMBERS ON COLUMNS,
{geographie.region.PACA} ON ROWS
FROM ventes
WHERE (measures.montant)
Résultat : autant de colonnes qu’il y a de membres

– une plage de membres :


SELECT {temps.annee.[1998] : temps.annee.[2001]} ON COLUMNS,
{geographie.region.PACA} ON ROWS
FROM ventes
WHERE (measures.montant)
Résultat : autant de colonnes que d’années entre 1998 et 2001 (inclus)

Remarques :

– il n’y a pas de confusion possible entre MEMBERS et CHILDREN puisque l’un s’applique à un
niveau, l’autre à un membre : dimension .niveau . MEMBERS dimension .niveau .membre .
CHILDREN

– on peut aussi utiliser : dimension. MEMBERS (les membres de tous les niveaux de la dimension)
dimension. CHILDREN (les membres du niveau le plus élevé)
6

– avant d’utiliser l’opérateur : s’assurer de l’ordre dans lequel sont stockés les membres.
Mesures
On peut afficher plusieurs mesures à la fois. Mais comme le résultat d’une requête n’autorise
qu’une valeur par cellule, il faut aligner les mesures selon un axe :

SELECT temps.annee.MEMBERS ON COLUMNS,


{measures.montant, measures.NbCommandes} ON ROWS
FROM ventes

Résultat : sur tous les articles et dans tous les pays

Les mesures forment donc naturellement une dimension nommée measures dans
chaque cube. On précise quelle mesure afficher dans la clause WHERE quand on en veut qu’une
(c’est une tranche du cube).
Et on est obligé d’en préciser au moins une, sans quoi une mesure est choisie par défaut.

Clause WHERE
On peut effectuer plusieurs découpes sur le cube. Reprenons par exemple la requête précédente :
SELECT temps.annee.MEMBERS ON COLUMNS,
{measures.montant, measures.NbCommandes} ON ROWS
FROM ventes
WHERE (produits.marque.Channel, geographie.pays.Italie)
Résultat : sur tous les articles de la marque Channel et pour l’Italie seulement

Remarques :

– une dimension ne peut apparaître qu’une fois dans la clause WHERE ;


– si on veut plusieurs tranches dans une dimension, il faut en faire un axe ;
– on ne peut utiliser dans la clause WHERE ni MEMBERS ni CHILDREN.
Le grand danger relatif aux découpes de cube, est que certaines applications MDX n’affichent
pas les tranches alors que c’est une information indispensable pour comprendre les valeurs des
mesures.

Description des axes

Une requête MDX autorise jusqu’`a 127 axes, mais évidemment on ne peut pas dépasser le nombre de
dimensions du cube +1 (avec la dimension measures). Les cinq premiers axes sont
: COLUMNS, ROWS, PAGES, SECTIONS et CHAPTERS. Au-delà il faut utiliser :
AXIS(5), ..., AXIS(126).
7

Exemple à quatre dimensions :

SELECT temps.annee.MEMBERS ON COLUMNS,


geographie.pays.MEMBERS ON ROWS, produits.article.MEMBERS
ON PAGES,
{measures.montant, measures.NbCommandes} ON SECTIONS
FROM ventes

On peut aussi creer un resultat ayant un seul axe :

SELECT temps.annee.MEMBERS ON COLUMNS


FROM ventes
WHERE (measures.montant)

Résultat : les intitulés de colonne et une seule ligne de résultats (pas d’intitulé de ligne)

Ou même n’ayant aucun axe :

SELECT
FROM ventes
WHERE (measures.montant)
Résultat : une cellule contenant le montant total des ventes de toutes les années pour tous les produits
et partout (c’est un mauvais exemple)

SQL SERVER 2008


SQL Server peut gérer deux types de système de données différents :
Les bases OLTP (OnLineTransactionalProcessing) qui correspondent à des bases dans
lesquelles les informations sont stockées de façon directe afin de réutiliser plus tard ces
informations telles qu’elles ont été stockées.
Les bases OLAP (OnLineAnalyticalProcessing) qui contiennent des informations statistiques
afin d’être capable d’extraire les informations sous forme de cube multidimensionnel dans un
but d’aide à la décision par exemple. Les statistiques contenues dans des bases OLAP s’appuient
sur des informations contenues dans une base OLTP.

SQL Server est une collection de composants avec un moteur de base de données et le client
composants
8

Le développement d’applications clientes pour visualiser les données contenues dans le serveur
peut s’appuyer sur différentes technologies.

SQL Native Client sera adopté comme modèle d’accès aux données dans les nouveaux
programmes écrits en VB.Netou C# qui souhaitent travailler avec SQL Server mais aussi dans
les programmes existants lorsque ces dernierssouhaitent travailler avec des éléments spécifiques
à SQL Server, comme le type XML, par exemple.

Première partie : Système Transactionnel (OLTP)

1. Création d’une base de données


Lancement de SQL Server
Démarrer/SQL Server 2008/SQL Server Management Studio
 Préciser le mode d’accès à votre server (Authentification windows ou Authentification sql
server)
 Le nom de votre serveur
 Pour l’authentification sql server vous devez préciser la connexion (par exemplesa si on accède
au serveur comme administrateur) et votre mot de passe. Voir la figure suivante :
 Cliquer sur le bouton se conn
9

On obtient ensuite la figure suivante :

Création d’une nouvelle base de données


 Se positionner le nœud racine de l’arbre. C'est-à-dire sur le nœud base de données
 Clic droit sur ce nœud base de données
 Clic sur nouvelle base de données
 Donner un nom à votre base de données
 Clic sur le bouton ok
10

Voir l’acheminement des ces étapes sur les figure suivantes :

Notre base de données est nommée IscMatadi


Clic sur le bouton ok
Pour la création des tables on procède de la manière suivante :
 Cliquer sur le symbole + à coté du nœud base de données pour voir tous ses nœuds fils,
 Se positionner sur la base de données Isc Matadi
 Cliquer sur le symbole + à côté d’Isc Matadi
 Clic droit sur le nœud table
 Clic sur nouvelle table Voir les figures suivantes :
11
12

Deuxième Partie : Système Décisionnel (OLAP)

Lancer le Business Intelligence Management Studio


 Cliquer sur Démarrer/Programme/Sql server 2008/ server Business Intelligence Development
Studio

 Cliquer sur créer projet ou Fichier/Nouveau projet


 Sélectionner, projet business intelligence
 Sélectionner, projet analysis service
 Donner un nom à votre projet

Création Source de données


 Clic droit sur source de données/clic sur nouvelle source de données
 L’assistant source de données s’affiche
 Cliquer sur le bouton suivant
13

 Cliquer sur le bouton nouveau


 Cliquer sur ok
 Définir le provider (fournisseur)
 Prendre Microsoft OLEDB Provider for SQL SERVER
 Sélectionner votre base de données
 Cliquer sur le bouton suivant
Clic sur nouvelle source de données

 Cliquer sur le bouton suivant

 Cliquer sur le bouton nouveau


14

 Définir le provider (fournisseur)


 Prendre Microsoft OLEDB Provider for SQL SERVER
 Sélectionner votre base de données
 Cliquer sur bouton tester la connexion

 Cliquer sur ok
 Cliquer sur le bouton suivant
15

Cocher la case utiliser le compte de service


 Cliquer sur le bouton suivant  Cliquer sur le bouton terminer

Création Vue des sources de données


 Clic droit sur vue des sources de données
 Clic droit sur nouvelle vue source de données
 Clic sur suivant, suivant
 Désactiver la case créer des relations logique en faisant correspondre les colonnes  Clic sur
suivant
 Sélectionner les tables en cliquant sur le bouton à deux flèches »
 Clic sur suivant
 Clic sur terminer
Voir les figures suivantes :
16
17

Créer votre vue en glissant à partir de table de fait chaque clé étrangère vers la table de dimension
correspondante
18

Création d’une nouvelle dimension


 Clic droit sur Dimension/nouvelle Dimension
 Clic sur suivant
 Clic sur suivant
 Choisir Temps comme table principale
 Définir l’hiérarchie (ex : Année/Trimestre/Mois/Date)
19

Création du CUBE
 Clic sur droit sur Cubes
 Clic sur nouveau cube
 Clic sur suivant
 Clic sur suivant
 Cocher la case de table de fait
 Clic sur suivant, suivant, suivant, suivant, Termier
20

Double cliquer sur chacune de dimension et glisser les attributs vers la gauche
21

 Exécuter en démarrant le débogage (clic sur le bouton verts ou touche F5)


 Double clic sur le cube / Clic sur l’onglet navigateur
22

Chapitre 4
IV.0 Généralités sur le Data mining

Le data mining fait référence à un ensemble de techniques d’exploration


et d’analyse, par des moyens automatiques ou semi-automatiques, d’une masse
importante de données dans le but de découvrir des tendances cachées ou des règles
significatives (non triviales, implicites et potentiellement utiles) [Gardarin, 2000],
[Inmon, 1996].

IV.0.1 Objectifs du data mining

Les objectifs du Data Mining peuvent être regroupés dans trois axes importants :

1. Prédiction (What-if) : consiste à prédire les conséquences d’un événement (ou d’une
décision), se basant sur le passé.
2. Découverte de règles cachées : découvrir des règles associatives, entre différents
événements (Exemple : corrélation entre les ventes de deux produits).
3. Confirmation d’hypothèses : confirmer des hypothèses proposées par les analystes et
décideurs, et les doter d’un degré de confiance.

En considérant le serveur de base données ou le serveur d’entrepôt de données, le Data


mining est considéré comme un client riche de ces deux serveurs.
Notons que le client serveur est un mode de dialogue entre deux processus, l’un appelé
client qui sollicite des services auprès de l’autre appelé serveur, par envoie des requêtes
(send request en anglais). Après avoir lancé une requête par rapport au fait à analyser, le
client data ming applique des méthodes ou procédures sur les données obtenues, afin
d’obtenir les informations nécessaires pour la prise de décision. Ces procédures ou
méthodes, sont classées en deux catégories : Apprentissage non supervisé et
l’apprentissage supervisé

K – Means
Nbre_Classe

Inertie( )
Centre( )
Affect( )

Figure 1.1 Client Data mining


23

Figure 1.2. Schéma d’un système décisionnel

IV.0.2Apprentissage Automatique

L'apprentissage automatique (machine learning en anglais), un des


champs d'étude de l'intelligence artificielle, est la discipline scientifique concernée par le
développement, l'analyse et l'implémentation de méthodes automatisables qui permettent
à une machine (au sens large) d'évoluer grâce à un processus d'apprentissage, et ainsi de
remplir des tâches qui sont difficiles ou impossible d’être réalisées par des moyens
algorithmiques plus classiques.

Des systèmes complexes peuvent être analysés, y compris pour des


données associées à des valeurs symboliques (ex: sur un attribut numérique, non pas
simplement une valeur numérique, juste un nombre, mais une valeur probabilisée, c'est-
à-dire un nombre assorti d'une probabilité ou associé à un intervalle de confiance) ou un
ensemble de modalités possibles sur un attribut numérique ou catégoriel. L'analyse peut
même concerner des données présentées sous forme de graphes ou d'arbres, ou encore de
courbes (par exemple, la courbe d'évolution temporelle d'une mesure ; on parle alors de
données continues, par opposition aux données discrètes associées à des attributs-valeurs
classiques).
Le premier stade de l'analyse est celui de la classification, qui vise à « étiqueter » chaque
donnée en l'associant à une classe.

IV.0.2 Apprentissage non Supervisées

L’apprentissage non supervisé consiste à mettre en évidence les informations cachées


par le grand volume de données, en vue de détecter dans ces données des tendances
cachées. Les techniques utilisées sont : La segmentation (Clustering en anglais),
L’analyse à composante principale, l’analyse factorielle de correspondance.
24

IV.O.3 Apprentissage Supervisées [20]

L’apprentissage supervisé consiste à extrapoler des nouvelles


connaissances à partir de l’échantillon représentatif issu de l’apprentissage non
supervisé. Les techniques utilisées sont : Les réseaux de neurones, le SVM, l’arbre de
décision, les réseaux de bayes,… L’apprentissage supervisé est définie de la manière
suivante :

Formellement, la base d’apprentissage est un doublet


est l’ensemble des observations définies sur
n
IR décrivant les formes et :

est la fonction d’étiquetage. Les , k = 1,…, c sont les étiquettes des classes avec c
= card( le nombre total de classes (une classe n’est associée qu’à une seule
étiquette). La reconnaissance consiste alors à affecter à une nouvelle observation non
étiquetée, une étiquette de classe par comparaison avec est appelé classifieur.

Un classifieur est une fonction mathématique ou un algorithme qui réalise les tâches
d’affectation.
Ce classifieur peut être construit en utilisant les réseaux de neurones, l’arbre de décision, le
SVM ou les réseaux de bayes.
Par exemple, Construisons un classifieur bayesien, qui permet de distinguer les femmes
et les hommes en fonction de leurs tailles. (L’espace de description est à une dimension:
la taille).
Supposons que les densités de probabilité de la taille t (en mètres) pour les classes femme et
homme soient des gaussiennes: à titre d’exemple, soit et

Avec respectivement l’écart type pour les hommes et pour les femmes, et
respectivement la taille moyenne pour les hommes et pour les femmes.

Construisons un classifieur permettant de trouver le sexe d'une personne mesurant 1.60 m

La formule de Bayes donne la probabilité, dite probabilité a posteriori, pour qu'un


individu décrit par le descripteur x appartienne à la classe k :
25

Ainsi, la formule de Bayes fournit les probabilités


bilités a posteriori suivantes:

Avec ces valeurs, un individu provenant de la population et mesurant 1,60


m possède 60% de chance d'être une femme (40% d'être un homme). Si on désire
l'affecter à une classe, il est donc naturel de choisir celle des femmes; ce choix (affecter
l'individu à la classe pour laquelle la probabilité a posteriori d'appartenance est
maximum), constitue la règle de décision de Bayes.

Les densités de probabilité

2.5

2 Hommes

Femmes
1.5
1
1.9
0.5
Taille (en m)
Figure 1.3. : Distribution des individus (femmes et hommes,) en fonction de la taille
0
1.5 1.6 1.7 2 2.1
1.8

La classification automatique
Introduction
Le développement des moyens informatiques (Matériels, Logiciels) a permis dans plusieurs
domaines (Médecine, Economie, Biologie) le stockage et la gestion de grandes masse de
données. Mais hélas, il est difficile, lorsque ce volume de données est considérable, de tirer des
enseignements utiles sur les données, car celles – ci à cause de son volume élevé, vont masquer
les connaissances utiles pour la prise de décision. C’est ainsi que les méthodes de Data Mining
se sont développées pour pallier à cette difficulté.
26

IV.1Généralités sur la classification automatique


Les méthodes de classification non supervisée sont généralement basées sur la minimisation
d’une fonction quadratique, appelée fonction coût. Plusieurs algorithmes ont été développés
parmi lesquels on distingue les méthodes hiérarchiques et les méthodes de partitionnement
direct.

Les méthodes hiérarchiques ont pour objectif de créer des classes par construction d’une
arborescence, et on trouve ici des classes emboitées. Pour trouver des classes disjointes il faut
donc couper cette arborescence à un certain niveau selon le nombre des classes fixé par
l’utilisateur. L’agrégation s’effectue à l’aide des indices de similarité ou dissimilarité.

Pour les méthodes de partitionnement direct, on fixe Le nombre de classes contenues dans les
données, ensuite on définit la distance pour l’agrégation des individus. Dans cette famille, on
distingue les méthodes de nuées dynamiques et les méthodes de centre mobile appelée aussi K-
moyenne(ou K- Means). La méthode des K-moyennes [Duda1973] (ou centre mobile) est une
méthode de partitionnement direct, K étant alors le nombre de classes fixé par l’utilisateur.
Cette méthode agrège les individus autour de centre de gravité de manière à minimiser l’inertie
intra-classe.

IV.1.1Description symbolique d’une variable [47,64]

C’est en 1991[Diday 1991] que l’analyse de données symboliques a été introduite par Diday.
Il améloiré la définition d’une variable afin de pouvoir décrire un individu par des variables yh
à description symbolique de la manière suivante :Soit X l’ensemble d’instance à classer, soit Δ h
l’ensemble d’arrivé. yh est définie par l’application :

Le domaine d’arrivée Δh peut s’écrire à partir du domaine de valeurs élémentaires Oh et nous


pouvons distinguer les trois types de domaine Δ h suivants :
• Δh= Oh. C’est le cas des variables de valeurs unique classique. On parlera ainsi de
variable à description univaluée, quantitative ou qualitative. Par exemple Yn(Xi) =
rectangle.
• Δh= p (Oh) avec p (Oh) est l’ensemble de parties de Oh . C’est le cas d’une variable
qualitative qui peut être décrite par un intervalle de valeurs. On parlera alors de
descriptions multivaluée. Par exemple Yn(Xi) = Oh{rectangle, carré}.
• , l’ensemble des fonctions de 0 h dans [0,1]. On parlera alors de
description modale ou variable floue si les fonctions de 0 h dans [0,1] désignent
les degrés d’appartenance des individus aux sous ensemble flou de 0 h. Le tableau
1.2 suivant présente des exemples de descriptions multivaluées et modales des
variables salaire et forme géométrique.
27

Salaire Forme géométrique


Multivaluée [1500, 2500] {rectangle, carré}
Densité de la Prob (rectangle) = 0,7
Modale loi Prob (carré) = 0,3
normale LN (2000, Prob = 0 ailleurs
σ)
Flou degré
d’appartenance de x
dans A
Tableau 1.1. Exemple de descriptions multivaluées modales, floues

IV.1.2 Les variables à descriptions multivaluées

C’est le cas d’une variable Yh qui peut être décrite par plusieurs valeurs du domaine
d’observation 0 h.
• si le domaine d’observation 0h est quantitatif (continu, discret) ou qualitatif
ordinal, la description multivaluée de Yh est un intervalle de valeurs et le domaine
d’arrivée Δh de Yh est l’ensemble des intervalles fermés bornés sur 0h . Par
exemple, la variable Yh = coût d’hospitalisation pour une intervention peut être Yh
(intervention) = [5161,9236].

• Si le domaine d’observation 0 h est qualitatif nominal, la description multivaluée


de Yh est un ensemble de valeurs et le domaine d’arrivé Δ h de Yh est l’ensemble de
sous-ensembles de 0h. Par exemple, la variable Yh= traitements subis au cours
d’une hospitalisation pour le patient socrate peut prendre les valeurs Yh (socrate)
= {Uncusectomie, Foraminotomie}.

IV.1.3 Les mesures de ressemblance


L’objectif de Data mining est de mettre au point un système d’aide à la décision. Pour
analyser un ensemble de données hétérogènes en fonction des variables qui les
caractérise, il faut segmenter cet ensemble en des groupes homogènes. Pour organiser
automatiquement cet ensemble de données en classe, on doit utiliser, un opérateur capable
d’évaluer précisément les ressemblances ou les dissemblances qui existent entre ces
données.

La notion de ressemblance (ou Proximite) a fait l’objet d’importantes recherches dans des
domaines extrêmement divers. Pour qualifier cet opérateur, plusieurs notions comme la
similarité, la dissimilarité ou la distance peuvent être utilisées [Bisson, 2000].

IV.1.4 Définition
Nous appelons similarité ou dissimilarité toute application à valeurs numériques qui permet de
mesurer le lien entre les individus d’un même ensemble. Pour une similarité le lien entre deux
individus sera d’autant plus fort que sa valeur est grande. Pour une dissimilarité le lien sera
d’autant plus fort que sa valeur dissimilarité est petite [68].
28

IV.1.5. Indice de dissimilarité


Un opérateur de ressemblance défini sur l’ensemble
d’individus est dit indice de dissimilarité (ou dissimilarité), s’il vérifie les
propriétés suivantes :
1. (propriété de symétrie)
2. (propriété de positivé)

IV.1.6. Distance
Un opérateur de ressemblance défini sur l’ensemble
d’individus est dit distance, s’il vérifie en plus des deux propriétés
(1) et (2) les propriétés d’identité et d’inégalité triangulaire suivantes :
3. (propriété de d’identité)
4. (inégalité triangulaire)

IV.1.6. Indice de similarité


Un opérateur de ressemblance défini sur l’ensemble
d’individus est dit indice de similarité (ou similarité), s’il vérifie en
plus de la propriété de symétrie (1) les deux propriétés suivantes :
5. (propriété de positivité)
6. (propriété de maximisation)

Il convient de noter ici que le passage de l’indice de similarité s à la notion duale


d’indice de dissimilarité (que nous noterons d), est trivial. Etant donné s max la
similarité d’un individu avec lui-même (s max = 1 dans le cas d’une similarité
normalisée), il suffit de poser :

IV.1.7Mesure de ressemblance entre individus à descriptions classiques


Le processus de classification vise à structurer les données contenues dans
X={X1, X2, …, Xn } en fonction de leurs ressemblances, sous forme d’un ensemble
de classes à la fois homogènes et compact.
L’ensemble d’individu X est caractérisé généralement sur un ensemble
de p variables Y={Y1, Y2,…, Yp} définies chacune par :

Les données de classification sont décrites dans un tableau Individus-


variables tel que , (h=1,…,p) est soit quantitatif (où toutes les variables sont
quantitatives) ou qualitatif (où toutes les variables sont qualitatives).

Tableau de données numériques (continues ou discrètes)

La distance la plus utilisée pour les données de type quantitatives continues ou discrètes est la
distance de Minkowski d’ordre α définie dans Rm par :
29

Où , si :
• est la distance de city-block ou Manhattan.

• est la distance Euclidienne classique.

(1.4)
• est la distance de Tchebychev définie comme suit :

(1.5)

IV.1.8. Mesure de ressemblance entre variables aléatoires

Dans certains cas, l’utilisateur désire analyser les variables à la place des individus. Ceci
requière la définition d’un opérateur capable d’évaluer la proximité entre ces variables
d’analyse.
L’incertitude sur une variable Yi (respectivement un couple de variables
aléatoires (Yi, Yj)) peut être mesurée par ‘entropie notée H(Yi) (respectivement H(Yi,,Yj)).

La quantité notée I(Yi : Yj), appelée information mutuelle, mesure l’information transmise entre
Yi et Yj.

Comme nous pouvons montrer que que


l’indépendance entre entraine I(Yi : Yj)=0 et qu’une dépendance déterministe
bijective entre Yi et Yj entraîne I(Yi : Yj)=H(Yi : Yj). Dussauchoy a proposé une similarité
normée et une dissimilarité entre variables aléatoires qui s’écrivent comme suit [65] :

IV.2. Méthodes de classification automatique déterministe


Dans cette partie, nous présentons des méthodes de clustering pour des variables classiques,
c’est-à-dire des variables dont les valeurs sont connues avec certitude. Nous insisterons sur
l’algorithme de centre mobile (K-means) et nous verrons son extension sur des données floues
au deuxième chapitre.
30

IV.2.1. Introduction

L’analyse de données est un ensemble des méthodes scientifiques qui consiste à


représenter le nuage des points dans un espace à faible dimension, afin de déterminer
le lien entre les individus et les variables qui les caractérisent. La classification
automatique produit des classes telles que des individus d’une même classe se
ressemblent au sens d’indice de similarité choisi. Ainsi, comme les méthodes d’analyse
factorielle, la classification automatique est une méthode de réduction des données. Il
s’agit d’une démarche très courante qui permet de mieux comprendre l’ensemble
analysé. Ces applications sont nombreuses, en statistique, traitement d’image,
intelligence artificielle, reconnaissance des formes ou encore la compression de
données.
Dans le clustering, contrairement à l’analyse discriminante, on nedispose d’aucune
autre information préalable que la description des données en une liste de variables
communes. C’est pour cette raison que le clustering est une tâche d’apprentissage non
supervisé où les enregistrements sont regroupés en fonction de leur similitude de
manière à vérifier les deux propriétés suivantes :
• Les objets d’une même classe (cluster ou groupe) sont aussi similaires que
possible : c’est l’homogénéité intraclasse (cohésion) qui traduit cette
caractéristique.
• Les objets appartenant à des classes différentes sont aussi différentes que possible
: la plus grande hétérogénéité interclasse (séparation) est recherchée.
Après avoir créé des classes(ou des clusters), il convient de déterminer quelle
signification, si elle existe, doit être accordée à ces clusters. Par exemple dans le domaine
médical, le clustering permet de déterminer des groupes de patients susceptibles d’être
soumis à des suivis thérapeutiques déterminés, chaque classe regroupant les patients
réagissant identiquement. Cette étape qui consiste à donner une signification aux clusters
obtenus est appelée étiquetage.

IV.2.2. Définitions
a) Définition 1
La classification automatique ou analyse de clusters (clustering en anglais), est la tâche qui
segmente une population hétérogène en un certain nombre de groupes, plus homogènes, appelés
clusters.
b) Définition 2

La classification désigne l’ensemble des processus aptes à être exécutés par l’ordinateur pour
constituer les hiérarchies des classes ou de simples partitions établies à partir d’un tableau de
données. La classification consiste à créer une typologie de classe à partir d’un ensemble
d’objets.
31

IV.2.3. Principales approches de classification automatique


IV.2.3.1. Définition [68]
Soit X une matrice de données n x p définie par
où I est un ensemble de n objets (lignes, observations, instances, individus) et J est un ensemble
de p variables (colonnes, attributs)
Une Classification dans un environnement certain sur un ensemble X est une famille finie
des parties de X

IV.2.3.2. Complexité de la classification


Etant donné un ensemble , une distance
définie pour tout couple , deux entiers positifs b et p. Existe – t – il une partition
de X en p classes telle que
?
On peut essayer de résoudre ce problème en engendrant l’ensemble des partitions possibles
puis en testant la validité de partition. Cependant la taille de l’espace des partitions possibles
est de l’ordre . L’algorithme proposé est donc exponentiel.
Le nombre de partition possible est très grand même lorsque le cardinal de X est petit. Si on
considère le partitionnement de X en k classe, le nombre total de partition possible est :
avec s(n,k) le nombre possible de partition de n objets
en k classes. Par exemple, il existe 1701 partitions possibles de 8 objets repartis en 4
classes. Donc plutôt que de chercher la meilleur partition, on se contente d’en proposer
une qualifiée de profitable qui optimise un critère de donné (homogénéité intra classe).

Pour grouper les objets, nous allons utiliser un critère de classification qui mesure la qualité de
toutes les partitions en k classes.

La partition optimale sera avec

IV.2.3.3. Les méthodes des centres mobiles (k-means)


Les algorithmes des centres mobiles ont comme paramètre d’entrée le nombre de classes. Son
objectif est de partager l’ensemble de N objets en k groupes, de manière à minimiser l’inertie
intra classe, et maximiser l’inertie inter classe. Ainsi la similarité à l’intérieur d’un même
groupe est élevé mais faible entre les différentes classes. Pour ce faire ces algorithmes itèrent
en deux étapes, d’abord ils calculent les centres des groupes, deuxièmement, ils assignent
chaque objet au centre le plus proche. Chaque classe est caractérisée par le centre ou prototype
et par ses éléments.
Le prototype des classes est le point de l’espace de dimension p (p correspond au nombre
de descripteurs) où la somme des distances à tous les objets d’un même groupe est
minimale. Avec la méthode de centre mobile classique, lors d’une itération donnée, le
32

calcul des centres se fait après l’affectation des individus dans leurs classe s respectives.
Mais avec K-means qui est une variante de centre mobile, dès qu’on affecte un individu
dans une classe, on recalcule directement le centre, ce qui accélère convergence de
l’algorithme. Nous verrons au chapitre suivant le Fuzzy c-means (FCM) qui est une
extension floue de K-means. FCM est un processus itératif qui permet d’obtenir comme
résultat la matrice de partition floue (U= ) laquelle contient les degrés
d’appartenance de chaque objet à chacune des k classes.

Le K-Means repose généralement sur des algorithmes simples, et permet de traiter


rapidement des ensembles d’effectif assez élevé en optimisant localement un critère. Il
consiste à minimiser le critère suivant :

Où , est le centre de la classe zi. Rappelons que le critère W(z,g), qui


est simplement la somme des inerties des c classes, est appelé inertie intra classe. La
méthode des centres mobiles consiste à chercher la partition telle que le W soit minimal
pour avoir en moyenne des classes bien homogènes, ce qui revient à chercher le
maximum de l’inertie interclasse,

Avec le centre de gravité du nuage et pk est le poids de la classe zk.

IV.2.3.3.1. Théorème de Hyugens

It = W(z,g) + B(z) (1.11)

IV.2.3.3.2. Principe général des méthodes des centres mobiles

La méthode des centres mobiles due à Forgy [Forgy, 1965] est la plus classique et très
utilisée. Elle procède comme suit : dans une première étape, elle consiste à tirer
aléatoirement k individus de la population. Ces individus représentent les centres
provisoires des k classes qui formeront la partition initiale. Ensuite, les autres individus
sont regroupés autour de ces k centres en affectant chacun d’eux au centre le plus
proche.

L’étape suivante consiste à recalculer les k nouveaux centres (dites aussi


centroïdes ou centres de gravité) des k classes, sachant qu’un centre n’est pas
nécessairement un individu de la population. Le processus est répété plusieurs fois
jusqu’à stabilité des centres des classes (les centres ne bougent plus). En pratique, la
méthode des centres mobiles cherche à minimiser l’inertie intra classe définie par la
somme des écarts des centroïdes aux points de leurs classes et donc à maximiser aussi
l’inertie interclasse de la partition donnée par la somme des écarts entre les centroïdes
des classes et le centroïde de la population totale (d’après le théorème de Huygens :
33

inertie totale = inertie intraclasse+ inertie interclasse). En minimisant l’inertie


intraclasse, la méthode des centres mobiles a tendance à chercher des classes sphériques,
d’égal volume et de faible inertie.

Cette méthode a connu des améliorations comme la méthode des k-moyennes (k means)
de Mac Queen. Avec l’approche kmeans, les centres sont recalculés après chaque
affectation d’un individu dans une classe, plutôt que d’attendre l’affectation de tous le s
individus avant de mettre à jour les centres. Cette approche conduit généralement à de
meilleurs résultats que la méthode des centres mobiles et la convergence est également
plus rapide.

IV.2.3.3.3. Déroulement de l’algorithme.

Figure 1.4. Déroulement de l’algorithme de centre mobile


Cet algorithme se déroule de la façon suivante:
Initialisation : s points tirés au hasard pour les centres de gravité de chaque classe,
Affectation : On affecte les points à la classe la plus proche,
Représentation : On recalcule les nouveaux centres de gravité,
On répète les étapes d’affectation et de représentation jusqu’à la convergence de
l’algorithme (i. e. plus de changement de partition).

Les expériences montrant que le nombre d’itérations nécessaires à l’algorithme pour converger
est assez faible. Cet algorithme est adapté à des tableaux des grandes tailles, sa complexité
étant linéaire. Une méthode de classification plus générale existe, ces sont les nuées
dynamiques.
34

IV.2.3.4. Les nuées dynamiques

La méthode dite des nuées dynamiques est l’une des méthodes de partitionnement dite de «
réallocation » pouvant avantageusement s’appliquer sur une grande population (grand ficher
numérique ou grand tableau) avec un critère de qualité de la partition obtenue. Les algorithmes
des nuées dynamiques sont itératifs et optimisent un critère mathématique.

Cette méthode a été développé par Diday et se distingue principalement des approches
précédentes par le mode de représentation des classes appelé aussi noyau. Ce dernier peut être
son centre de gravité (dans ce cas nous retrouvons l’approche des centres mobiles), un ensemble
d’individus, une distance (l’approche des distances adaptatives), une loi de probabilité (la
décomposition de mélanges), l’axe factoriel etc.

A) Bases théoriques de l’algorithme


Soit, un ensemble de n individus. Chaque individu , muni de sa masse est
caractérisé par p variables.
Le problème posé est de trouver sur l’ensemble I une partition en k (k fixé à priori) classes au
maximum satisfaisant un critère global de qualité.

Principe général de la méthode

Soient :

- I : l’ensemble de n individus à partitionner en k classes au maximum ;


- P(I) = {P 0, P 1, …, P m, …, P k } : ensemble des parties de I ;
- A : un ensemble de k noyaux Ai ;
- On suppose que l’espace Rp supportant les n points individus est muni d’une distance
appropriée ; notée d ;

Chaque classe est représentée par son centre Ai, également appelé noyau, constitué du petit
sous-ensemble de la classe qui minimise le critère de dissemblance.
Les éléments constitutifs d’un noyau sont appelés étalons. Ce genre de noyau a pour certaines
applications, un meilleur pouvoir descriptif que des centres ponctuels.

Chaque individu , est par conséquent, caractérisé par sa masse i et par la distance
d vi,Ai qui le sépare du noyau de sa classe.

La méthode des nuées dynamiques consiste à trouver deux applications


et v sur lesquelles repose l’algorithme. Ces deux fonctions de base sont telles que :
P A .
La fonction de réallocation a pour rôle de former une partition, c’est à dire d’affecter chaque
individu i du nuage N(I) aux centres d’attractions que forment les noyaux.
A = v(P)
La fonction de recentrage v a pour rôle de recalculer les nouveaux
35

noyaux à partir des classes déjà formées.

L’algorithme est une succession d’appels à ces deux fonctions, il se présente de la manière
suivante :
a) Initialisation

- Le choix (au hasard ou non) des k premiers noyaux, A10 ,...,Am 0...,Ak0 , induisant la première
partition P0 de l’ensemble I et k classes C10 ,...,Cm0...,Ck0.

b) Recherche de la meilleure partition

- Par l’exécution de sur ces noyaux et on poursuit les autres étapes jusqu’à l’arrêt de
l’algorithme.

L’algorithme se termine soit lorsque deux itération successives conduisent à la même partition,
soit lorsqu’un critère judicieusement choisi (par exemple, la mesure de la variance intra classes)
cesse de décroître de façon sensible (convergence), soit encore lorsqu’un nombre maximal
d’itération fixé à priori est atteint.

B) Choix des fonctions v et


Le choix de deux fonctions de basev et , de l’algorithme, est guidé par des considérations
suivantes :

1°) P A

Avec Pi i / i I et d i ,Ai d i ,Aj j i


Chaque individu est associé au noyau le plus proche.

2°) A = v(P), A = {A1, …, Ak}

Avec Ai, un ensemble de ni éléments qui minimisent une fonction L( i, I, P)

3°) la fonction L(v i, I, P) induit une notion de « distance » de l’individu v i à la classe C m


de la partition P ;
On peut alors définir un critère de qualité de la partition P autour d’un ensemble de k
noyaux A par : w V L i,I,P (1.12)
i 1 i Cm

C) Convergence de l’algorithme

Il s’agit de montrer que la variance intra classes ne peut que décroître (ou rester
stationnaire) entre l’étape t et l’étape t +1 de l’algorithme.
Supposons que les n individus i à classifier de l’ensemble I soient munis chacun de sa
masse relative i. Nous nous intéressons bien entendu, à la quantité « critère » qui vaut :
36

K n

-A l’étape t : v(t) = v t i d2 i, Gq t 1

i 1 i Cqt

Où d2 (v i, Gqt+1 ) est le carré de la distance entre l’individu v i et le centre de gravité G it de


la classe q à l’étape t.
K n

- A l’étape t+1 : v(t+1) = v t 1 id2 i,Gq t 1

i 1 i CQt 1

G
Où d2 i, qt 1 d2 est le carré de la distance entre l’individu v i et le centre de gravité

Gqt+1 de la classe q à l’étape t+1.

K n

A l’étape t, la variance intra classes est la quantité v t i d2 i, Gq t 1

i 1 i Cqt

Nous allons donc montrer que : v(t) > v(t) > v(t+1) Notons
la somme des masses i pour i Cqt .
n

Selon le théorème de huygens, v t v t q d2 Gqt 1,Gq t


i 1

Ce qui établit la première partie de l’inégalité.


37

D) Ordinogramme de nuées dynamiques

Début

Lecture du tableau des données, du seuil d’arrêt


et du nombre k de classes

Calcul de L=(A i , …, Ak) où Ai est le


noyau de la classe Pi

Calcul du critère W i= W(L, P) W(L, P)=


k

I (Pi )
i 1

Migration V
On construit P en affectant chaque
individu au noyau le plus proche.
Appel de la fonction

Figure 1.4 b. Ordinogramme de nuées dynamique

Imprimer :
P(P 1, …, Pk) ; I (P i) ; W (L, P)=
k

I ( Pi )

Fin
38

IV.2.3.5. Classification Ascendante hiérarchique

Il s’agit de représenter des individus sur un arbre hiérarchique, dont chaque nœud porte le nom
de ’’Palier’’ ; chaque palier d’une hiérarchie sur I correspond à un groupe d’individus de I. Ces
individus sont plus proches entre eux (au sens de la mesure de ressemblance choisie) que les
niveaux de palier correspondant est bas. On peut définir une hiérarchie de la manière suivante
:
Soit X une matrice de données n x p définie par
où I est un ensemble de n objectifs (lignes, observations, instances, individus) et J est un
ensemble de p variables (colonnes, attributs)

IV.2.3.5.1. Définition
Soit I un ensemble fini non vide. H est une hiérarchie de I
s’il satisfait aux axiomes suivants : H i : axiome
d’intersection

L’ensemble I tout entier, ainsi que toutes les parties réduites à un élément appartiennent
à H. I Є H

Une hiérarchie peut être vue comme un ensemble de partitions emboitées. Graphiquement, une
hiérarchie est souvent représentée par une structure arborescente représentée par un arbre
hiérarchique dit aussi dendrogramme
Dendrogramme Partitions emboitées

f,g

d,e
c

b,a
a b c d e f g
Figure 1.5. Partition emboitées

Il existe deux types de familles de méthodes hiérarchique : une descendante, dite divisive, et
une ascendante dite agglomérative. La première moins utilisée, consiste à partir d’une seule
classe regroupant tous les objets, à partager celleci en deux. Cette opération est répétée à chaque
itération jusqu’à ce que toutes les classes soient réduites à des singletons. La seconde qui est la
plus couramment utilisée consiste, à partir des objets (chacun est dans sa propre classe), à
agglomérer les classes les plus proches, jusqu’à obtenir une classe qui contient tous les objets.
39

IV.2.3.5.2 Construction d’une hiérarchie

A) Indice d’agrégation

La construction d’une hiérarchie nécessite la connaissance d’une mesure de ressemblance entre


groupes ; cette mesure est appelée indice d’agrégation. Il existe plusieurs sorte d’indice
d’agrégation ; les plus utilisées sont : indice d’agrégation du lien minium, indice d’agrégation
de la moyenne de distance, indice d’agrégation de centre de gravité, l’indice d’agrégation de
Ward (ou indice de moment centré d’ordre2)

B) Proposition

En agrégation deux classes h 1, h 2, l’inertie intra classe augmente de :

C) Algorithme général de la classification ascendante Hiérarchique

1) Partir de la partition P0
2) Construire une nouvelle partition minimisant δ (h 1, h 2 )
3) Recommencer l’opération (2) jusqu’à ce que toutes les classes soient réunies en une
seule.

IV.2.3.6. La Classification Descendante Hiérarchique


Les méthodes de classification descendante hiérarchique sont itératives et procèdent à chaque
itération au choix du segment de l’arbre hiérarchique à diviser, et au partitionnement de ce
segment. La différence entre les méthodes divisives, développées jusqu’à présent dans la
littérature, figure dans les critères qu’elles utilisent pour choisir le segment à divise r ainsi dans
la manière dont elles divisent le segment. Le choix de tels critères dépend généralement de la
nature des variables caractérisant les individus à classer.
Les méthodes monothétiques

Les méthodes nomothétiques divisent un segment (classe C) de l’arbre hiérarchique en deux


sous-segments (sous-classes C1 et C2) en fonction d’une variable et de deux groupes de valeurs
de cette variable.
Si la variable est quantitative le segment est divisé suivant la réponse à la question de la forme
"valeur de la variable inférieur ou égal à c?". Le premier soussegment C1 contient les individus
pour lesquels la valeur de la variable est inférieure ou égale à c, et l’autre C2 les individus pour
lesquels la valeur de la variable est strictement supérieure à c. Si la variable est qualitative, un
individu est affecté au premier sous-segment C1 si sa description pour cette variable appartient
à un premier groupe de modalités, sinon il est affecté au deuxième sous-segment C2.

La stratégie utilisée par ces méthodes pour choisir la variable de division (parmi celles
caractérisant les individus) ainsi que la valeur de coupure (c pour les variables
40

quantitatives, et les groupes de modalités pour les variables qualitatives) repose sur
l’optimisation d’un critère d’évaluation bien déterminée (par exemple le diamètre d’une
partition donné par la plus grande dissimilarité entre deux individus d’une même classe:
ainsi nous choisissons la classe et la coupure qui fournissent une partition de petit
diamètre).

IV.2.3.7. Classification de données binaires

Lorsque l’ensemble des objets est décrit par un ensemble de variables binaires, souvent on
est amené à utiliser l’algorithme de K-means pour la classification des objets.
Autrement dit, le critère utilisé est celui de l’inertie intra – classe. Les centres de classe
sont par conséquent de nature différente de données à classifier 0,1. Afin de respecter le
principe d’homogénéité on impose aux centres d’avoir la même structure que les données
et de cette façon il suffit de chercher à minimiser le critère suivant à l’aide de l’algorithme
des nuées dynamiques :

avec
41

Chapitre 5
Apprentissage Artificiel

L’apprentissage artificiel s'intéresse à l'écriture de programmes d'ordinateur capables de


s'améliorer automatiquement au fil du temps, soit sur la base de leur propre expérience,
soit à partir de données antérieures fournies par d'autres programmes. Dans le domaine
scientifique relativement jeune de l'informatique, l'apprentissage artificiel jo ue un rôle
de plus en plus essentiel. Au début de son existence, dans les années 1950, l'informatique
se résumait principalement à programmer des machines en leur spécifiant ligne après
ligne la séquence d'instructions que l'ordinateur aurait à suivre. Autour des années 1990,
les logiciels étaient devenus si complexes qu'une alternative s'imposait naturellement :
développer des techniques pour que les programmes puissent s'entrainer à partir
d'exemples. Le résultat est qu'il existe aujourd'hui de nombreux domaines d'application
de l'informatique dans lesquels les méthodes de l'apprentissage artificiel sont employées
pour entrainer les logiciels. Mieux, le code résultant dépasse de beaucoup en performance
les réalisations les plus abouties de programmation manuelle (( ligne après ligne )). C'est
ainsi que tous les meilleurs logiciels commercialisés de reconnaissance de la parole sont
fondés sur l'entrainement de leurs programmes à la reconnaissance des différents sons et
mots. La plupart d'entre eux permettent même à l'utilisateur d'accoutumer le système aux
caractéristiques de sa voix. D'autres exemples existent dans des domaines tels que la
vision par ordinateur, le traitement automatique du texte et la robotique.
La discipline de l'apprentissage artificiel peut donc déjà revendiquer des succès dans un
grand nombre de domaines d'application. Des logiciels de fouille de données sont utilisés
à grande échelle pour découvrir quelle prescription est la plus efficace pour quel patient,
à partir de l'analyse de fichiers médicaux antérieurs. La palette des applications va de la
prédiction de la demande en énergie, étant connu l'historique des consommations
antérieures, à l'apprentissage de la reconnaissance de transactions frauduleuses par carte
de crédit, par examen des transactions

Quelques applications de l'apprentissage artificiel

 Un programme de reconnaissance de la parole

 Un programme de détection des ressources terrestres apprend à reconnaitre une


zone de pollution au milieu de la mer, à partir d'une base de données d'exemples
d'images de zones connues comme propres ou comme polluées : cette base de
données lui sert d'expérience pour déterminer sa décision sur une zone inconnue.

 Un programme de diagnostic sur un ensemble d'informations évolutives prises sur


un patient doit avoir été pourvu de connaissances, à partir de diagnostics de
praticiens et d'experts sur des situations types. Mais il doit aussi avoir été doté
d'un module de généralisation, de façon à réagir correctement à des situations
auxquelles il n'a jamais été confronté exactement.
42

 L'exploitation des fichiers client d'une entreprise est souvent faite par un expert
ou un programme expert qui utilise des règles explicites pour cibler un segment
de clientèle susceptible d'être intéressé par un nouveau produit. Mais ces règles
peuvent être acquises automatiquement, par un apprentissage dont le but est de
fournir de nouvelles connaissances expertes, à la fois efficaces et intelligibles pour
l'expert.

Quelques définitions de base

Apprentissage (sous entendu : artificiel, automatique) (Machine Learning)


Cette notion englobe toute méthode permettant de construire un modèle de la réalité à
partir de données, soit en améliorant un modèle partiel ou moins général, soit en créant
complètement le modèle. Il existe deux tendances principales en apprentissage, ce lle
issue de l'intelligence artificielle et qualifiée de symbolique, et celle issue des statistiques
et qualifiée de numérique.

V.1. Le Réseaux de neurones


V.1.0 Introduction.
Lorsqu’un phénomène physique, biologique ou autre, est très complexe
ou encore bruité pour accéder à une description analytique débouchant sur une
modélisation déterministe, on utilise les techniques d’apprentissage supervisé afin de
décrire au mieux le comportement à partir d’une série d’observation.

Les réseaux de neurones sont utilisés comme outils de modélisation par apprentissage, qui
permettent d’ajuster des fonctions non linéaires. Le problème d’apprentissage consiste à
construire une fonction f (ou machine) à partir des données (x 1 , y1), …, (xn, yn ) de sorte que
f(X) soit une bonne approximation de la réponse souhaitée Y. souvent, on choisit f de manière
à minimiser un critère fonctionnel. Par exemple, on peut former la somme des erreurs
quadratiques
n

E= (yi f (xi ))2 et chercher à rendre cette somme la plus petite possible.
i 1

En général, l’apprentissage des réseaux de neurones est effectué de sorte que pour une entrée
particulière présentée au réseau corresponde une cible spécifique.
L’ajustement des poids se fait par comparaison entre la réponse du réseau (ou sortie) et la
cible, jusqu’à ce que la sortie corresponde (au mieux ?) à la cible.

L’objectif de ce chapitre est de mettre au point un classifieur automatique basé sur le réseau de
neurones. Ce classifieur aura pour rôle d’affecter chaque individu dans sa classe. La topologie
de notre réseau de neurones est simple : nous considérons un réseau de neurones à une seule
couche cachée et ce réseau a une structure d’un graphe biparti. Nous avons exploité
l’algorithme de retro propagation de gradient pour ajuster les poids synaptiques.
43

5.1.1 Présentation des réseaux de neurones.


Les méthodes neuronales se sont développées depuis ces trente dernières années
simultanément au paradigme de l’apprentissage (machine learning). Selon ce
paradigme, les machines ne sont pas programmé à l’avance pour une taches donnée (par
exemple, la reconnaissance d’une forme), mais ‘’apprennent’’ à effectuer cette tâche à
partir d’exemples.

Un problème typique d’apprentissage consiste à apprendre à prédire une variable Y,


appelée réponse ou variable de sortie, à partir d’une variable X (appelée variable
d’entrée ou vecteur de caractéristiques). En général, la relation entre Y et X est
stochastique. Le couple (X, Y) obéit à une certaine loi de probabilité, notée p, et on
dispose d’un ensemble d’apprentissage (x1,y1), …, (xn, yn) constitué de données
indépendantes observées à partir de la loi p. dans cet échantillon, y i est la réponse
correspondant à l’entrée xi.

Le problème d’apprentissage consiste à construire une fonction f (ou machine) à partir


des données (x1 , y1 ), …, (xn, yn) de sorte que f(X) soit une bonne approximation de la
réponse souhaitée Y. souvent, on choisit f de manière à minimiser un critère
fonctionnel. Par exemple, on peut former la somme des erreurs quadratiques
n

E = (yi f (xi ))2 et chercher à rendre cette somme la plus petite possible.
i 1

Les réseaux de neurones sont utilisés comme outils de modélisation par apprentissage,
qui permettent d’ajuster des fonctions non linéaires très générales à des ensembles de
points ; comme toute méthode qui s’appuie sur des techniques statistiques, l’utilisation
de réseaux de neurones nécessite que l’on dispose de données suffisamment
nombreuses et représentatives. Le neurone artificiel est calqué sur le modèle biologique.

5.1.2 Neurone Biologique


La figure 3.1 reprend l’hypothèse proposée par de nombreux biologistes pour recréer le
comportement intelligent du cerveau.
44

Comportement global du
cerveau

Système et voies de
comm unication

Cir cuits

Neurone

Figure 4.1. Hypothèse biologique de génération d’un comportement intelligent

Le cerveau se compose d’environ 10 12 neurones (mille milliards), avec 1000 à 10000


synapses (connexions) par neurone. Le neurone est une cellule composée d’un corps
cellulaire et d’un noyau. Le corps cellulaire se ramifie pour former ce que l’on nomme
les dendrites. Celles-ci sont parfois si nombreuses que l’on parle alors de chevelure
dendritique ou d’arborisation dendritique. C’est par les dendrites que l’information est
acheminée de l’extérieur vers le soma, corps du neurone. L’information traitée par le
neurone chemine ensuite le long de l’axone (unique) pour être transmise aux neurones.
La transmission entre deux neurones n’est pas directe. En fait, il existe un espace
intercellulaire de quelques dizaines d’Angstrom (10 -9 m) entre l’axone du neurone
afférent et les dendrites (on dit une dendrite) du neurone efférent. La jonction entre deux
neurones est appelée la synapse (fig. 2.2).

Figure 3.2. Neurone biologique


45

Fig 3.3 Neurone biologique

Fig 3.4 Neurone Artificiel

V.3. Réseaux de neurones Artificiel (RNA)


V.3.1. Définitions
a) Définition 1
Un RNA est un ensemble des processeurs (ou neurones, ou unité de calcul) interconnectés
fonctionnant en parallèle, chaque processeur calcul le potentiel (ou somme pondérée)
sur base des données qu’il reçoit, et applique ensuite la fonction d’activation sur le
potentiel, le résultat obtenu est transmis aux processeurs se trouvant en aval .

b) Définition 2
Un RNA est un graphe pondéré G = (X, A, W), où
• X est un ensemble non vide et au plus dénombrable dont les éléments sont appelés
« neurone, ou processeur, ou unité de calcul » du réseau.
• A est une famille d’éléments du produit cartésien XxX x, y / x, y X les
éléments de A sont appelés : synapse et sur chaque synapse et associé un poids w
46

• La matrice W wij i, j u est appelée « la matrice de pondération, ou la matrices

des poids synaptiques, wij IR ».

C) Définition 3
Un RNA est une fonction paramétrée qui est la composition d’opérateurs mathématiques
simples appelés neurones formels (ou plus simplement neurones).

Un neurone est une fonction algébrique non linéaire, paramétrée, a valeurs bornées, de
variables réelles appelées entrées.

x1 x2 xn

Figure 3. 5. Un neurone réalise une fonction non linéaire bornée y = f (x 1, ... xn ; w1,...wp)
où les {x j} sont les entrées et les {wj} sont des paramètres

L’argument de la fonction f est une combinaison linéaire des entrées du neurone (à


laquelle on ajoute un terme constant, le "biais"). La combinaison linéaire est appelée
potentiel ; les coefficients de pondération {wj} sont fréquemment appelés "poids
synaptiques" (ou plus simplement poids) en référence à l’ origine "biologique" des
réseaux de neurones.

Le potentiel d’un neurone est donc calculé de la façon suivante :

Le biais wo peut être envisagé comme le coefficient de pondération de l'entrée n°0, qui
prend toujours la valeur 1 :

La valeur de la sortie du neurone est donc :


47

La fonction f est appelée "fonction d'activation"

V.3.2. Exemple d’un RNA à 3 couches.

Figure 2 RNA à 3 Couches

Ces modèles ont été fortement inspirés par le système nerveux biologique. On peut
entraîner un réseau de neurone pour une tâche spécifique (reconnaissance de caractères
par exemple) en ajustant les valeurs des connections (ou poids) entre les éléments
(neurone).

En général, l’apprentissage des réseaux de neurones est effectué de sorte que pour une entrée
particulière présentée au réseau corresponde une cible spécifique.
L’ajustement des poids se fait par comparaison entre la réponse du réseau (ou sortie) et
la cible, jusqu’à ce que la sortie corresponde au mieux à la cible. On utilise pour ce type
d’apprentissage dit supervisé, un nombre conséquent de pair entrée/sortie. En ce qui
concerne le fonctionnement de RNA, nous distinguons deux phases : La première est
habituellement le calcul de la somme pondérée des entrées selon l’expression suivante

Figure 3.7 Fonctionnement d’un RNA


48

La deuxième phase consiste à appliquer la fonction d’activation sur la valeur v obtenue


lors de la deuxième phase, et la valeur f(v) est transmise aux neurones avals. Il existe
de nombreuses formes possibles pour la fonction de transfert.
49

Figure 3.8.a Fonction à Figure 3.8.b Fonction sigmoïde Figure 3.8.c Fonction gaussienne
seuil

Figure 3. Les fonctions d’activation

V.3.3 Les différentes fonctions d’activation


50

Figure 3.9 Sortie d’un neurone à 3 entrées munies des poids ,


dont la fonction d’activation est une tangente hyperbolique : y = th( ).

V.3.4. Quelques applications de RNA


Les réseaux de neurones servent aujourd’hui à toutes sortes d’applications dans divers
domaines. Par exemple :
• Pilotage automatique des avions, ou encore un système de guidage pour automobile ;
• les systèmes de lecture automatique de chèques bancaires et d’adresses postales ;
• les systèmes de traitement du signal pour différentes applications militaires ;
• les réseaux sont aussi utilisés pour faire des prévisions sur les marchés monétaires, pour
évaluer le risque financier, pour le diagnostic médical, pour l’exploration pétrolière ou
gazière, en robotique, en télécommunication.

V.4. Le neurone formel


Un neurone formel est un automate très simple imitant grossièrement la structure et le
fonctionnement d’un neurone biologique. La première version de ce dernier est celle de
Mc Culloch et W. Pitts et date de 1943. S’inspirant de leurs travaux sur les neuro nes
biologiques, ils ont proposé le modèle du neurone formel qui se voit comme un opérateur
effectuant une somme pondérée de ses entrées suivie d’une fonction d’activation (ou de
transfert) comme indiqué par la figure 3.10.
51

Figure 3.10 Neurone formel

représente la somme pondérée des entrées du neurone

Où :

V.4.1 Topologie d’un réseau de neurones


Les connexions entre les neurones qui composent le réseau décrivent la topologie du
modèle. Un réseau de neurones (RN) est un système informatique, constitué de plusieurs
unités (neurones) organisées sous forme de niveaux différents appelés couches du rése au.
Les neurones appartenant à la même couche possèdent les mêmes caractéristiques et
utilisent le même type de fonction d’activation. Entre deux couches voisines les
connexions se font par l’intermédiaire de poids qui jouent le rôle des synapses.
L’information est portée par la valeur de ses poids, tandis que la structure du réseau de
neurones ne sert qu’à traiter l’information et l’acheminer vers la sortie. La structure ou la
topologie d’un réseau de neurones est la manière dont les neurones sont connecté s. Les
structures résultantes peuvent être très variées mais elles sont souvent réparties en deux
grandes familles à savoir : les réseaux de neurones non bouclés et les réseaux de neurones
bouclés.

Un réseau de neurone est non bouclé lorsque sont graphe d’interconnexion ne contient
pas des circuits (Figure 3.12)

Un réseau de neurone est bouclé lorsque sont graphe d’interconnexion contient des
circuits (Fig.3.13)
52

V.4.2 Réseaux non bouclés


Dans ce type de structure dite feedforward, la propagation de l’information se fait
uniquement de l’entrée vers la sortie. Les neurones de la même couche peuvent se
connecter uniquement avec les neurones de la couche suivante. L’architecture la plus
utilisée est le Perceptron multicouches. Les neurones composant ce réseau s’organisent
en N couches successives (N =3). Dans l’exemple suivant (figure 3.12), nous présentons
un perceptron à trois couches. Les neurones de la première couche, nommée couche
d’entrée, voient leur activation forcée à la valeur d’entrée. La dernière couche est appelée
couche de sortie.
Elle regroupe les neurones dont les fonctions d’activation sont généralement de type
linéaire. Les couches intermédiaires sont appelées couches cachées. Elles constituent le
cœur du réseau. Les fonctions d’activation utilisées sont de type sigmoïde.

Figure 4 réseau de neurone non bouclé à 3 couches

Les réseaux de neurones disposés suivant cette architecture sont aussi appelés "perceptrons
multicouche" (ou MLP pour Multi-Layer Perceptrons).

désignent respectivement le biais du neurone i de la couche l et le poids de connexion


entre le neurone j de la couche l-1 et le neurone i de la couche l.

)
l = 1,2
53

où ) est la fonction d’activation des neurones de la couche l. On peut réécrire les équations
ci – dessus sous forme matricielle comme suit :

Le perceptron multicouche présente une alternative prometteuse pour la modélisation des


systèmes complexes. Avec une seule couche cachée, il constitue une approximation
universelle.
Les études menées dans (Hornik et al., 1989; Cybenko, 1989) montrent qu’il peut être
entrainé de manière à approximer n’importe quelle fonction sous réserve de mettre
suffisamment de neurones dans la couche cachée et d’utiliser des sigmoïdes comme
fonctions d’activation.

V.4.3 Réseaux bouclés Un réseau dynamique ou récurrent possède la même


structure qu’un réseau multicouche munie de rétroactions. Les connexions rétroactives
peuvent exister entre tous les neurones du réseau sans distinction, ou seulement entre
certains neurones (les neurones de la couche de sortie et les neurones de la couche
d’entrée ou les neurones de la même couche par exemple). La figure 3.1.3 montre deux
exemples de réseaux récurrents. Le premier est un simple multicouche qui utilise un
vecteur d’entrée qui contient les copies des activations de la couche de sortie du réseau
et le deuxième est un réseau à mémoire se distingue du premier par la présence des unités
mémoires.
54

Figure 5 réseau de neurone bouclé à 3 couches

Réseau de deux réseaux directement connectés

Figure 6 réseaux de neurones interconnectés

Dans le cadre de cette thèse, nous utiliserons le réseau de neurones non bouclé, à une
seule couche cachée. Ce réseau se structure en trois couches successives. La couche
d’entrée permet de saisir le vecteur de caractéristiques x, et la couche de sortie fo urnit la
prédiction. Les entrées sont redistribuées sur des unités cachées intermédiaires à la
sortie. Ces unités cachées forment la seconde couche. Un réseau de neurones est
paramétré par un ensemble de poids wi j et de biais i .
Chaque unité effectue une somme pondérée de ses entrées, ajoute une
55

constante et évalue le résultat selon une fonction h . Les unités de sortie ont la même forme,
mais l’évaluation se fait selon une fonction 0 qui peut être différente de h .

Ainsi, le modèle calcule la fonction g k (x, ) 0 ( k k


h h ( h wh j x j )), 1 k K (1.1)
où x j est la jième coordonnée
hj

de x, et K la dimension de l’espace de sortie. La fonction d’activation h de la couche cachée

est la fonction logistique h (z) l(z) .

En revanche, ( 0 (z) z) selon que l’on souhaite faire de la classification


ou estimer une régression.
En résumé, un réseau de neurones est une structure de traitement de l’information
parallèle et distribuée, constitué d’unités de calcul interconnectées par des canaux
unidirectionnels appelés connexions. Chaque unité de traitement n’a qu’une seule
connexion de sortie qui peut être dupliquée en autant d’exemplaire que désiré, les
duplicata transportant tous le même signal. Le traitement effectué par chaque unité peut
être défini de manière arbitraire pourvu qu’il soit complètement local, c’est-à-dire qu’il
ne dépende que des valeurs courantes des signaux arrivant à l’unité par ses connexions
entrantes et du contenu de la mémoire locale attachée à cette unité.

Le neurone formel de MC Cullovch et Pitts est un automate à seuil qui recevant n


signaux xi sur les connexions entrantes, calcule sa sortie (ou état) y en appliquant une
fonction seuil à la combinaison linéaire des xi définie par le poids des connexions wi
[80] :

On pourra définir un neurone artificiel à mémoire locale(ML) comme


étant un élément de calcul dont la sortie y est le résultat d’une fonction de transition f appliquée
au vecteur d’entrée X et au contenu d’une mémoire locale au neurone ML.
(Fig 3.14).

X1
X2 Y
.
. Fonction de transfert
.
Xn

Mémoire
Locale ML
56

V.5. APPRENTISSAGE DES RESEAUX DE NEURONES


L’apprentissage est une phase du développement d’un réseau de neurones durant
laquelle le comportement du réseau est modifié jusqu’à l’obtention du comportement
désiré. L’apprentissage neuronal fait appel à des exemples de comportement .
a) Problème
Etant donnée un ensemble E de N paires , ≤ i ≤ N, X i Rn, Yi
p . construire un réseaux Fw capable de mettre ces formes en correspondance, c’est-à

dire tel que : Fw (Xi) = Yi.

Ceci passe tout d’abord par le choix de l’architecture du réseau, ensuite déterminé au
cours d’une phase dite d’apprentissage, un ensemble de poids W permettant à cette
architecture de réaliser la tache associative demandée. L’apprentissage présenté ainsi est
qualifié de supervisé.

b) Définition

L’apprentissage dans le contexte des réseaux de neurones, est le processus de


modification des poids de connexions (y compris les biais) ou plus rarement du nombre
de couches et de neurones (Man et Halang, 1997), afin d’adapter le traitement effectué
par le réseau à une tache particulière.

Figure 3.14 illustre Le paradigme (en problèmes de classification) du professeur -élève


de l'apprentissage supervisé. Les poids de l'élève doivent être ajustés pour donner la
même réponse que celle du professeur. Cet ajustement, l'apprentissage, est réalisé en
général de façon itérative, en minimisant une mesure de l'erreur, jusqu'à ce que le réseau-
élève puisse émuler aussi bien que possible le professeur.
57

Figure 3.15 Le paradigme du professeur-élève pour l’apprentissage supervisé

V.5.1 Apprentissage par minimisation de l’erreur


Soit E l’ensemble d’apprentissage. On considère un réseau dont la
couche de sortie comporte P cellules. Soit Les poids de la kè cellule à un instant
donné. L’erreur commise par cette cellule sur l’ensemble E, est définie comme
étant la moyenne des erreurs quadratique commise sur chaque forme.

où est la sortie de la Kè cellules au temps t en fonction de l’entrée X i.

L’apprentissage consiste donc simplement à rechercher un vecteur


qui minimise C. La méthode proposée par Widrow et Hoff pour résoudre ce problème
consiste à adapter une méthode d’optimisation bien connue : La minimisation par
descente en gradient. Le principe en est simple l’opposé du gradient C par rapport au
poids en pointe dans la direction dans laquelle la diminution de
est maximale ; en modifiant le vecteur poids, par itération successives, dans la
direction opposée au gradient, on peut espérer aboutir à un minimum de .
58

Figure Minimisation de la fonction Cout par descente en gradient

Le gradient de la fonction coût par rapport à se calcul aisément par :

Et l’algorithme d’apprentissage par descente en gradient est donc le suivant : Etape


0 : t=0
Initialiser aléatoirement les poids
Etape 1 : Pour chaque automate sur l’ensemble d’apprentissage E : Etape
2 : Pour chaque automate K, modifier les poids par :

Etape 3 : t = t+1
Si la condition d’arrêt non remplie, aller à l’étape 2.
Avec Taux d’apprentissage
En résumé soit l’erreur d’apprentissage due aux poids
. Si la fonction d’activation est linéaire, cette erreur E s’écrit :

On voit donc que l’erreur E est un parabolique dans l’espace des poids.
Donc, E possède un seul minimum et il s’agit de trouver la valeur des poids correspondant
à ce minimum. Pour cela, la technique classique consiste à utiliser un algorithme de
descente de gradient. Pour cela, on part d’un point (dans l’espace des poids, espace de
dimension P+1) : ensuite, itérativement, on corrige ce point pour se rapprocher du
minimum de E. Pour cela, on corrige chaque poids d’une quantité proportionnelle au
gradient de E en ce point, cela dans chaque direction, donc par rapport à chacun des
59

poids. Ce gradient est donc la dérivée (partielle) de E par rapport à chacun des points.
Reste à déterminer le coefficient à appliquer à cette correction.

Il nous reste à calculer ce terme général :

D’où :

V.6. Les algorithmes d’apprentissage


L’apprentissage avec des réseaux de neurones multicouches se fait principalement suivant
deux approches :
a) Approche par retro propagation de gradient (RPG)
La retro propagation de gradient détermine les poids de minimisation d’un cout.
Cet algorithme nécessite l’introduction de l’architecture de réseau.
b) Approche constructive Avec cette approche, on apprend en même temps le
nombre d’unités et les poids, commençant généralement avec une seule
unité.

ALGORITHME DE HEBB
Cet algorithme se déroule en 5 étapes de la manière suivante :
Etape 1 : initialisation des poids
Etape 2 : présentation d’une entrée de la base d’apprentissage
60

Etape 3 calcul de la sortie x pour l’entrée E telle que :

Etape 4 : si la sortie calculée x est différente de la sortie désirée d alors il y a


modification des poids Etape 5 : Retour à l’étape 2.
Exemple d’application

Soient les entrées , la sortie d, du tableau ci- après


d E
1 1 1
1 -1 1
-1 1 -1
-1 -1 -1

Solution
Etape 1 : initialisation des poids

Etape 2 : présentation d’une entrée de la base d’apprentissage

Etape 3 calcul de la sortie x pour l’entrée E telle que :

Comme n = 0 donc

Il y a modification des poids

Etape 5 : Retour à l’étape 2.


Etape 2 : présentation d’une entrée de la base d’apprentissage

Etape 3 calcul de la sortie x pour l’entrée E telle que :

Comme n = 0 donc et x alors


modification des poids Etape 4 modification des poids
61

Etape 5 : Retour à l’étape 2.


Etape 2 : présentation d’une entrée de la base d’apprentissage

Etape 3 calcul de la sortie x pour l’entrée E telle que :

Comme n = 0 donc et x alors pas de


modification des poids
Etape 5 : Retour à l’étape 2.
Etape 2 : présentation d’une entrée de la base d’apprentissage

Etape 3 calcul de la sortie x pour l’entrée E telle que :

Comme n = 0 donc et x alors pas de


modification des poids
Etape 5 : Retour à l’étape 2.
Etape 2 : présentation d’une entrée de la base d’apprentissage

Etape 3 calcul de la sortie x pour l’entrée E telle que :

Comme n = 0 donc et x alors pas de


modification des poids
Etape 5 : Retour à l’étape 2.
Etape 2 : présentation d’une entrée de la base d’apprentissage

Etape 3 calcul de la sortie x pour l’entrée E telle que :

Comme n = 0 donc et x alors pas de


modification des poids
Les poids pour cette base d’apprentissage c’est :

V.7. Algorithme d’apprentissage du perceptron


Nécessite : les exemples d’apprentissage . Chaque exemple x i possède P attributs dont
les valeurs sont notées . Pour chaque donnée, est un attribut virtuel, toujours
égal à 1. La classe de l’exemple est
Nécessite : taux d’apprentissage
62

Nécessite : un seuil
Initialiser les aléatoirement Répéter
// E mesure l’erreur courante

Mélanger les exemples


Pour tous les exemples du jeu d’apprentissage faire

Pour tous les poids faire

fin pour
fin pour
jusque

V.8. Algorithme de propagation de gradient pour un perceptron


Nécessite : les instances d’apprentissage
Nécessite : taux d’apprentissage
Nécessite : un seuil
Initialiser les aléatoirement
Répéter
// mesure l’erreur courante

Pour tous les poids faire

fin pour mélanger les exemples


pour tous les exemples du jeu d’apprentissage faire

Pour tous les poids faire

fin pour
pour tous les poids faire
Avec :
fin pour
jusque
63

V.9. Apprentissage d’un réseau de neurones multicouches


Dans notre cas, nous allons nous limité dans las de réseau de neurones à 3couches. Un réseau
de neurones multicouche est appelé PMC qui signifie, perceptron multicouche.

Avec :
E(t) la valeur du critère à l’instant t est la valeur de

la ième sortie désirée à l’instant t

Les paramètres du réseau sont modifiés suivant la règle du gradient comme suit :

De l’équation (2.2) on déduit que

En posant

:
64

La quantité exprime la sensibilité du critère de performance aux changements du


potentiel du neurone i de la couche l. Dans le cas où i est l’indice d’un neurone de
sortie (l = L) on obtient :

Dans le cas où i est l’indice d’un neurone caché (1<l< L - 1) on peut vérifier aisément
que les fonctions de sensibilité satisfont la relation récurrente ci – dessous

ekx 1
On appelle fonction sigmoïde de paramètre k 0, la fonction k (x) 1 e kx 1 e kx

Cette fonction est une approximation indéfiniment dérivable de la fonction à seuil de


Heaviside, d’autant meilleure que k est grand, nous prendrons k = 1 dans la suite, on a ex
1
g(x) ex 1 1 e x (2)

La dérivé de cette fonction sera utilisée dans la règle de mise à jour des poids par l’algorithme
e
de rétroprogration du gradient. x g ' (x) (1 e x ) 2 g(x).(1 g(x) (3)

Algorithme de rétro propagation du gradient de l’erreur pour un perceptron multi couche


ayant p+1 entrées (p attributs + biais), q+1 couches numérotées de 0 (Co : couche
d’entrée) à q (cq : couche de sortie). est la sortie du PMC pour la données xi,
est la sortie de la ième unité de la couche l, à l’instant t, est le poids de la connexion
entre l’unité j de la couche l et le neurone i de la couche l+1 à l’instant t (k=0 correspond
65

au biais), est le nombre d’unité composant la couche . L’algorithme donné


correspond à des neurones à fonction d’activation logistique

V.10. Algorithme de retro propagation de gradient pour un PCM

Nécessité : Les N instances d’apprentissage


Nécessité : Taux d’apprentissage
Initialiser les
Tant que critère d’arrêt non rempli faire
Mettre à jour
Mélanger les exemples Pour tout exemple faire

Pour toutes les couches cachées l décroissant de q-1 à 1 faire


Pour tous les neurones j de la couche faire

Fin pour
Fin pour
// Mise à jour des poids
Pour toutes les couches l croissant de 0 à L-1 faire
Pour toutes les unités k de la couche l, k variant de 1 à faire
Pour tous les neurones m connectés sur la sortie du neurone k
de la couche l, m variant de 1 à

Fin pour
Fin pour
Fin pour
Fin pour
Fin tant que
66

V.11. Présentation d’un simulateur

Base d’apprentissage et de test

Bibliothèque d’algorithmes

Rétro ART ARP

Interface

Description
structurelle du réseau

Réseau

Description
comportementale de
neurones (fonction de
transfert)

Simulateur

Figure 3.18 Structure générale du simulateur


67

V.12. Déroulement d’une session

Choix de l’algorithme Choix de la structure du


d’apprentissage et ses réseau de neurones et ses
paramètres paramètres

Entrée d’une forme Processus


d’apprentissage d’apprentissage

non
Fin de
l’apprentissage

Oui
Entrée d’une forme à
reconnaître Simulation

Oui
Ajout d’une
formed’apprentiss
age ?

non

non
Fin de la
session ?

Oui

Figure 3.19. Ordinogramme d’une Session


68

Chapitre 6
Prédiction de données

VI.1. Discrimination de données à l’aide de l’arbre de


décision.

Un arbre de décision est une structure qui permet de déduire un résultat à partir de
décisions successives. Pour parcourir un arbre de décision et trouver une solution il faut
partir de la racine. Chaque nœud est une décision atomique. Chaque réponse possible est
prise en compte et permet de se diriger vers un des fils du nœud. De proche en proche,
on descend dans l’arbre jusqu’`a tomber sur une feuille. La feuille représente la réponse
qu’apporte l’arbre au cas que l’on vient de tester.

 Débuter à la racine de l’arbre


 Descendre dans l’arbre en passant par les nœuds de test
 La feuille atteinte à la fin permet de classer l’instance testée.

Très souvent on considère qu’un nœud pose une question sur une variable, la valeur de
cette variable permet de savoir sur quels fils descendre. Pour les variables énumérées il
est parfois possible d’avoir un fils par valeur, on peut aussi décider que plusieurs
variables différentes mènent au même sous arbre. Pour les variables continues il n’est pas
imaginable de créer un nœud qui aurait potentiellement un nombre de fils infini, on doit
discrétiser le domaine continu (arrondis, approximation), donc décider de segmenter le
domaine en sous-ensembles. Plus l’arbre est simple, et plus il semble techniquement
rapide à utiliser.
En fait, il est plus intéressant d’obtenir un arbre qui est adapté aux probabilités des
variables à tester. La plupart du temps un arbre équilibré sera un bon résultat.
Si un sous arbre ne peut mener qu’`a une solution unique, alors tout ce sous -arbre peut
être réduit à sa simple conclusion, cela simplifie le traitement et ne change rien au résultat
final.

L’algorithme ID3 fut proposé par Quinlan en 1979 afin de générer des arbres de décisions
à partir de données. Imaginons que nous ayons à notre disposition un ensemble
d’enregistrements. Tous les enregistrements ont la même structure, à savoir un certain
nombre de paires attribut ou valeur. L’un de ses attributs représente la catégorie de
l’enregistrement. Le problème consiste à construire un arbre de décision qui sur la base
de réponses à des questions posées sur des attributs non cibles peut prédire correctement
la valeur de l’attribut cible.
Souvent l’attribut cible prend seulement les valeurs vrai, faux ou échec, succès.
Les principales idées sur lesquels repose ID3 sont les suivantes :
69

 Dans l’arbre de décision chaque nœud correspond `a un attribut non cible et


chaque arc à une valeur possible de cet attribut. Une feuille de l’arbre donne la
valeur escomptée de l’attribut cible pour l’enregistrement testé décrit par le
chemin de la racine de l’arbre de décision jusqu’à la feuille. (Définition d’un
arbre de décision)
 Dans l’arbre de décision, à chaque nœud doit etre associé l’attribut non cible qui
apporte le plus d’information par rapport aux autres attributs non encore utilisés
dans le chemin depuis la racine. (Critère d’un bon arbre de décision)
 L’entropie est utilisée pour mesurer la quantité d’information apportée par un
nœud. (Cette notion a été introduite par Claude Shannon lors de ses recherches
concernant la théorie de l’information qui sert de base à énormément de méthodes
du datamining.)

Algorithme ID 3 : entrées : ensemble d'attributs A;


échantillon E; classe c début initialiser à l'arbre vide;
si tous les exemples de E ont la même classe c alors étiqueter la racine par
c; sinon si l'ensemble des attributs A est vide alors étiqueter la racine par
la classe majoritaire dans E; sinon soit a le meilleur attribut choisi dans A;
étiqueter la racine par a; pour toute valeur v de a construire une branche
étiquetée par v; soit Eav l'ensemble des exemples tels que e(a) = v; ajouter
l'arbre construit par ID3(A-{a}, Eav, c);
finpour
finsinon
finsinon retourner
racine;
fin

VI.1 Exemple introductif


Client Montant Age Résidence Etudes Consultation
internet
1 moyenne moyen village Oui oui
2 élevé moyen bourg Non non
3 faible âgé bourg Non non
4 faible moyen bourg Oui oui
5 moyen jeune ville Oui oui
6 élevé âgé ville Non non
7 moyen âgé ville Non non
8 faible moyen village Non non

Ici, on voit bien que la procédure de classification à trouver qui à partir de la description
d'un client, nous indique si le client effectue la consultation de ses comptes par Internet,
c'est-à-dire la classe associée au client.
70

Choix du meilleur attribut : Pour cet algorithme deux mesures existent pour choisir le
meilleur attribut : la mesure d'entropie et la mesure de fréquence:
 L'entropie ou le gain : Le gain (avec pour fonction i l'entropie) est également
appelé l'entropie de Shannon et peut se réécrire de la manière suivante :
Hs(C|A) = - Σi P(Xi) . Σk P(Ck|Xi).log(P(Ck|Xi))
 Mesure de fréquence : (mieux en pratique)
Freq(a,E) = (1 / |Va|) . ΣPmax(Ea,v)

Pour l’exemple de la consultation de comptes sur Internet :


Pour déterminer le premier attribut test (racine de l'arbre), on recherche l'attribut
d'entropie la plus faible. On doit donc calculer H(C|Solde), H(C|Age), H(C|Li eu),
H(C|Etudes), où la classe C correspond aux personnes qui consultent leurs comptes sur
Internet.
H(C|Solde) = -P (faible).(P (C|faible) log(P (C|faible)) + P (/C |faible) log(P (/C|faible)))
-P (moyen).(P (C|moyen) log(P (C|moyen)) + P (/C|moyen) log(P (/C|moyen)))
-P (eleve).(P (C|eleve) log(P (C|eleve)) + P (/C|eleve) log(P (/C|eleve)))H(C|Solde) H(C|Solde)
= -3/8(1/3.log(1/3) + 2/3.log(2/3)
-3/8(2/3.log(2/3) + 1/3.log(1/3)
-2/8(0.log(0) + 1.log(1)
H(C|Solde) = 0.20725
H(C|Age) = -P (jeune).(P (C|jeune) log(P (C|jeune)) + P (/C |jeune) log(P (/C|jeune)))
-P (moyen).(P (C|moyen) log(P (C|moyen)) + P (/C |moyen) log(P (/C|moyen))) -P
(age).(P (C|age) log(P (C|age)) + P (/C|age) log(P (/C|age)))
H(C|Age) = 0.15051
H(C|Lieu) = -P (bourg).(P (C|bourg) log(P (C|bourg)) + P (/C |bourg) log(P (/C|bourg)))-
P (village).(P (C|village) log(P (C|village)) + P (/C |village) log(P (/C|village)))- P
(ville).(P (C|ville) log(P (C|ville)) + P (/C|ville) log(P (/C|ville)))
H(C|Lieu) = 0.2825
H(C|Etudes) = -P (oui).(P (C|oui) log(P (C|oui)) + P (/C |oui) log(P (/C|oui)))
-P (non).(P (C|non) log(P (C|non)) + P (/C|non) log(P (/C|non)))
H(C|Etudes)=0.18275
Le premier attribut est donc l'âge (attribut dont l'entropie est minimale). On
obtient l’arbre suivant :

Age

jeune Agé

moyen

Non consultation
Consultation ?

Pour la branche correspondant à un âge moyen, on ne peut pas conclure, on doit donc
recalculer l'entropie sur la partition correspondante.

H(C|Solde) = -P (faible).(P (C|faible) log(P (C|faible)) + P (/C |faible) log(P (/C|faible)))


71

-P (moyen).(P (C|moyen) log(P (C|moyen)) + P (/C|moyen) log(P (/C|moyen)))


-P (eleve).(P (C|eleve) log(P (C|eleve)) + P (/C|eleve) log(P (/C|eleve)))
H(C|Solde) = -2/4(1/2.log(1/2) + 1/2.log(1/2)
-1/4(1.log(1) + 0.log(0)
-1/4(0.log(0) + 1.log(1)
H(C|Solde) = 0.15051
H(C|Lieu) = -P (bourg).(P (C|bourg) log(P (C|bourg)) + P (C |bourg) log(P (C|bourg)))
-P (village).(P (C|village) log(P (C|village)) + P (C |village) log(P (C|village))) -
P (ville).(P (C|ville) log(P (C|ville)) + P (C|ville) log(P (C|ville)))
H(C|Lieu) = 0.30103
H(C|Etudes) = -P (oui).(P (C|oui) log(P (C|oui)) + P (C |oui) log(P (C|oui))) -P
(non).(P (C|non) log(P (C|non)) + P (C|non) log(P (C|non))) H(C|Etudes) = 0

L'attribut qui a l'entropie la plus faible est « Etudes ». L'arbre devient alors :

Age

jeune âgé

moyen
Consul tation Non consultation

Etudes

Oui Non

Non consultation
Consultation
L'ensemble des exemples est classé et on constate que sur cet ensemble
d'apprentissage, seuls deux attributs sur les quatre sont discriminants.
72

VI.2. Discrimination de données à l’aide de Machines à Vecteurs de


Support

VI.2.1. Présentation

Les Machines à vecteurs de support ou Support Vector Machine constituent une méthode
récente de classification par apprentissage supervisé, qui fut introduit par Vladimir
Vapnik en 1995. La montée en puissance de cette méthode est justifiée par les solides
bases théoriques qui la soutiennent.
Cette méthode repose, en effet, sur l’existence d’un séparateur linéaire dans un
espace approprié et l’utilisation d’une fonction noyau (Kernel) qui permettent une
séparation optimale des données.

VI.2.2. Principe de Fonctionnement

Le but des SVM, dans le cas d’un problème de classification binaire, est de construire
une fonction de décision (séparateur) qui permet de mieux séparer les données et
maximiser la distance entre deux classe

H2 H
Y
H1

Machines à Vecteurs de support


Le Séparateur H est appelé hyperplan optimal ;

La distance séparant les hyperplans H1 et H2 représente la marge qu’il faut maximiser


;
73

Les points (vecteurs) les plus proches de l’hyperplan, qui seuls sont utilisés pour sa
détermination, sont appelés vecteurs de support ;

Plusieurs hyperplans peuvent séparés un ensemble de données, mais les machines à


vecteurs de support cherchent un hyperplan qui soit optimal, c’est-à-dire celui qui
maximise la marge ; d’où l’appellation de Séparateur à Vaste Marge.

On distingue, du point de vue de la séparation des données, les SVM linéaires (séparateur
linéaire) et les SVM non linéaires (Séparateur non linéaire).

VI.2.3 Les Machines à Vecteurs de Support Linéaires

On parle des SVM linéaires, lorsqu’il existe une fonction linéaire séparant l’ensemble
des données. Cependant ils sont abordées de deux manières, selon que les données sont
complètement séparables par la fonction ou pas.

Cas Séparables (SVM à Marge dure)

Supposons qu’on ait un ensemble E de M exemples d’apprentissage, défini comme suit


:

E = , où :

est un vecteur réel, c’est-à-dire Є Rn ;

Є {-1, +1}, représente la classe d’une donnée.

Le Séparateur linéaire (fonction de décision) définie par les SVM, est donnée par :

= . +b, où :

w est un vecteur perpendiculaire au séparateur linéaire, appelé vecteur de poids ; b est

appelé biais ;

« . » représente le produit scalaire des vecteurs et . N.B :

Ce séparateur linéaire ne fournit pas des valeurs valant exactement −1 ou 1, mais on


considère que lorsque le résultat de f( ) est positif, le vecteur appartient à la classe
d'étiquette 1, et que quand ce résultat est négatif, le vecteur appartient à la classe
d'étiquette −1.
D’où =sgn( . +b)

Séparabilité Linéaire
74

Reprenons notre ensemble E, d’exemples d’apprentissage, et décomposons-le en deux


sous-ensembles selon la valeur de Y.

On définit donc :

={ :( , ) Є E et =1} et ={ :( , ) Є E et =-1} On dit que

E est linéairement séparable s'il existe un w et b tel que :

>0 Є et <0 Є .

Ou simplement , >0

Détermination du Séparateur à Marge Maximale

Supposons que l’ensemble E des exemples soit linéairement séparable, comme décrit
dans la figure ci-dessous. La préoccupation consiste à déterminer un hyperplan tel que
la marge entre les deux classes soit maximale.
Y H2
H
H1

Vecteurs de Support

Cas séparable des SVM linéaires support

Considérons l’hyperplan H . =0 et deux hyperplans parallèles à H, H1 et H2.


Avec H1 : . et H2 : . .

Si on suppose qu’il n’y a pas de données entre H1 et H2, la marge maximale est belle et
bien la distance entre H1 et H2.
75

Cependant, on peut rappeler que dans un plan (R2), la distance d’un point (x0,y0) par
rapport à une droite =0, est donnée par la formule suivante :

De manière similaire, on peut déduire la distance d’un vecteur ( à l’hyperplan


(w.x+b=0):

, Or pour les points situés sur les hyperplans H1 et H2, c’est-à-dire vecteurs

de support, = 1; ceci implique que :

La distance à maximiser, c’est-à-dire entre H1 et H2, vaut :

La maximisation de cette distance revient donc à minimiser , ce qui est à peu près
égal à minimiser ; à condition qu’il n’y ait pas de données (vecteurs) entre H1 et

H2, c’est-à-dire :

Les Conditions (i) et (ii) peuvent être combinées en une seule, soit :
. (iii)

Le séparateur à marge maximale ou hyperplan optimal peut être obtenu en résolvant le


problème d’optimisation sous contrainte suivant :

(1)

N.B : L’expression (1) est appelée primal du problème.

Résolution du Problème d’optimisation

La fonction objective étant convexe, le problème d’optimisation peut être résolu par la
méthode du Multiplicateur de Lagrange :
P(w,b, (2)
Le gradient de P devant être nul par rapport w et b, on écrit :
76

(3)

Ce qui permet d’obtenir, après calcul des dérivées partielles :

(4)

En remplaçant ces valeurs dans le Lagrangien du primal, on obtient le problème dual à


maximiser suivant :

Q( (5)

S/C: et ,

La résolution de ce problème permet d’obtenir les multiplicateurs de Lagrange optimaux


( ). Ceci implique que :

(6)

La fonction de décision (hyperplan) devient :

(7)

Conditions de Karush, Kuhn et Tucker (KKT)

L’existence de la solution optimale du problème primal (w*; b*) et des multiplicateurs


de Lagrange ( peut être caractérisée par les conditions d’optimalité de Karush, Kuhn
et Tucker :

(8)

Remarques

Les deux dernières lignes indiquent que pour toute donnée , soit , soit

Le multiplicateur de Lagrange associé à un vecteur support est non nul ;


77

En fait, seuls les vecteurs supports sont réellement utiles dans la construction du modèle
de prédiction. Si on les connaissait a priori, on pourrait construire ce modèle sans tenir
compte des autres vecteurs (exemples).

Calcul du biais (b)

N’apparaissant pas dans le problème dual, le biais b est calculé à partir d’un vecteur de
support :

Pour plus de précision, on prend la moyenne des vecteurs de support :

, où S est l’ensemble des vecteurs de support.

Classement d’une nouvelle donnée

On a vu plus haut que la classe d’une donnée était donnée par le signe de la fonction de
décision ( .

Pour classer une donnée , on a :

Cas Non Séparable (SVM à Marge Souple)

Dans le cas où les données ne sont pas linéairement séparables, on essaie d’assouplir les
contraintes par l’introduction de termes d’erreur ( ) qui contrôle le dépassement :

Une donnée est bien classée si ; elle est dans la marge mais bien classée si
et est mal classée dans les autres cas. Ainsi, indique à quel point la donnée
peut être du mauvais côté : si est du mauvais côté de la séparatrice
(hyperplan), plus est loin de la séparatrice, plus est grand. Donc, est une
borne supérieure du nombre d'erreurs de classification.

Le problème consiste donc à chercher un hyperplan qui maximise la marge et qui


minimise les erreurs permises :
78

(9)

Où est une variable de pénalisation des erreurs et faisant un compromis entre la


dimension de la marge et les données mal classées.

En introduisant les Multiplicateurs de Lagrange ( ), on a :


P(w,b,

On obtient, après des dérivations partielles :

(11)

Ce qui donne : (12)

Le problème dual devient :

(13)

Le reste de la résolution se fait comme pour le cas séparables.

Les Conditions de KKT

Les conditions d’optimalité de Karush, Kuhn et Tucker qui permettent de caractériser la


solution du problème primal (w*; b*, ) et les multiplicateurs de Lagrange ( ),
s’ecrivent :
79

(14)

Remarques

La seule différence entre les problèmes duales dans les cas séparables et non séparables
est que les valeurs des sont majorées par ; 19 /

Les conditions KKT impliquent que et = 0 si 0. Par


conséquent, les données mal classées ou placées dans la marge ont un =C;

Dans le cas des Machines à vecteurs de support à marge souple, une donnée peut être :

Un vecteur de support ( );

Bien classée, mais pas un vecteur de support ( );

A l’intérieur de la marge, mais quand même bien classée ( );

Mal classée (
80

Y H2
H
H1

VI .2.4 Les Machines à Vecteurs de Support Non Linéaires

Supposons que les données sont non linéairement séparables. La détermination de


Figure 11 : Cas non séparable des SVM linéaires
la fonction de décision passe d’abord par une transformation de l’espace de données dans
un autre espace caractéristique ( ) ou de représentation, éventuellement de grande
dimension, où les données deviennent linéairement séparables.

Cette démarche s’appuie sur le théorème de Cover [1965] qui indique qu'un ensemble
d'exemples transformé de manière non linéaire dans un espace de plus grande dimension
a plus de chance d'être linéairement séparable que dans son espace d'origine.

Détermination du Séparateur à vaste marge

Considérons l’application
81

Transformation de l’espace de données


L’ensemble des données d’apprentissage devient :

E= , où : et Є {-1, +1}.

Par conséquent, le problème d’optimisation peut s’écrire de la manière suivante :

(15)

Après résolution, on obtient :

(16)

Avec

Le dual du problème donne :

Pour certains espaces caractéristiques et applications associées, les produits scalaires


sont facilement calculables grâce à des fonctions spécifiques, appelées fonctions noyaux
(kernel functions) telles que :

(18)

L'intérêt de ces fonctions noyaux est de rendre possible le calcul des produits scalaires
dans sans devoir explicitement transformer les données par la fonction , donc, sans
nécessairement connaître cette fonction .
82

En intégrant l’équation (15) dans (16), on obtient le problème dual suivant :

(19)

Classement d’une Nouvelle Donnée

De ce qui précède, on peut donc déduire la fohnction de décision, pour le classement


d’une nouvelle donnée :

Note

Il sied de signaler que seul le cas des données séparables linéairement dans l’espace
caractéristique a été abordé ci-haut. Cependant les données peuvent être aussi non
séparable linéairement dans cet espace. Dans ce cas, on applique la démarche utilisé e
dans les SVM linéaires, c’est-à-dire l’introduction des termes d’erreurs.

Ainsi, d’une manière générale, le problème d’optimisation des Machines à vecteurs de


Support peut s’écrire de la manière suivante :

(20)

Le dual du problème d’optimisation général à résoudre sera donc:

Fonction Noyau
Considérons un ensemble X des observations dans les données
83

d’apprentissage. La matrice de Gram du noyau associée à cet ensemble, est une


matrice carrée d’ordre M et de terme général : .

Théorème 1 : Une fonction est un noyau valide si elle symétrique et


définie positive.

En d’autres termes, une fonction est noyau si et seulement si :

Cette dernière condition se traduit par le fait que toutes les valeurs propres de la matrice
de Gram soit positives non nulles.

Exemples de Quelques Fonctions Noyaux

Linéaires :

Polynomial : ou

RBF(Radial Basic Function) :


84

Bibliographie
1. Abraham, cerebral quotion of neuro fuzzy tevhniques-hype or hallelujah, school
of computing and information technology, Victoria, Australia.2000

2. Abraham et NathB. , Hybrid intelligent systems design- a review of a decade of


research, school of computing and information technology, Université de
Monach, Churchill, Australia.2001.

3. Amar, N.T. Labzour, et Bensaid A. M, Semi-supervised hierarchical clustering


algorithms. In Proceedings of 6th scandinave Conference on Artificial
Intelligence, pages 232–239, 1997.
4. Anderberg M. R., Cluster Analysis for Applications, Academic Press, Inc., New
York, 1973
5. Atime. J, Méthode d’apprentissage floue : Application à la segmentation
d’images boilogiques, thèse de doctorat, Université de Toulouse, 7 novembre
2005

6. Attiya a. f., Am unsupervised learning technique for artificial neural networks.


Neural networks, Vol 3, pp. 707-711, 1990.

7. Bailey. D. E and Tryon, Cluster Analysis. New York: McGraw-Hill, 1970.

8. Bencherkh Y, Classification automatique et modèles. Thèse de Doctorat,


Université de Metzw, 1992.

9. Benzecri. J. P. et Jambu, Agrégation suivant le Saut Minimum et Arbre de


Longueur Minima,Les Cahiers de l’Analyse des Données, n. 4, pp. 441-452,
1976.

10. BENZECRI.J.P, L’analyse des données : La taxonomie, Tome A. Dunod, Paris,


1973.

11. Blayo F., Tour d’horizon sur les implémentations de réseaux de neurones , Cours
de la 3è école d’été du Cyrile, Université de Lion I, Juillet 1989.

12. Breton.S, une approche neuronale utilisant la vision Binoculaire par


reconstruction tridimensionnelle, thèse de doctorat, Universite de AhautAlsase,
France.1999.

13. Bonnefoy J.P., Une méthode adaptive de sélection de variable en reconnaissance


de formes, 6è congrès RFIA, Vol 1, pp. 473-478, DUNOD editor, 1987.
14. Celeux G, Didaye E., Lechevaliery, Govaert G. and Ralambomdrainy h,
Classification automatique des données, Edition Dunod, Paris, 1989.
85

15. Couasnon B., réseaux de neurones appliqués à la reconnaissance de partitions


musicales. Mémoire D.E.A Informatique INSAP/IRISA, Rennes, 1991.

16. Didaye, Leminaire j., Pauget j., Testw f., Elément d’analyse de données, Dunod
éditeur, 1982.

17. Didaye E., La méthode des nuées dynamiques, statistique appliquées, 19 (2),
pp.13-34, 1971.

18. Diday.E, La méthode des nuées dynamiques, Revue de Statistique Appliquée, vol.
19, n. 2, pp. 19-34, 1971.

19. Diday.E, Nouvelles méthodes et nouveaux concepts en classification automatique


et reconnaissance des formes, thèse de doctorat d’Etat, Université de Paris VI,
1972.

20. Dreyfus.G, J. Martinez, Samuelides, Gordon, Badran, thiria et Herault, réseaux


de neurones, méthodologies et application ; Edition Eyrolles.2002

21. Fogeleman soulie F., Application des méthodes connexionnismes en intelligence


artificielle, actes de 11è journées francophonies sur l’informatique, EC2 éditeur,
pp.101-106, 1989.

22. Forgye W, Cluster Analysis of multivariate data : Efficiency versus


interpretability of classifications, Biometrics, 21, pp.768-780, 1965.

23. Haytham E., Classification et prévision des données hétérogènes : Application


aux trajectoires et séjours hospitaliers. Thèse de Doctorat Université Claude
Bernard Lyon, 2008.
.
Jambu M. Introducion au Data Mining, Editions Eyrolles, Paris, 1999.
24. Jambu M et Lebeaux. Classification Automatique pour l’Analyse des Données,
Tome 1 : Méthodes et Algorithmes ; Tome 2 : Logiciels. Dunod, 1978.

25. Jambu M, Caractérisation des classifications arborescentes établies sur le critère


du X2 ou de l’information mutuelle”, Revue de Statistique Appliquée, vol. XXVI,
n. 2, pp. 45-69, 1978.

26. Jollois françois-xavier, Contribution de la classification automatique à la fouille


de données. Thèse de Doctorat, Université de Metz, 2003.

27. Khodja L., contribution à la classification floue non supervisée , thèse de


doctorat,Université de Savoie novembre 1997.
86

28. Martin philippe, Réseaux de neurones artificiels : Application à la


reconnaissance optique de partition musicale. Thèse de Doctorat, Université
Joseph-Fourrier, Grenoble I, 1992.

29. Mbuyi Mukendi.E, Kafunda katalay.P et all, Data mining and neural network,
Extracting Knowledge from Hight Pressure Data Patients , IJCSI, Vol 9, May
2012.

30. Mbuyi Mukendi.E, Kafunda katalay.P et all, Data mining and neural network,
DMX use for Risk assement of complication of Hihgt Pressure, IJCSI, Vol 9,
septembre 2012

31. Mbuyi Mukendi.E, Kafunda katalay.P , Classification Automatique et


Discrimination de données à l’aide de Réseaux de Neurones, Revue Congolaise
des Sciences Nucléaires, Volume N° 25 – Décembre 2011

32. Stoppiglia herve,Méthode statistiques de sélection de modèles neuronaux ;


applications financières et bancaires, thèse de doctorat de l’Université Pierre et
Marie Curie (Paris VI), Décembre 1997.
33. RAKOTOMAMONJY et Gilles GASSO, Séparateurs à Vaste Marge, INSA
Rouen-Département ASI, Laboratoire LITIS, 11 Novembre 2014

Vous aimerez peut-être aussi