WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Prédiction de durée de séjour hospitalier en gynécologie basée sur le machine learning: cas de quelques hôpitaux au sud-Kivu


par René CUBAKA ZAHINDA
Institut Supérieur Pédagogique de Kaziba - Licence 2022
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

Chapitre 2

Modèles de prédiction en Machine

Learning

2.1 Introduction

La durée de séjour hospitalier est sans doute un facteur qui indique en quelques sortes la force et la viabilité d'un système hospitalier. Cette prédiction a vu son essort depuis que l'Intelligence Artificielle, spéciallement les Machines Learning sont entrain de s'imposer dans la prise de décision dans presque tous les domaines de la vie. Parfois, on ne sait pas distinguer ce qui est intélligence artificielle, apprentissage automatique et apprentissage profond.

Le but de ce chapitre est tout d'abord de présenter le machine learning, son historique et ses champs d'application, en suite nous mettrons au courant les differents modèles de prédiction de machine learning, ainsi que la définition d'un modèle pertinant et en fin, comprendre le rôle de ces modèles dans la prédiction de DDS.

2.2 Intelligence Artificielle, Machine Learning et Apprentissage Profond

Premièrement, nous devons définir clairement ce dont nous parlons lorsqu'il est question d'IA. Que sont l'intelligence artificielle, l'apprentissage automatique et l'apprentissage

20

profond ? Quels liens existent entre eux (figure 2.1) ?

FIGURE 2.1 - Les relations entre l'intelligence artificielle, l'apprentissage automatique et l'apprentissage profond [10]

2.2.1 Intelligence Artificielle : Artificial Intelligent (AI)

L'intelligence artificielle est née dans les années 50, quand une poignée de pionniers de l'informatique naissante ont commencé à se demander si les ordinateurs pouvaient

être conçus pour « penser » une question dont nous continuons aujourd'hui d'explorer
les ramifications. Une définition précise de ce domaine serait la suivante : c'est l'effort d'automatisation des tâches intellectuelles normalement effectuées par des humains [10].

L'intelligence artificielle est donc un domaine général qui englobe l'apprentissage automatique et l'apprentissage profond, mais qui comprend également de nombreuses autres approches qui n'impliquent aucun apprentissage. Pendant très longtemps, de nombreux experts ont cru qu'une intelligence artificielle équivalente à celle de l'homme pouvait être atteinte en faisant en sorte que les programmeurs fabriquent un ensemble suffisamment large de règles explicites pour manipuler les connaissances. Cette approche est connue sous le nom d'intelligence artificielle symbolique (symbolic AI), et ce fut le paradigme dominant de l'IA des années 1950 à la fin des années 1980. Elle a atteint son apogée pendant le boom des systèmes experts (expert systems) dans les années 1980 [10].

Bien que l'IA symbolique se soit révélée apte à résoudre des problèmes logiques bien définis, tels que jouer aux échecs, elle s'est avérée incapable de définir des règles explicites pour résoudre des problèmes plus complexes et flous, tels que la classification d'images, la reconnaissance de la parole et la traduction linguistique. Une nouvelle approche est apparue, et elle a pris la place de l'intelligence artificielle symbolique : c'est l'apprentissage

21

automatique (machine learning) [10].

2.2.2 Apprentissage automatique : Machine Learning

Dans l'Angleterre victorienne, Lady Ada Lovelace était une amie et une collaboratrice de Charles Babbage, l'inventeur de la machine analytique (Analytical Engine) : le premier ordinateur mécanique polyvalent connu. Bien que visionnaire et très en avance sur son temps, la machine analytique n'était pas conçue comme un ordinateur polyvalent (general purpose computer) lorsqu'elle a été pensée dans les années 1830 et 1840, car le concept de calcul polyvalent n'avait pas encore été inventé. C'était simplement un moyen d'utiliser des opérations mécaniques pour automatiser certains calculs du domaine de l'analyse

mathématique d'où le nom de machine analytique. En 1843, Ada Lovelace a ainsi
commenté l'invention : « le moteur analytique n'a aucune prétention à être à l'origine de quoi que ce soit. Il peut faire toutes les tâches dont nous savons comment lui ordonner de les effectuer [...]. Son domaine de compétence est de nous aider à rendre disponible ce que nous connaissons déjà. » Le pionnier de l'IA, Alan Turing, a cité cette remarque plus tard comme « l'objection de Lady Lovelace » dans son article phare de 1950 appelé « Computing Machinery and Intelligence » qui présentait le test de Turing ainsi que les concepts clés qui façonneront plus tard l'IA. Turing citait Ada Lovelace en se demandant si les ordinateurs polyvalents pourraient être un jour capables d'apprendre et de faire preuve de créativité, et il en vint à la conclusion qu'ils en seraient capables. L'apprentissage automatique découle de cette question : un ordinateur pourrait-il aller au-delà des « tâches dont nous savons comment lui ordonner de les effectuer », et apprendre par lui-même comment effectuer une tâche spécifique ? Un ordinateur pourrait-il nous surprendre ? À la place de programmeurs élaborant à la main des règles de traitement de données, un ordinateur pourrait-il apprendre automatiquement ces règles par l'exposition aux données ?

Cette question ouvre la porte à un nouveau paradigme de programmation. En programmation classique, le paradigme de l'IA symbolique, l'homme saisit des règles (un programme) et des données à traiter conformément à ces règles, et il en découle des réponses en sortie. Avec l'apprentissage automatique, les humains entrent des données,

22

ainsi que les réponses attendues à partir de ces données, et ils obtiennent des règles en sortie. Ces règles peuvent ensuite être appliquées à de nouvelles données pour produire des réponses originales.

Un système d'apprentissage automatique est entraîné plutôt qu'explicitement programmé. De nombreux exemples pertinents pour une tâche lui sont présentés. Puis il trouve dans ces exemples une structure statistique qui lui permet à terme d'élaborer des règles pour l'automatisation de la tâche. Par exemple, si vous souhaitez automatiser l'étiquetage de vos photos de vacances, vous pouvez présenter à un système d'apprentissage automatique de nombreux exemples d'images déjà étiquetées par des humains, et le système apprendra des règles statistiques pour associer, à des images spécifiques, des étiquettes spécifiques. Bien que l'apprentissage automatique n'ait commencé à prospérer que dans les années 1990, il est rapidement devenu le sous-domaine de l'IA le plus populaire et le plus performant. Cette tendance est alimentée par la disponibilité de matériels informatiques plus rapides et de plus grands ensembles de données. L'apprentissage automatique est étroitement lié aux statistiques mathématiques, mais il diffère des statistiques sur plusieurs points importants. À la différence des statistiques, l'apprentissage automatique traite généralement de vastes et complexes ensembles de données (par exemple un ensemble de données de millions d'images, chacune comprenant des dizaines de milliers de pixels) pour lesquels une analyse statistique classique telle qu'une analyse bayésienne serait impossible à mettre en oeuvre. En conséquence, l'apprentissage automatique, et en particulier l'apprentissage profond : Deep Learning, présente relativement peu de théorie mathématique peut-être trop

peu et est axé sur l'ingénierie. C'est une discipline pratique dans laquelle les idées sont
plus souvent prouvées empiriquement que théoriquement.

2.2.3 Apprentissage des représentations à partir de données

Pour définir l'apprentissage profond (deep learning en anglais) et comprendre la différence entre l'apprentissage profond et les autres approches d'apprentissage automatique, nous devons d'abord avoir une idée du fonctionnement des algorithmes d'apprentissage automatique. Nous venons juste d'énoncer que l'apprentissage automatique découvre des règles permettant d'exécuter une tâche de traitement de données, lorsque lui sont fournis

23

des exemples de résultats attendus. Pour faire de l'apprentissage automatique, nous avons donc besoin de trois choses :

- des points de données d'entrée (input data points) par exemple, si la tâche est
la reconnaissance vocale, ces points de données peuvent être des fichiers audio de personnes qui parlent ; si la tâche est l'étiquetage d'images, ces points de données peuvent être des images ; si c'est dans le cas de ce papier, on aura donc besoin de données d'entrées de la patiente.

- des exemples de sortie attendue (expected output) dans une tâche de reconnaissance vocale, il peut s'agir de transcriptions de fichiers sonores générés par l'homme ; dans une tâche d'étiquetage d'images, les sorties attendues peuvent être des étiquettes telles que « chien », « chat », etc. ; dans une tâche de séjour hospitalier les output sont donc des séjours moyens de chacune des patientes.

- un moyen de mesurer la performance de l'algorithme c'est un élément nécessaire pour déterminer la distance, au sens mathématique, entre la sortie effective de l'algorithme et la sortie attendue ; la mesure est utilisée comme un signal de retour (feedback) pour ajuster le fonctionnement de l'algorithme ; cette étape d'ajustement est ce que nous appelons l'apprentissage.

Un modèle d'apprentissage automatique transforme ses données d'entrée en sorties qui ont un sens, c'est un processus qui est « appris » à partir de l'exposition à des exemples connus d'entrées et de sorties. Par conséquent, le problème central de l'apprentissage automatique et de l'apprentissage profond est de transformer de manière utile les données : en d'autres termes, d'apprendre des représentations utiles des données d'entrée disponibles

des représentations qui nous rapprochent du résultat attendu. Avant d'aller plus loin : qu'est-ce qu'une représentation ? Fondamentalement, c'est une façon différente

de considérer les données de représenter ou d'encoder les données. Les modèles
d'apprentissage automatique ont pour but de trouver des représentations appropriées pour

leurs données d'entrée des transformations de données qui les rendent plus adaptées à
la tâche à accomplir, telle que par exemple une tâche de classification.

Techniquement, voici ce qu'est l'apprentissage automatique : c'est la recherche de représentations utiles de certaines données d'entrée, dans un espace des possibilités prédéfini, en s'appuyant sur un signal de retour. Cette idée simple permet de résoudre un

24

très large éventail de tâches intellectuelles, de la reconnaissance automatique de la parole à la conduite automobile autonome.

Disons, ce qui est profond de l'apprentissage profond est donc une nouvelle approche de l'apprentissage des représentations à partir des données qui met l'accent sur l'apprentissage de couches (layers) successives de représentations qui sont de plus en plus significatives.

L'adjectif « profond » de l'apprentissage profond ne fait pas référence à une forme de compréhension plus approfondie réalisée par l'approche mise en oeuvre ; il représente plutôt l'idée de couches successives de représentations.

2.3 Les apprentissages en Machine Learning 2.3.1 Introduction

Dans cette section, nous allons voir quelques algorithmes de prédictions de Machine Learning tantôt en apprentissange supervisé, en apprentissage non supervisé ou en apprentissage par renforcement.

Au delà de ces différents apprentissages, il existe des algorithmes utiliés dans l'un ou l'autre apprentissage. Ces modèles au finish nous serviront en grande partie dans la conception du modèle de prédiction en Gynécologie qui fera l'objet de ce mémoire.

Parlons d'abord de ce qui est de l'apprentissage supervisé, l'apprentissage non supervisé et l'apprentissage par renforcement ([19] et[25]).

2.3.2 Apprentissage supervisé

L'apprentissage supervisé est fait en utilisant une vérité, c'est-à-dire qu'on a une connaissance préalable de ce que les valeurs de sortie pour nos échantillons devraient être. Par conséquent, le but de ce type d'apprentissage est d'apprendre une fonction qui, compte tenu d'un échantillon de données et de résultats souhaités, se rapproche le mieux de la relation entre les entrées et les sorties observables dans les données. La figure 2.2 est un exemple d'un modèle de traitement de données en apprentissage supervisé.

Dans l'apprentissage supervisé, on a deux types d'algorithmes :

25

FIGURE 2.2 - Modèle de traitement de données en apprentissage supervisé [1]

- Les algorithmes de régression, qui cherchent à prédire une valeur continue, une quantité.

- Les algorithmes de classification, qui cherchent à prédire une classe/catégorie.

2.3.3 Apprentissage non supervisé

Dans l'apprentissage non supervisé (clustering en anglais), l'ensemble de données est divisé en sous-groupes homogènes pour obtenir une représentation simplifiée de l'ensemble de départ [19]. Les algorithmes d'apprentissage automatique non supervisés sont utilisés lorsque l'information utilisée pour entraîner le modèle n'est ni classifiée ni étiquetée. Le modèle en question étudie ses données d'entrainement dans le but de déduire une fonction pour décrire une structure cachée à partir des données (figure 2.3). À aucun moment le système ne connaît la sortie correcte avec certitude. Au lieu de cela, il tire des inférences des ensembles de données quant à ce que la sortie devrait être. [1].

Les algorithmes de ce type d'apprentissage peuvent être utilisés pour trois types en problèmes.

- Association : un problème où on désire découvrir des règles qui décrivent de grandes portions de ses données. Par exemple, dans un contexte d'une étude de

26

27

FIGURE 2.3 - Modèle de traitement de données en apprentissage non supervisé [1]

comportement d'achat d'un groupe de clients, les personnes qui achètent tel produit ont également tendance à acheter un autre produit spécifique.

- Regroupement : un problème où on veut découvrir les groupements inhérents

aux données, comme le regroupement des clients par le comportement d'achat. - La réduction de dimension : on vise à réduire le nombre de variables à prendre

en compte dans l'analyse.

2.3.4 Apprentissage semi-supervisé

Ce type d'algorithme est la combinaison entre l'apprentissage supervisé et l'apprentissage non supervisé. Ces algorithmes sont capables d'apprendre à partir d'ensembles de données partiellement étiquetées [19].

2.3.5 Apprentissage par renforcement

L'apprentissage par renforcement est une méthode qui consiste à optimiser de manière itérative un algorithme uniquement à partir des actions qu'il entreprend et de la réponse associée de l'environnement dans lequel il évolue (figure 2.4).

Cette méthode permet aux machines et aux agents de déterminer automatiquement le comportement idéal dans un contexte spécifique pour maximiser ses performances. Une simple rétroaction de récompense, connue sous le nom de signal de renforcement, est

FIGURE 2.4 - Modèle de traitement de données en apprentissage par renforcement

nécessaire pour que l'agent apprenne quelle action est la meilleure.

La plus part des problèmes de la DDS utilisent les algorithmes de l'apprentissage supervisé car, avant d'étudier la DDS d'un patient, il faut donc savoir pour les précédents, leurs DDS et ainsi, les faire appliquer au nouveau modèle.

2.4 Algorithmes de l'apprentissage automatique

Dans la partie suivante nous allons parcourir quelques algorithmes en apprentissage supervisé car, sont eux qui nous serviront dans la suite de ce travail.

Pour résoudre un problème en apprentissage supervisé, on fait recours à plusieurs méthodes qui sont applicables dans plusieurs domaines [1]. Dans la suite, nous allons essayer de voir certains algorithmes en apprentissage automatique. Précisons que la liste n'est pas exhaustive mais nous allons juste essayer de présenter ici quelques modèles mais pas les tous.

28

2.4.1 Régression linéaire

La régression linéaire est l'une des méthodes de prédiction en ML. Elle utilise des variables quantitatives et l'idée plus générale ici est juste d'exprimer les variables par une fonction f(x).

L'un de ses principaux mérites est de fournir une illustration pédagogique élémentaire des différents concepts du ML. Il suppose que la fonction de prédiction f qui lie les variables prédictives x1, ..., xp à la variable cible a la forme :

f(x) = a0x0 + a1x1 + a2x2... + apxp = a x x + b (2.1)

La régression linéaire est utilisée pour l'estimation de certaines tendances en économétrie et dans le marketing lorsqu'on a des raisons de penser qu'il existe une relation linéaire entre la variable explicative et la cible. Établir la relation entre l'augmentation du prix d'un produit et sa demande, évaluer l'impact d'une campagne publicitaire en fonction des frais engagés sont des exemples d'utilisation [15].

L' apprentissage du modèle consiste en l'occurrence à calculer les coefficients ai qui minimisent les erreurs de prédiction sur un jeu de données d'apprentissage. Le plus souvent l'erreur est définie comme la somme des carrés des écarts entre les valeurs prédites f(x(i)) et les valeurs observées yi. On parle à ce titre de méthode des moindres carrés. Le carré ici des erreurs nous permet de ne pas avoir des valeurs négatives qui pourraient probablement se simplifier et ainsi faire penser au concepteur du modèle que nous est correct or il y a des valeurs érronées.

Erreur et la fonction coût

Un modèle de ML le plus souhaité, est celui qui minimise l'erreur. C'est ainsi que dans la conception d'un algorithme de Machine Learning, on cherche toujours à prendre le modèle qui a moins d'erreurs.

En effet, pour chaque point xi, l'erreur unitaire pour ce point xi est donné par la différence entre la valeur prédite et la vraie valeur. Pour se rassurer que cette valeur sera positive pour que l'équation 2.3 ne soit pas nulle, on élève cette difference au carré :

(f(xi) - yi)2.

L'erreur unitaire étant déjà définie, faisons une sommation de ces erreurs pour plusieurs points. L'équation 2.2 donne [12] :

Xm (f(xi) - yi)2. (2.2)

i=1

La fonction coût (équation 2.3) est définie en normant cette somme de l'équation 2.2 par le nombre m de points dans la base [12] :

m

1

J(è0, è1) = 2

X (f(xi) - yi)2 (2.3)

m i=1

29

Il existe aussi des modèles linéaires généralisés qui se basent sur des lois de probabilité. Les modèles linéaires généralisés (GLM) étendent les modèles linéaires de deux manières [2]. Premièrement, les valeurs prédites y sont liés à une combinaison linéaire des variables d'entrée x via une fonction de lien inverse. Deuxièmement, la fonction de perte au carré est remplacée par la déviance unitaire d'une distribution dans la famille exponentielle (ou plus précisément, un modèle de dispersion exponentielle reproductive (EDM).On fait alors le choix d'une distribution statistique à faire. Ceci est guidé par la caractéristique de données qu'on a [2] :

- Si les valeurs cibles y sont des nombres (valeur entière non négative) ou des fréquences relatives (non négatives), vous pouvez utiliser une distribution de Poisson avec un lien logarithmique.

- Si les valeurs cibles y sont positives et asymétriques, vous pouvez essayer une distribution Gamma avec un lien de journal.

- Si les valeurs cibles y semblent avoir une queue plus lourde qu'une distribution Gamma, vous pouvez essayer une distribution gaussienne inverse (ou des puissances de variance encore plus élevées de la famille Tweedie).

- Si les valeurs cibles y sont des probabilités, vous pouvez utiliser la distribution de Bernoulli. La distribution de Bernoulli avec un lien logit peut être utilisée pour la classification binaire. La distribution catégorielle avec un lien softmax peut être utilisée pour la classification multiclasse.

30

D'après l'équation 2.1, nous pouvons encore définir par 'q la DDS prédite à un moment t [22]. Cette équation devient donc :

'17 = a0 + Xp aixi (2.4)

i=1

2.4.2 Les k plus proches voisins

Le modèle des k plus proches voisins (KNN pour k Nearest Neighbors) est un des modèles prédictifs les plus simples. Il ne fait aucune hypthèse mathématique et ne demande pas non plus toute une litanie des choses. Il nécessite très peu de choses [15] :

- une notion de distance;

- et l'hypothèse que des points proches les uns des autres sont similaires.

L'opérateur de distance le plus souvent utilisé est la distance Euclidienne, cependant, en fonction du problème, on peut encore utiliser d'autres distances [26], etc

Principe de l'algorithme

On suppose que l'ensemble E contient n données labellisées et u , une autre donnée n'appartenant pas à E qui ne possède pas de label. Soit d une fonction qui renvoie la distance (qui reste à choisir) entre la donnée u et une donnée quelconque appartenant à E. Soit un entier k inférieur ou égal à n [8]. Le principe de l'algorithme de k-plus proches voisins est le suivant [3] et [8] :

- On calcule les distances entre la donnée u et chaque donnée appartenant à E à l'aide de la fonction d.

- On retient les k données du jeu de données E les plus proches de u, c'est-à-dire, les données déjà classifiées qui ont une distance d la plus proche avec la nouvelle donnée entrée.

- On attribue à u la classe qui est la plus fréquente parmi les k données les plus proches.

Les distances utilisées [3]

Les distances les plus souvent utilisées ici sont les distances euclidienne et Manhattan.

1. Distance euclidienne

La distance Euclidienne est la distance utilisée pour calculer la distance entre deux points. La distance Euclidienne d entre les points A et B est donnée par la relation suivante :

d(A, B) =

v u u Xn tk=1

(yk - xk)2. (2.5)

31

2. Distance Manhattan d

La distance de Manhattan est nommée ainsi car elle permet de mesurer la distance parcourue entre deux points par une voiture dans une ville où les rues sont agencées selon un quadrillage.

La distance de Manhattan d entre deux données A et B est donnée par la relation suivante :

d(A,B) = Xn | yk - xk |. (2.6)

k=1

2.4.3 Les arbres de décision

Les arbres de décision sont des modèles de ML supervisés et non paramétriques extrêmement flexibles. Ils sont utilisables aussi bien pour la classification que pour la régression. Nous décrirons ici brièvement les principes utilisés pour la classification. Les arbres de décision utilisent des méthodes purement algorithmiques qui ne reposent sur aucun modèle probabiliste. L' idée de base consiste à classer une observation au moyen d'une succession de questions (ou critères de segmentation) concernant les valeurs des variables prédictives Xi de cette observation. Chaque question est représentée par un noeud d'un arbre de décision. Chaque branche sortante du noeud correspond à une réponse possible à la question posée. La classe de la variable cible est alors déterminée par la feuille (ou noeud terminal) dans laquelle parvient l'observation à l'issue de la suite de questions [23].

Un modèle de Machine Learning comprend trois sortes de noeuds [16] : les racines, les noeuds intermédiaires et les branches. Deux noeuds sont reliés par des branches. La figure 2.5 illustre ces diffentes parties d'un arbre de décision. Selon la figure 2.5, on constate que la racine de cet arbre est x0, les noeuds intermédiaires sont x2, x3 et x4. Par

32

FIGURE 2.5 - Exemple d'un arbre avec ses differentes parties [16]

contre, les branches sont x1, x5; x6, x7 et x8. On comprend dans ce sens que l'arbre de décision n'est rien autre qu'une suite de questions où les réponses constituent des branches et des feuilles.

La question de la profondeur de l'arbre qu'il faut retenir est délicate et est directement liée au problème du surapprentissage. Exiger que toutes les observations soient parfaitement rangées peut rapidement mener au surapprentissage. Pour cette raison on décide généralement de ne plus rajouter de noeuds lorsque la profondeur de l'arbre excède un certain seuil, qui caractérise la complexité maximale de l'arbre de décision, ou lorsque le nombre d'observations par feuille est trop faible pour être représentatif des différentes classes (on parle de pré-élagage). On pratique aussi des opérations d'élagage a posteriori (prunning) sur des arbres dont les feuilles sont homogènes en utilisant un jeu de données distinct (prunning set) de celui qui a permis la construction de l'arbre original [23].

Une fois l'arbre construit à partir des données d'apprentissage, on peut prédire un nouveau cas en le faisant descendre le long de l'arbre, jusqu'à une feuille. Comme la feuille correspond à une classe, l'exemple sera prédit comme faisant partie de cette classe [26].

Les arbres de décisions interviennent par ailleurs comme brique de base de l'algorithme plus sophistiqué des forêts aléatoires que nous présenterons au paragraphe suivant.

33

Quoi que l'arbre de décision soit un algorithme important en prédiction, elle présente

aussi quelques faiblesses comme nous pouvons le lire selon [26] :

- C'est un algorithme Glouton, sans backtrack (sans retracer ou trace arrière).

- Transposables en règles avec des règles ayant des attributs communs, en particulier

l'attribut utilisé à la racine.

- Présentent des difficultés avec les concepts disjonctifs.

- Etc.

Aspect mathématiques

Dans cette partie, nous allons voir quelques fonctions mathématiques utiles pour un arbre de décision. L'algorithme utilise l'entropie (c'est une théorie tirant ses origines dans la théorie de l'information. L'entropie en statistique designe le désordre qui règne dans une population. La constuction de l'arbre visera à minimiser ce bruit [12]) et le gain d'information comme fonctions [6].

Etant donné un ensemble C de données labélisées +, - et p la population totale, l'entropie sur C de l'ensemble de données S est donnée par l'équation 2.7

Entropie(C) = X (-Pcilog2Pci) (2.7)

ciEC

Pci = |Ci|

|S| représente une probabilité de l'eventualité ci.

L'entropie étant déjà minimisée, l'étape critialle est de savoir quel attribut testé en premier (on choisira l'attribut qui maximisera le gain d'information ou, son équivalent : qui minimisera l'entropie [6] [12] ). Il faut connaître la notion de gain d'information. Le gain est défini par un ensemble d'exemples et par un attribut. L'équation 2.8 formulée va donc servir à calculer ce que cet attribut apporte au désordre de l'ensemble. Plus un attribut contribue au désordre, plus il est important de le tester pour séparer l'ensemble en plus petits sous-ensembles ayant une entropie moins élevée [6].

Gain(S, A) = Entropie(S) - X

cEvaleur(A)

| Sv |

| S | x Entropie(Sv) (2.8)

Les arbres de décisions interviennent par ailleurs comme éléments de base de l'algorithme

34

plus sophistiqué des forêts aléatoires que nous présenterons au paragraphe suivant.

2.4.4 Les forêts aléatoires

Il est connu qu'une forêt est un ensemble de plusieurs arbres (figure 2.6). Les forêts aléatoires sont donc un ensemble de plusieurs arbres de décisions.

FIGURE 2.6 - Généralisation du modèle prédictif Forêt aléatoire [16]

Prenons l'exemple suivant : imaginez-vous, vous vous rendez à l'hôpital pour le CPN et d'un coût, un médecin vous annonce que vous allez subir une opération (la prémière après sept naissances d'avant.) Parfois vous n'allez pas vous imaginer que cela soit possible. Il vous faut donc un récours vers un autre médecin car vous supposez que celui-là n'est pas soit à la hauteur de sa tâche. [12]

Comme pour l'algorithme de l'arbre de décision, quoi qu'il y a un seul arbre, mais à l'intérieur de ce dernier sont groupés plusieurs autres questionnement qui permettent de bien répondre à une certaine question. L'ensemble de ces portions d'arbre à l'intérieur d'un arbre constituent pour ce faire un algorithme appelé forêt aléatoire (Random Forest en anglais) [12].

Origine des forêts aléatoires [12]

On doit les random forests au fantastique Leo Breiman, éminent statisticien américain connu pour ses travaux sur les arbres décisionnels et sur la méthode CART, introduite

35

précédemment. Lui-même avait parfaitement conscience du défaut majeur d'un arbre de décision : sa performance est trop fortement dépendante de l'échantillon de départ. De plus, on peut s'attendre à ce que l'ajout de quelques nouvelles données dans la base d'apprentissage (ce qui est une bonne nouvelle en soit !) ne modifie pas drastiquement le modèle, qu'il le modifie de façon marginale pour l'améliorer. Ce n'est pas le cas avec un arbre de décision, dont la topologie peut totalement changer avec l'ajout de quelques observations supplémentaires. Plutôt que de lutter contre ces défauts des arbres de décisions, Breiman a eu l'idée géniale d'utiliser plusieurs arbres pour faire des... forêts d'arbres ! Vous avez compris le forest dans random forest. Et random alors ? Pour éviter de se retrouver avec des arbres égaux, il donne à chaque arbre une vision parcellaire du problème, tant sur les observations en entrée que sur les variables à utiliser. Ce double échantillonnage est tout simplement tiré aléatoirement. Notons que l'assemblage d'arbres de décision construits sur la base d'un tirage aléatoire parmi les observations constitue déjà un algorithme à part entière connu sous le nom de tree bagging. Les random forests ajoutent au tree bagging un échantillonnage sur les variables du problème, qu'on appelle feature sampling. On retiendra que :

Random forest = tree bagging + feature sampling

Avant d'entrer dans le détail de son fonctionnement, notons enfin que l'on retrouve dans le random forest la polyvalence des arbres de décision. En effet, on peut les utiliser :

- en classification, le résultat final étant obtenu en faisant « voter » chaque arbre ;

- en régression, en moyennant le résultat des arbres.

Le but de l'algorithme des forêts aléatoires est de conserver la plupart des atouts des arbres de décision tout en éliminant leurs inconvénients, en particulier leur vulnérabilité au surapprentissage et la complexité des opérations d'élagage. C'est un algorithme de classification ou de régression non paramétrique qui s'avère à la fois très fléxible et très robuste.

L' algorithme des forêts aléatoires repose sur trois idées principales :

1. À partir d'un échantillon initial de N observations (x(1), . . . x(n)), dont chacune est décrite au moyen de p variables prédictives, on crée « artificiellement » B nouveaux échantillons de même taille N par tirage avec remise. On appelle cette technique

36

le bootstrap. Grâce à ces B échantillons, on entraîne alors B arbres de décisions différents.

2. Parmi les p variables prédictives disponibles pour effectuer la segmentation associée au noeud d'un arbre, on n'en utilise qu'un nombre in < p choisies « au hasard ». Celles-ci sont alors utilisées pour effectuer la meilleure segmentation possible.

3. L' algorithme combine plusieurs algorithmes « faibles », en l'occurrence les B arbres de décisions, pour en constituer un plus puissant en procédant par vote. Concrètement, lors qu'il s'agit de classer une nouvelle observation x, on la fait passer par les B arbres et l'on sélectionne la classe majoritaire parmi les B prédictions. C'est un exemple d'une méthode d'ensemble.

Le nombre B d'arbres s'échelonne généralement entre quelques centaines et quelques milliers selon la taille des données d'apprentissage. Le choix du nombre in de variables à retenir à chaque noeud est le résultat d'un compromis. Il a été démontré que les prédictions d'une forêt aléatoire sont d'autant plus précises que les arbres individuels qui la composent sont prédictifs et que les corrélations entre prédictions de deux arbres différents sont faibles. Augmenter le nombre in de variables augmente la qualité de prédiction des arbres individuels mais accroît aussi les corrélations entre arbres. Une valeur in de l'ordre de /p constitue un bon compromis [23].

2.4.5 Les réseaux de neurones artificiels

Les réseaux de neurones artificiels sont utilisés tantôt dans plusieurs disciplines mais ne constituent pas en quelques sortes eux mêmes une discipline [27]. Un réseau de neurone artificiel (parfois simplement réseau de neurones) est un modèle de prédiction qui met en exergue le fonctionnement du cerveau. Le cerveau ici considéré est une collection de neurones connectés les uns aux autres. Chaque neurone examine les sorties des autres neurones, qui deviennent ses entrées, effectue un calcul, puis se déclenche ou pas [15]. La figure 2.7 est un exemple illustratif d'un réseau de neurones.

Les réseaux de neurones résolvent nombreux problèmes tels que la réconnaissance de l'écriture, la réconnaissance faciale [25],[15], voire même la fonction du système nerveu central [24].

37

FIGURE 2.7 - Réseau de neurones [25]

Définition 2.1 Les réseaux de neurones artificiels sont des réseaux fortement connectés de processeurs élémentaires fonctionnant en parallèle. Chaque processeur élémentaire calcule une sortie unique sur la base des informations qu'il reçoit. Toute structure hiérarchique de réseaux est évidemment un réseau.

Cependant, développer un réseau de neurones à moindre coût est l'appanage de [25] : - Un Dataset beaucoup plus grand (des millions de données)

- Un temps d'apprentissage plus long (parfois plusieurs jours)

- Une plus grande puissance de calcul.

Pour dépasser ces challenges, les chercheurs dans le domaine ont développés des variantes du Gradient Descent ainsi que d'autres techniques pour calculer plus rapidement les dérivées sur des millions de données. Parmi ces solutions on trouve [25] :

- Mini-Batch Gradient Descent : Technique pour laquelle le Dataset est fragmenté en petits lots pour simplifier le calcul du gradient à chaque itération.

- Batch Normalization : Mettre à la même échelle toutes les variables d'entrée et de sortie internes au Réseau de Neurone pour éviter d'avoir des calculs de gradients extrêmes.

- Distributed Deep Learning : Utilisation du Cloud pour diviser le travail et le confier à plusieurs machines.

Historique [27]

- 1890 : W. James, célèbre psychologue américain introduit le concept de mémoire associative, et propose ce qui deviendra une loi de fonctionnement pour l'apprentissage sur les réseaux de neurones connue plus tard sous le nom de loi de Hebb.

- 1943 : J. Mc Culloch et W. Pitts laissent leurs noms à une modélisation du neurone biologique (un neurone au comportement binaire). Ce sont les premiers à montrer que des réseaux de neurones formels simples peuvent réaliser des fonctions logiques, arithmétiques et symboliques complexes (tout au moins au niveau théorique).

- 1949 : D. Hebb, physiologiste américain explique le conditionnement chez l'animal par les propriétés des neurones eux-mêmes. Ainsi, un conditionnement de type pavlovien tel que, nourrir tous les jours à la même heure un chien, entraîne chez cet animal la sécrétion de salive à cette heure précise même en l'absence de nourriture. La loi de modification des propriétés des connexions entre neurones qu'il propose explique en partie ce type de résultats expérimentaux.

Comment comprendre un réseau de neurones ?

La réponse à cette question viendra à l'aide de l'exemple sur la figure 2.8. Sur cette

FIGURE 2.8 - Réseau de neurones à plusieurs neurones [25]

38

39

figure, on remarque à gauche des entrées appelées input layers et à gauche des sorties appelées Output layers. Les petits ronds sont appelés les neurones et représentent des fonctions d'activation [25].

Ils sont classés suivant le nombre de neurones de chaque réseau.

Réseau de Neurone à 1 Neurone : Le perceptron

Le réseau de Neurones le plus simple qui existe porte le nom de perceptron. Il est identique à la Régression Logistique de la section précedente.

Les entrées du neurone sont les x multipliées par des paramètres c à apprendre. Il existe deux étapes pour le calcul d'un réseau de neurone d'abord, un calcul linéaire par la somme de toutes les entrées et le calcul de la fonction d'activation ou la fonction logistique [25].

On utilise souvent d'autres fonctions d'activation que la fonction sigmoïde pour simplifier le calcul du gradient et ainsi obtenir des cycles d'apprentissage plus rapides [25] :

- La fonction tangente hyperbolique tanh(z)

- La fonction Relu(z)

Réseaux à plusieurs neurones : le Deep Learning

Cette méthode se fait en étapes en liant plusieurs perceptrons [25] :

- On réunit les neurones en colonne (on dit qu'on les réunit en couche, en layer). Au sein de leur colonne, les neurones ne sont pas connectés entre eux.

- On connecte toutes les sorties des neurones d'une colonne à gauche aux entrées de tous les neurones de la colonne de droite qui suit.

On peut ainsi construire un réseau avec autant de couches et de neurones que l'on veut. Plus il y a de couches, plus on dit que le réseau est profond (deep) et plus le modèle devient riche, mais aussi difficile à entraîner. C'est ça, le Deep Learning [25].

Les réseaux de neurones entrent dans la catégorie des modèles non linéaires en leurs paramètres. La forme la plus courante de réseau de neurones statique est une extension

simple de l'équation [14] :

g(x,w) = Xp w f (x,w') (2.9)

=1

où les fonctions f (x, w') , appelées "neurones", sont des fonctions paramètrées qui seront définies dans la suite.

La fonction f peut être paramétrée de manière quelconque. Deux types de paramétrage sont fréquemment utilisés [14] :

- les paramètres sont attachés aux variables du neurone : la sortie du neurone est une fonction non linéaire d'une combinaison des variables {x } pondérées par les paramètres {w }, qui sont alors souvent désignés sous le nom de « poids » ou, en raison de l'inspiration biologique des réseaux de neurones, « poids synaptiques ». Conformément à l'usage (également inspiré par la biologie), cette combinaison linéaire sera appelée « potentiel » dans tout cet ouvrage. Le potentiel v le plus fréquemment utilisé est la somme pondérée, à laquelle s'ajoute un terme constant ou « biais » :

v = wo + Xn w x (2.10)

=1

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

- les paramètres sont attachés à la non-linéarité du neurone : ils interviennent directement dans la fonction f ; cette dernière peut être une fonction radiale ou RBF (en anglais Radial Basis Function), ou encore une ondelette ; la première tire son origine de la théorie de l'approximation, la seconde de la théorie du signal . Par exemple, la sortie d'un neurone RBF à non-linéarité gaussienne a pour équation :

2w2 n+1

Pn =1(x - w )2

y = exp(-

) (2.11)

40

2.5 Pertinence d'un modèle de prédiction

Comme vu dans les chapitres précedents, il existre plusieurs algorithme de prédiction en apprentissage automatique. Mais la question qui reste toujours en jachère est celle de savoir si réellement toutes ces méthodes ont les mêmes chances de prédiction. C'est dans cette

perpective que dans cette section, nous allons essayer de voir comment on peut parvenir à faire un choix des algorithmes à maintenir pour la prédiction en Machine Learning. Nous allons parler de quelques mesures d'estimation des algorithmes de regression [2].

2.5.1 Score R2, coefficient de détermination

l représente la proportion de variance (de y) qui a été expliquée par le variables indépendantes dans le modèle. Il fournit une indication de la bonté de et donc une mesure de la probabilité que les échantillons non vus soient prédit par le modèle, à travers la proportion de variance expliquée.

Étant donné que cette variance dépend de l'ensemble de données, peut ne pas être significativement comparable dans différents ensembles de données. Le meilleur score possible est de 1,0 et il peut être négatif (parce que le modèle peut être arbitrairement pire). Ceci veut dire que lorsque le modèle coefficient de détermination est nul, inférieur à zéro ceci s'explique en disant que quand la variable x croit d'une valeur quelconque, la variable y décroit.

La formule 2.12 nous permet de calculer ce coéfficient.

P(y - ypred)2

R2 = 1

(2.12)

P(y - moyenne(y))2

1

MAE =

n

n-1X i=0

| yi - yi pred (2.13)

41

2.5.2 Erreur absolue moyenne

La fonction calcule la moyenne absolue erreur, un risque métrique correspondant à la valeur attendue de la perte d'erreur absolue ou de la perte -norm.

Si est la valeur prédite du -ième échantillon, et est la valeur vraie correspondante, alors l'erreur absolue moyenne (MAE) estimé sur est défini comme suit :

2.5.3 Erreur quadratique moyenne

La fonction calcule le carré moyen erreur, un risque métrique correspondant à la valeur attendue de l'erreur au carré (quadratique) ou perte.

Si est la valeur prédite du -ième échantillon, et est la valeur vraie correspondante, alors l'erreur quadratique moyenne (MSE) estimé sur est défini comme suit :

1

MSE = n

n-1X i=0

(yi - yi pred)2 (2.14)

42

Il existe plusieurs autres mesures de performences d'un modèle de regression, mais dans le cadre de ce travail, nous allons nous limiter à ces trois mesures linéaires.

Ce deuxième chapitre étant celui consacré à la description des modèles de machine Learning car au début nous avons signifié que c'est un domaine qui n'est pas cher à nous. Dans le chapitre suivant, nous allons essayer de classer et grouper les données qui nous servirons dans la construction du nouveau modèle de prédiction de séjour hospitalier, le principal objectif de ce travail.

43

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Des chercheurs qui cherchent on en trouve, des chercheurs qui trouvent, on en cherche !"   Charles de Gaulle