Visualisation des limites d'une solution de classificateur basée sur l'image

Présentation


Comprendre comment le classificateur décompose l'espace multidimensionnel initial d'attributs en plusieurs classes cibles est une étape importante pour analyser tout problème de classification et évaluer la solution obtenue à l'aide de l'apprentissage automatique.


Les approches modernes de visualisation des décisions des classificateurs utilisent principalement des diagrammes de dispersion qui ne peuvent afficher que les projections des échantillons d'apprentissage originaux, mais ne montrent pas explicitement les limites réelles de la prise de décision, ou utilisent la structure interne du classificateur (par exemple, kNN, SVM, régression logistique) pour laquelle il est facile de construire une géométrie interprétation. Cette méthode ne convient pas pour la visualisation, par exemple, d'un classificateur de réseau neuronal.


L'article "Visualisation basée sur l'image des limites de décision du classificateur" (Rodrigues et al., 2018) propose une méthode alternative efficace, belle et assez simple pour visualiser les solutions du classificateur, qui est dépourvue des inconvénients ci-dessus. À savoir, la méthode convient aux classificateurs de toute nature et établit les limites de la prise de décision en utilisant des images avec un taux d'échantillonnage arbitraire.


Ce message est un bref aperçu des principales idées et résultats de l'article d'origine.


Description de la méthode


La base de la méthode est l'échantillonnage inverse (eng. Upsampling) du plan de l'image \ mathbb {R} ^ 2 qui est représenté par un ensemble de pixels dans l'espace de fonctionnalité \ mathbb {R} ^ n .


La méthode nécessite deux mappages P: \ mathbb {R} ^ n \ to \ mathbb {R} ^ 2 - projection directe de l'espace caractéristique vers le plan image et l'inverse P ^ {- 1}: \ mathbb {R} ^ 2 \ à \ mathbb {R} ^ n . En tant que telles cartographies, LAMP (Joia et al. 2011) et iLAMP (Amorim et al. 2012) , respectivement, sont utilisés.


Immeuble


Pour créer une image, vous devez attribuer une couleur à chaque pixel. Pour cela, pour chaque pixel y va trouver N \ geq 1 points de l'hyperespace source où N - un paramètre spécifié par l'utilisateur. Laissez le pixel y a déjà n (y) \ geq 0 de vrais prototypes de l'ensemble de formation. Ensuite, choisissez uniformément \ max (N - n (y), 0) les points restants de la surface des pixels et trouver le prototype pour eux à travers la projection arrière x_i = P ^ {- 1} (y_i) . Ainsi, la couleur de chaque pixel sera déterminée par au moins N points de l'espace source, et l'image entière sera peinte.


Différence de méthodes
[Fig.1] Illustration schématique de différentes approches


Définition des couleurs


La couleur d chaque pixel y déterminé par un vote majoritaire pour les étiquettes de classe des préimages correspondantes.


d (y) = \ text {argmax} _ {k \ in C} \ sum_ {y_i \ in y} [f (P ^ {- 1} (y_i)) = k]

C - beaucoup de toutes les classes, f: \ mathbb {R} ^ n \ à C - classificateur.


Chaque classe se verra attribuer un ton (eng. Hue) H_T (k) - si la projection a des points de l'échantillon réel et un ton légèrement changé H _ {\ text {synth}} (k) pour les pixels dans lesquels il n'y a que des points synthétiques.


Confusion


Définir le mélange de pixels (à partir de la confusion anglaise) c (y) - comme le rapport du nombre d'étiquettes de la classe dominante au nombre total d'images inversées de pixels y :


c (y) = \ frac {\ max_ {k \ in C} \ sum_ {y_i \ in y} [f (P ^ {- 1} (y_i)) = k]} {| y |}

Haute valeur c (y) indique la cohérence du classificateur, tandis qu'une valeur faible signale une approche de la frontière de division. Mélanger les informations encodées en saturation de pixels S (y) - plus la consistance est élevée, plus la saturation est élevée.


Densité


Bien qu'un minimum ait été généré N des points de pré-image pour chaque pixel, il peut y avoir des pixels pour lesquels il y a beaucoup plus de points réels de l'ensemble d'apprentissage. Ces pixels doivent être pris en compte lors du rendu. Pour ce faire, entrez la densité de pixels \ rho (y) comme le nombre de ses points d'image inverses de \ mathbb {R} ^ n . On pourrait utiliser cette densité directement pour déterminer la luminosité d'un pixel comme V (y) = \ frac {\ rho (y)} {\ rho_ {max}} , mais les auteurs de l'article soulignent que cela ne donne pas le résultat souhaité, car certains tons sont évidemment plus sombres que d'autres. Par conséquent, un réglage plus sophistiqué est utilisé à la fois de saturation et de luminosité grâce à un paramètre de densité normalisé.


\ hat {\ rho} = max (\ frac {1} {20} \ frac {\ rho} {\ rho_ {avg}}, 1)

Alors si \ hat {\ rho} \ in [0, 0,5] - la luminosité dépend linéairement du paramètre à l'intérieur [V_ {min} = 0,1, V_ {max} = 1] . À \ hat {\ rho} \ in [0,5, 1] commence à croître linéairement la saturation de S_ {min} = 0,2 avant S_ {max} = 1 .


Encodage couleur
[Fig.2] Codage couleur


Expériences et résultats


Pour les expériences, les problèmes de classification binaire sur l'ensemble d'images numériques MNIST et de classification multiclasse sur l'ensemble de données de segmentation d'image , qui contient 2 310 images divisées en 7 classes, ont été résolus. Il y a 19 attributs pour chaque image.


Imagerie des résultats avec différents paramètres de résolution R et le nombre minimum de prototypes N pour le classificateur binaire LogisticRegression sur MNIST sont montrés dans la figure [3]. Les classes sont séparées par une ligne droite avec une grande précision et l'algorithme de visualisation fait un excellent travail. Avec une résolution croissante, les nuages ​​des points source se dissolvent presque complètement parmi les nombreux points générés.


Encodage couleur
[Fig. 3] Le résultat de la visualisation pour divers paramètres de résolution et le nombre minimal d'échantillons N pour le classificateur LogisticRegression


Visualisation lorsque R = 500 \ text {x} 500, N = 5 pour trois classificateurs différents pour la classification multiple dans la figure [4]. Les projections des points de départ sont fortement mitigées et il n'est pas possible de construire des frontières de division explicites aux endroits où les projections des cas de test sont accumulées. Cependant, en dehors du cluster principal, des limites de classe explicites ont été obtenues, dont les informations ne sont pas affichées sur les projections ordinaires, mais uniquement à l'aide de points synthétiques.


Encodage couleur
[Fig. 4] Le résultat de la visualisation de trois classificateurs différents pour k = 7, R = 500x500, N = 5


Conclusion


La visualisation des limites de classe peut être utilisée dans la construction et le débogage d'un algorithme décisif, dans la sélection d'hyperparamètres, dans la lutte contre la reconversion, pour présenter et analyser les résultats.


La méthode décrite par les auteurs de l'article d'origine peut être utilisée pour tout problème de classification, où les données peuvent être représentées comme un ensemble de signes d'une dimension fixe. Contrairement à d'autres algorithmes de visualisation, cette approche peut être utilisée pour tout classificateur arbitrairement complexe et pour les ensembles de données avec un nombre arbitraire d'exemples, même avec un très petit, car même avec de petites N l'algorithme fonctionne de manière stable, sans perdre beaucoup de qualité.

Source: https://habr.com/ru/post/fr483608/


All Articles