• Aucun résultat trouvé

Les méthodes classiques (telles que le seuil adaptatif et la factorisation par matrices non néga- tives) nécessitent de décrire les étapes de résolution du problème avec beaucoup de précision, ce qui rend l’algorithme spécifique à ce problème. D’autres algorithmes, notamment ceux ap- partenant à la classe d’apprentissage machine, permettent de généraliser l’algorithme de telle

jour météo température humidité vent classification

1 ensoleillé chaud haut non NON

2 ensoleillé chaud haut oui NON

3 couvert chaud haut non OUI

4 pluvieux doux haut non OUI

5 pluvieux frais normal non OUI

6 pluvieux frais normal oui NON

7 couvert frais normal oui OUI

8 ensoleillé doux haut non NON

9 ensoleillé frais normal non OUI

10 pluvieux doux normal non OUI

11 ensoleillé doux normal oui OUI

12 couvert doux haut oui OUI

13 couvert chaud normal non OUI

14 pluvieux doux haut oui NON

Table 2.5 – Exemple d’ensemble de données d’entrainement utilisé pour l’arbre de décisions sorte qu’il ne soit plus propre à un problème particulier, mais qui se spécialisera plutôt en fonction du jeu de données qu’on utilise pour l’entraînement. En effet, le même algorithme d’apprentissage automatique, celui de la forêt d’arbres de décisions, par exemple, est utilisé aussi bien pour faire la classification de gênes (Díaz-Uriarte and De Andres(2006)) que dans le domaine environnemental pour estimer la densité de biomasse présente dans les zones humides (Mutanga et al.(2012)). Dans notre cas, cet algorithme sera utilisé pour faire la classification des pixels d’une image, afin de l’identifier comme appartenant à la classe neurone ou arrière- plan. Cet algorithme est un choix intéressant puisqu’il est interprétable et qu’il requiert peu d’efforts lors de la préparation des données.

2.5.1 Description de l’algorithme

Commençons d’abord par définir l’élément de base d’une forêt d’arbres de décision. Un arbre de décision, souvent référé comme CART (Classification And Regression Tree), permet de solu- tionner à la fois, comme son nom l’indique, des problèmes de régression et de classification. On parle d’un problème de classification lorsqu’on veut identifier à quelle classe appartient l’objet sous considération. La segmentation de neurone en est un exemple parfait : on cherche à dé- terminer, pour chaque pixel, à quelle classe il appartient (neurone ou arrière-plan) en fonction des propriétés du pixel (son intensité, son maximum et minimum temporel, sa variance, etc.). Un problème de régression s’adresse plutôt aux cas où on veut prédire une valeur appartenant à un intervalle continu. Un bon exemple d’un problème de régression est la détermination du pourcentage du risque de pluie en fonction des conditions météorologiques des derniers jours. Un arbre de décision est constitué de plusieurs composantes. D’abord, il possède un nœud racine qui constitue le point de départ du processus de décision. Il est en soit un nœud de

décision, dans lequel on spécifie un test qu’on applique à notre objet. Le test en question pourrait être, par exemple, la question « quel est la météo en ce moment ? ». Les réponses possibles, soit « ensoleillé », « couvert », « chaud » et « pluvieux » sont les branches qui sortent de ce nœud de décision. Finalement, les feuilles sont les nœuds de décision finaux, qui effectuent la classification ou la régression. Ils n’ont aucune branche sortante.

Pour étudier le processus de croissance d’un arbre de décision, utilisons l’exemple classique où on veut déterminer s’il y aura une partie de soccer en connaissant l’historique du dernier mois, tel que si oui ou non la partie a eu cours connaissant la météo (ensoleillé, couvert, pluvieux), l’humidité (humide, normal) et le vent (fort, faible). Il est à noter que dans d’autres types de problème, on pourrait utiliser des seuils pour faire la classification, au lieu de prendre des valeurs nominales. L’ensemble de données d’entrainement est représenté à la table 2.5. La première étape du processus de croissance consiste à déterminer le premier nœud de notre arbre, soit le nœud racine. Conceptuellement, le nœud racine est celui qui génère la séparation la plus pure du jeu de données d’entrainement, de telle sorte que la partition créée rend le processus de décision le plus clair possible. On peut quantifier la pureté d’un nœud avec l’entropie H(A) = − n X c∈C p(c) log p(c),

où p(c) est la proportion de l’attribut A qui appartient à la classe c ∈ C = OUI, NON et S l’ensemble de données. Dans notre exemple, l’attribut qui permet de minimiser l’entropie est la prévision météorologique, on le choisit donc comme nœud racine. Cela signifie que le nœud racine aura trois branches, soit ensoleillé, couvert et pluvieux. On sépare ainsi l’ensemble de données selon ces trois attributs, pour créer les sous-ensembles présentés dans les tables2.6à

2.8.

jour météo température humidité vent classification

1 ensoleillé chaud haut non NON

2 ensoleillé chaud haut oui NON

8 ensoleillé doux haut non NON

9 ensoleillé frais normal non OUI

11 ensoleillé doux normal oui OUI

Table 2.6 – Sous-ensemble des éléments pour lesquels l’attribut météo à la valeur ensoleillé On procède ensuite au branchage subséquent. Pour y arriver, on sélectionne, pour chaque branche, le sous-ensemble de données restant (correspondant à l’attribut de la branche), puis on choisit l’attribut qui maximise le gain d’information par rapport au nœud racine. Le gain d’information de l’attribut A sur l’ensemble de données S est défini par l’équation

G(S, A) = H(S) −X

t∈T

jour météo température humidité vent classification

3 couvert chaud haut non OUI

7 couvert frais normal oui OUI

12 couvert doux haut oui OUI

13 couvert chaud normal non OUI

Table 2.7 – Sous-ensemble des éléments pour lesquels l’attribut météo à la valeur couvert jour météo température humidité vent classification

4 pluvieux doux haut non OUI

5 pluvieux frais normal non OUI

6 pluvieux frais normal oui NON

10 pluvieux doux normal non OUI

14 pluvieux doux haut oui NON

Table 2.8 – Sous-ensemble des éléments pour lesquels l’attribut météo à la valeur pluvieux où T sont les sous-ensembles créés lors de la division de S.

Le processus de croissance est ainsi effectué jusqu’à ce qu’on rencontre le critère d’arrêt. D’autres métriques peuvent être utilisées pour effectuer le processus de croissance de l’arbre. Par exemple, on peut utiliser l’indice de Gini plutôt que l’entropie, l’indice de Gini moyen remplace ainsi l’entropie pondérée, et le gain de Gini le gain d’information.

Plusieurs critères d’arrêt peuvent être employés pour cesser la croissance de l’arbre. Par exemple, on peut décider d’arrêter de croitre une branche lorsque le nombre d’éléments du jeu de données contenus dans une branche est inférieur au seuil imposé. On peut également fixer un critère d’arrêt basé sur la longueur maximale d’une branche, de telle sorte à arrêter la croissance de cette branche lorsque le critère est rencontré.

Afin d’améliorer les performances de l’arbre de décision, on peut le tailler, de telle sorte à éliminer les branches qui ont peu d’importance dans le processus de décision. La méthode de taillage par réduction d’erreur (Quinlan, 1987) est fréquemment utilisée à cet effet. Elle consiste à sélectionner une feuille, puis à enlever chaque noeud ayant la classe la plus populaire. Le changement est conservé s’il n’affecte pas la précision de la décision. Une autre technique qui peut être utilisée pour tailler l’arbre est le cost complexity prunning (Breiman et al.,1984). Pour voir d’autres méthodes possibles pour tailler un arbre de décision, voir Mingers(1989). Pour construire un algorithme de forêt d’arbres de décision, il suffit simplement de construire N arbres dont la croissance a été effectuée sur un sous-ensemble aléatoire d’attributs. On effectue le processus de décision sur chacun de ces arbres puis on les fait voter. La décision la plus fré- quente sera celle choisie. Construire une forêt d’arbres de décision présente plusieurs avantages face à un unique arbre de décision. Entre autres, elle permet de réduire le surapprentissage

Les forêts d’arbres de décision possèdent également plusieurs avantages face aux méthodes comme l’apprentissage profond. Premièrement, il est facile d’interpréter les résultats et de déterminer les attributs qui ont facilité la prise de décision et de visualiser le chemin de décision. De plus, on peut utiliser les arbres de décision aussi bien avec des données nominales (comme dans notre exemple) que numériques. Contrairement au réseau de neurones profonds, cette méthode ne requiert que peu de préparation des données.

Par contre, les arbres de décision ont plusieurs désavantages. Entre autres, ils sont fréquem- ment sujets au surapprentissage, et sont réputés pour leur instabilité. En effet, en changeant légèrement le jeu de données d’entrainement, on peut changer complètement la structure de l’arbre. Cette variance peut être diminuée avec des méthodes comme le bagging et le boosting.

2.5.2 Implémentation Java sur Fiji (Weka)

L’entrainement de l’algorithme s’est fait à l’aide de l’interface graphique implémentée dans le module d’extension de Fiji, Weka. Pour ce faire, cinq images provenant de l’ensemble de don- nées Ahrens qui correspondent à des régions différentes que celles choisies pour la validation ont été sélectionnées puis moyennées temporellement. Pour chacune de ces images, quelques ensembles de pixels ont été identifiées comme appartenant à la classe neurone, arrière-plan, espace entre les neurones ou région floue. Pour chacune de ces régions sélectionnées manuel- lement, les attributs présentés à la table2.9 ont été calculés pour bâtir les arbres de décision. Les mêmes attributs seront calculés sur les images au moment de la classification.

Table 2.9 – Attributs utilisés pour l’entrainement et la classification Attributs Flou gaussien Filtre de sobel Hessian Différence de gaussiennes Variance Moyenne Minimum Maximum Médiane

Décrivons brièvement chacun de ces attributs. D’abord, on retrouve le flou gaussien, qui effec- tue n convolutions individuelles à l’aide d’un noyau gaussien avec les n variations normales de σ. Plus le rayon est grand, plus l’image devient floue jusqu’à ce que les pixels soient homogènes. Le filtre de Sobel, quant à lui, calcule une approximation du gradient de l’image à chaque pixel. On utilise généralement de tels filtres lorsqu’on souhaite détecter des arrêtes dans une image. En effet, une arrête possède généralement un gradient élevé.

On retrouve ensuite le filtre hessien, qui calcule la matrice hessienne pour chaque pixel. Pour faire la classification des pixels, on calcule différentes caractéristiques de cette matrice, soit le module, la trace, le déterminant, la première et deuxième valeur propre, l’orientation, la normalisation gamma du carré de la différence des valeurs propres ainsi que le carré de la normalisation gamma de la différence des valeurs propres.

Pour ce qui est de la différence des gaussiennes, cette technique est généralement utilisée en traitement d’images pour renforcer les caractéristiques de notre choix. Dans cette technique, on produit deux images convoluées avec des noyaux gaussiens ayant des déviations standards différentes, de sortes à éliminer les hautes fréquences. On soustrait ensuite l’image la plus floue de l’image la moins floue produisant ainsi un filtre passe bande où les fréquences contenues entre l’étendue des fréquences qui sont préservées dans les deux images floues.

Finalement, les quantités comme la variance, la moyenne, le minimum, le maximum et la médiane sont calculés en effectuant les dites opérations sur les pixels inclus dans un rayon de σ à partir du pixel cible et on remplace le pixel cible par cette valeur.

2.5.3 Résultats

On remarque que cette méthode produit de bons résultats et requiert peu d’efforts dans la préparation de l’ensemble de données d’entrainement. Tel que mentionné précédemment, l’entrainement a été effectué en identifiant manuellement des pixels comme appartenant à l’une des quatre classes définies parmi celles définies, soit neurones, arrière-plan, l’espace entre deux neurones, ainsi que les régions floues. On génère donc des cartes de probabilités pour l’ensemble de données Ahrens sur lesquelles on applique un seuil de 0.8 afin de comparer les résultats avec la segmentation manuelle. Les résultats obtenus sont présentés à la table 2.10.

Table 2.10 – Performances de l’algorithme de forêt d’arbres de décisions Positives TP FP FN Sensibilité Précision score F1

Échantillon 13 301 230 94 71 0,76 0,71 0,74 Échantillon 17 235 190 38 45 0,81 0,83 0,82 Échantillon 20 86 70 19 16 0,81 0,79 0,80 Échantillon 22 88 69 47 19 0,78 0,59 0,68 Échantillon 27-358 43 23 12 20 0,53 0.66 0,59 Échantillon 27-624 245 143 38 102 0,58 0,79 0,67 moyenne 0,71 0,73 0,72

La performance moyenne de l’algorithme de forêt d’arbres de décision (sens. = 0,71) est donc bien meilleure que celle de la méthode du seuil adaptatif (sens. = 0,33) sur les données Ahrens. Or, le nombre de faux positifs détectés s’est avéré grandement augmenté. Pour réduire le nombre de fausses détections, on peut simplement augmenter le seuil auquel on filtre la carte de probabilité de sorte à ne conserver que les pixels qui sont les plus probables d’appartenir à

la classe neurone (seuil ∼0, 95). En procédant ainsi, on diminue du même coup le nombre de vrais positifs.

En examinant les images composites (sur lesquels la segmentation manuelle a été superposée au résultat de l’algorithme), on remarque que plusieurs des faux positifs détectés sont en fait des doublons : l’algorithme détecte deux éléments alors qu’ils appartiennent en réalité au même neurone. Pour éliminer les doublons, on peut simplement évaluer la corrélation entre les séries temporelles de chaque paire d’éléments, et lorsque la corrélation est plus grande qu’un certain seuil, on considère que les deux séries temporelles appartiennent au même neurone. Quant aux autres faux positifs, qu’on ne peut éliminer grâce à des critères de taille, on doit donc recourir à l’analyse de séries temporelles pour les filtrer.

L’algorithme ayant été entrainé sur Ahrens, on remarque une dégradation des performances lorsqu’on l’applique aux données de PDK. Alors que les échantillons d’Ahrens ont une sensi- bilité moyenne de 0,79, les données PDK1 à PDK4 (table 2.11) ont une sensibilité de 0,29. En effet, l’algorithme détecte moins de vrais positifs (sensibilité plus basse) que pour Ahrens, en plus de générer plus de faux positifs (précision plus basses). Ces résultats soulignent donc l’importance de procéder à l’entrainement sur des données similaires (donc issues du même protocole expérimental) à celles sur lesquelles on veut faire la prédiction.

Table 2.11 – Performances de la méthode du seuil adaptatif sur les données PDK1-PDK4 Positives TP FP FN Sensibilité Précision Score F1

PDK1 970 228 47 742 0,24 0,83 0,37

PDK2 892 219 50 673 0,25 0,81 0,38

PDK3 827 200 48 627 0,24 0,81 0,37

PDK4 715 316 143 399 0,44 0,69 0,54

Moyenne 0,29 0,79 0,42

En évaluant les résultats de l’algorithme sur les données PDK5 (table 2.12), on remarque encore une fois que les performances sont grandement diminuées par rapport aux deux autres ensembles de données (Ahrens et PDK1-PDK4).

Table 2.12 – Performances de la méthode du seuil adaptatif sur les données PDK5 Positives TP FP FN Sensibilité Précision Score F1

PDK5-1 410 18 9 392 0,04 0,67 0,08

PDK5-2 400 77 56 323 0,19 0,58 0,29

PDK5-3 515 126 56 389 0,24 0,69 0,36

PDK5-4 563 121 45 442 0,21 0,73 0,33

Moyenne 0,17 0,67 0,27

On peut expliquer cette dégradation des résultats du fait que cet ensemble de données est encore plus différente de Ahrens (de par sa résolution spatiale moins grande) que PDK1 à

PDK4. Dans la prochaine section, l’influence de la résolution spatiale sur les résultats de segmentation sera étudiée pour confirmer notre hypothèse.

Pour tester l’hypothèse selon laquelle les performances de l’algorithme pourraient être amé- liorées en ré-entrainant le modèle sur des données similaires, on procède au ré-entrainement de l’algorithme en utilisant PDK1 comme jeu de données d’entrainement et PDK2, PDK3 et PDK4 comme jeu de données test. Selon les résultats présentés à la table 2.13, on remarque effectivement que les performances sont améliorées par l’entrainement supplémentaire de l’al- gorithme. Alors qu’avant l’entrainement, on obtenait en moyenne, pour PDK2 à PDK4, une sensibilité de 0,22 alors qu’après l’entrainement, elle atteint une valeur de 0,76.

Table 2.13 – Performances de la méthode du seuil adaptatif sur les données PDK2-PDK4 Positives TP FP FN Sensibilité Précision Score F1

PDK2 892 718 313 174 0,80 0,70 0,74

PDK3 827 617 345 210 0,75 0,64 0,69

PDK4 715 532 768 183 0,74 0,41 0,53

Moyenne 0,76 0,58 0,65

Effet de la résolution spatiale

Pour tester les performances de l’algorithme en fonction de la résolution spatiale, on utilisera un ensemble de données simulées. L’échantillon 17 de Ahrens, sur lequel on effectuera une interpolation bilinéaire, sera utilisé pour simuler une baisse de résolution spatiale. L’échantillon 17 est ainsi sous-échantillonné d’un facteur d’échantillonnage de 2, 4, 6 et 8 pixels, dont l’effet peut être visualisé à la figure2.10. Pour réaliser l’interpolation bilinéaire, il suffit de subdiviser l’image en fenêtres de n × n (où n est le facteur d’échantillonnage) et de remplacer cette fenêtre par la moyenne de ses pixels. Ainsi, plus le facteur est grand, moins la résolution est bonne (moins de pixels représentent chaque neurone) et plus l’image générée est petite.

Sur l’image originale (figure 2.10a), les noyaux ont un diamètre moyen d’environ 14 pixels. Comme on peut le voir à la figure 2.10, il est évident que le sous-échantillonnage vient dimi- nuer le contraste qui permet de distinguer deux noyaux voisins. Ainsi, sur l’image (c), on peut encore distinguer les neurones actifs, mais il devient presque impossible de les distinguer s’ils ne sont pas actifs. Pour ce qui est de l’image (d), elle est inutilisable à des fins de segmentation puisqu’on ne peut distinguer aucun noyau. Il est donc important de s’assurer que le grossis- sement du microscope utilisé pour l’imagerie est suffisant pour que chaque noyau occupe au moins 7 pixels en diamètre sur le capteur si on veut effectuer une segmentation numérique sur ces images.

On teste donc l’algorithme de forêts d’arbres décisionnels sur l’image (b), sous-échantillonnée d’un facteur 2, afin de comparer les résultats avec ceux obtenus pour l’image originale (a), avec le même seuil (95%) sur les cartes de probabilités. On peut voir à la figure2.11que les résultats

(a) (b)

(c) (d)

Figure 2.10 – Plan 13 de l’ensemble de données Ahrens sous-échantillonné. (a) Image ori- ginale, (b) sous-échantillonnage de fenêtre 2x2, (c) sous-échantillonnage de fenêtre 4x4, (d) sous-échantillonnage de fenêtre 8x8

de la segmentation sur l’image sous-échantillonnée (2.11b) sont beaucoup moins bons que sur l’image originale (2.11a). Ces résultats confirment ainsi l’hypothèse selon laquelle les résultats de segmentation sont affectés par la résolution spatiale de l’image à segmenter. En effet, les images de Ahrens ainsi que les données PDK1 à PDK4 ont une résolution pour laquelle chaque neurone occupe un diamètre d’environ 10 pixels sur le capteur (donc équivalent à l’image2.11a, alors que les données PDK5 ont une résolution pour laquelle les neurones occupent un diamètre d’environ 5 pixels (équivalent à l’image2.11b).

Plusieurs facteurs peuvent influencer les performances en fonction de la résolution spatiale. Entre autres, comme il est possible de remarquer à la figure 2.10, la résolution spatiale est directement liée au contraste entre les neurones et l’arrière-plan, un facteur critique dans n’importe quelle tâche de segmentation. De plus, l’algorithme ayant été entrainé sur des images ayant une résolution spécifique (diamètre de 10 pixels par neurone), lorsqu’on l’applique à des images de moins grande résolution, il est normal qu’il performe moins bien. Ainsi, il pourrait être possible d’améliorer les performances simplement en entrainant l’algorithme sur des données de même résolution spatiale.

(a) (b)

Figure 2.11 – Image composite du plan 17 de l’ensemble de données Ahrens avec et sans échantillonnage

Documents relatifs