Suite

Pourquoi utiliser l'extraction de caractéristiques ?


Pourquoi l'extraction de caractéristiques est-elle importante ?

Pourquoi devons-nous réduire l'espace des fonctionnalités ?

S'agit-il uniquement d'un problème de calcul lorsque nous utilisons l'imagerie hyperspectrale ou cette procédure améliore-t-elle la capacité de généralisation d'un système de classification ?


L'extraction de caractéristiques n'est pas toujours une nécessité : elle dépend de l'algorithme utilisé pour la classification. Avoir trop de fonctionnalités conduira à la soi-disant "malédiction de la dimensionnalité". Un classificateur à maximum de vraisemblance sera très sensible à cela, alors qu'un classificateur SVM devrait en théorie gérer un grand nombre de fonctionnalités sans trop de problème. D'autres classificateurs sont intermédiaires.

Un problème typique est la rareté de l'échantillon d'apprentissage : si vous devez estimer une distribution, vous avez besoin de suffisamment d'échantillons d'apprentissage dans toutes les dimensions, de sorte que le nombre total d'échantillons augmente de façon exponentielle avec le nombre de dimensions. Un autre problème est que vous augmentez le risque de caractéristiques corrélées, ce qui peut poser problème si vous souhaitez inverser une matrice.

Dans tous les cas, ajouter plus de fonctionnalités n'ajoute pas nécessairement plus d'informations, et les informations sont ce dont vous avez besoin. Par exemple, si vous voulez distinguer une voiture d'une moto, l'intensité de la couleur ne vous aidera pas (mais si votre échantillon est trop petit, vous pouvez sélectionner au hasard 2 voitures rouges et deux motos jaunes, donc conclure que tout rouge est une voiture). La sélection des caractéristiques est censée vous aider à sélectionner les bonnes caractéristiques (dans ce cas, le nombre de roues), mais c'est aussi une étape supplémentaire où vous pouvez commettre des erreurs.


Prenons un champ agricole comme exemple simple. À moins que nous ne nous intéressions à l'agriculture de précision, auquel cas il est important de caractériser la variabilité au sein du champ, alors nous souhaitons simplement savoir que la parcelle de terre désignée par ce champ est utilisée pour cultiver du soja ou du maïs, ou n'importe quelle culture. Autrement dit, du point de vue de l'information, nous nous intéressons davantage au domaine en tant qu'unité unique. Cela nous permet de répondre à des questions comme combien de champs en Ontario cultivent du maïs ou quelle est la superficie de soja. Et cela est important pour estimer la production agricole et l'assurance, etc.


Différence entre la sélection de caractéristiques, l'extraction de caractéristiques, les pondérations de caractéristiques

Je suis un peu confus quant à ce que signifie "sélection de caractéristiques / extracteur / poids" et la différence entre eux. En lisant la littérature, je me sens parfois perdu car je trouve que le terme est utilisé assez vaguement, mes principales préoccupations sont --

Quand les gens parlent de fréquence de fonction, de présence de fonction, s'agit-il de sélection de fonction ?

Lorsque les gens parlent d'algorithmes tels que le gain d'information, l'entropie maximale, s'agit-il toujours d'une sélection de fonctionnalités.

Si j'entraîne le classificateur - avec un ensemble de fonctionnalités qui demande au classificateur de noter la position d'un mot dans un document à titre d'exemple - appellerait-on toujours cette sélection de fonctionnalités ?


Comme toujours, cela dépend du jeu de données. Parfois, une fonctionnalité peut être suffisante pour créer un classificateur très précis, mais pour les problèmes les plus intéressants et non triviaux, plusieurs fonctionnalités sont nécessaires. Par exemple, en traitement d'images, on a souvent besoin d'un grand nombre de caractéristiques faibles. Notez qu'il s'agit d'une question distincte de la collecte de données, où vous avez un certain contrôle sur ce qu'il faut mesurer en premier lieu. Certaines connaissances d'experts à ce stade précoce peuvent économiser beaucoup de travail sur la sélection ultérieure des caractéristiques/la réduction des dimensions, etc.

La collecte à l'avance de "bonnes" caractéristiques (par exemple, de telles caractéristiques qui conduisent à une précision maximale) n'est généralement pas toujours possible. Par conséquent, nous collectons "beaucoup" de fonctionnalités dans l'espoir que de "bonnes" fonctionnalités soient parmi elles.

Après avoir collecté de nombreuses fonctionnalités, nous utilisons souvent des méthodes de sélection/extraction de fonctionnalités, afin de les réduire à un plus petit ensemble de fonctionnalités, ce qui conduit à des résultats prometteurs. Cependant, cela ne fonctionne pas toujours car il existe de nombreux pièges. Par exemple, il existe des fonctionnalités « mauvaises » qui, en combinaison, peuvent fonctionner beaucoup mieux en tant que « bonne » fonctionnalité unique. Nous devons donc également en tenir compte.

Vous trouverez ici 7 techniques de réduction de la dimensionnalité des données. Jetez un œil à ceux-ci.

Oui, il est possible d'obtenir d'excellents résultats de classification en utilisant une seule fonctionnalité.

Pensez à l'exemple nul - en utilisant la classe elle-même comme fonctionnalité de classification.

En général, plus les interactions entre vos différentes classes cibles sont complexes, plus vous aurez besoin de fonctionnalités.


3 réponses 3

La sélection des fonctionnalités peut être considérée comme une étape à éviter. Vous devez passer du temps de calcul pour supprimer des caractéristiques et perdre des données et les méthodes que vous devez utiliser pour sélectionner les caractéristiques ne sont pas optimales car le problème est NP-Complet. L'utiliser ne ressemble pas à une offre que vous ne pouvez pas refuser.

Alors, quels sont les avantages de l'utiliser?

  1. De nombreuses fonctionnalités et un faible rapport échantillons/caractéristiques introduiront du bruit dans votre ensemble de données. Dans un tel cas, votre algorithme de classification risque de surcharger et de vous donner une fausse impression de bonne performance.
  2. La réduction du nombre de fonctionnalités réduira le temps d'exécution dans les étapes ultérieures. Cela vous permettra à son tour d'utiliser des algorithmes de complexité plus élevée, de rechercher plus de paramètres hyper ou de faire plus d'évaluations.
  3. Un ensemble plus petit de fonctionnalités est plus compréhensible pour les humains. Cela vous permettra de vous concentrer sur les principales sources de prévisibilité et de faire une ingénierie plus précise des fonctionnalités. Si vous devez expliquer votre modèle à un client, il vaut mieux présenter un modèle à 5 fonctionnalités qu'un modèle à 200 fonctionnalités.

Maintenant pour votre cas spécifique : je vous recommande de commencer par calculer les corrélations entre les caractéristiques et le concept. Le calcul des corrélations entre toutes les caractéristiques est également instructif. Notez qu'il existe de nombreux types de corrélations utiles (par exemple, Pearson, information mutuelle) et de nombreux attributs qui pourraient les affecter (par exemple, la rareté, le déséquilibre des concepts). Les examiner au lieu d'utiliser aveuglément un algorithme de sélection de fonctionnalités pourrait vous faire gagner beaucoup de temps à l'avenir.

Je ne pense pas que vous aurez beaucoup de problèmes de temps d'exécution avec votre ensemble de données. Cependant, votre rapport échantillons/caractéristiques n'est pas trop élevé, vous pouvez donc bénéficier de la sélection des caractéristiques.


Cas d'utilisation pour l'intégration

Représenter des entités telles que des articles de mode, des films, des propriétés de vacances et des articles de presse sous forme de vecteurs de caractéristiques compacts à valeur réelle (intégrations) qui codent des traits clés permet un ensemble de scénarios d'utilisation intéressants. Cette section présente certains cas d'utilisation de ces incorporations d'entités.

Analyse de similarité

Une fois que vos entités ont été codées dans des vecteurs de caractéristiques de faible dimension et à valeur réelle, vous pouvez effectuer des analyses et une visualisation exploratoires pour découvrir des informations et des modèles intéressants. Cela peut inclure :

  • Trouver les éléments les plus proches d'un élément donné. Par exemple, comme mentionné précédemment, si vous disposez d'un référentiel d'articles de presse ou d'articles de recherche, vous pouvez trouver les documents les plus similaires à un document donné. Cette technique vous permet également d'étiqueter l'article avec les sujets de ses articles voisins.
  • Identifier des groupes d'éléments similaires dans l'espace d'intégration, tels que des produits d'essai, des films ou des listes de propriétés. Vous pouvez ensuite étudier les caractéristiques clients communes de chaque groupe afin d'ajuster une campagne marketing.
  • Trouver la densité d'éléments dans un quartier d'élément particulier. Cela vous aide à identifier les sujets chauds ou tendance, les types d'articles de mode, les genres musicaux, etc.
  • Identifier les éléments limites ou intergroupes ainsi que les éléments exceptionnels ou aberrants. Cela peut être utile pour la détection de fraude.

Recherche et récupération

La recherche d'éléments similaires ou pertinents est l'un des scénarios les plus importants et les plus largement utilisés pour les intégrations. Cette application peut être implémentée en deux versions différentes : réactive et proactive.

Dans la récupération réactive, l'utilisateur fournit un élément à rechercher et vous récupérez les éléments qui lui sont similaires à partir de vos magasins de données. Par exemple, vous pouvez trouver des images d'animaux de compagnie similaires à celles de l'animal de compagnie de l'utilisateur, ou vous pouvez rechercher des documents de recherche similaires à un article fourni par l'utilisateur. Dans ce cas, votre système extrait en ligne l'intégration de l'élément de l'utilisateur. Ensuite, le système récupère les éléments de votre magasin de données dont les intégrations sont les plus similaires à l'intégration d'entrée, sur la base d'une métrique de proximité.

En récupération proactive, votre système identifie automatiquement le contexte et le convertit en une requête de recherche afin de récupérer les éléments les plus similaires. Par exemple, vous pouvez disposer d'une bibliothèque de vidéos documentaires et votre application permet aux utilisateurs de rechercher et de télécharger des vidéos. Lorsque l'utilisateur se connecte, le contexte ici n'est que l'ID de l'utilisateur (peut-être avec d'autres attributs facultatifs, tels que la date/l'heure et l'emplacement). Ces informations sont utilisées comme requête de recherche pour récupérer les vidéos les plus pertinentes pour cet utilisateur, en fonction de la similitude entre l'intégration de l'utilisateur et les intégrations vidéo.

Dans la récupération réactive et proactive, votre système doit être capable de convertir la requête implicite ou explicite en une intégration, de comparer cette intégration à l'intégration des éléments stockés et de récupérer les plus similaires.

Voici d'autres exemples d'utilisation des intégrations pour la recherche et la récupération :

  • Récupération des articles de presse les plus pertinents pour une requête de recherche donnée.
  • Récupération des images les plus similaires à une image fournie par l'utilisateur.
  • Trouver une piste musicale la plus similaire à celle fournie par l'utilisateur.
  • Trouver une liste de jeux ou d'applications pertinents, étant donné celui que l'utilisateur a récemment installé.
  • Récupérer la réponse la plus pertinente d'une liste de FAQ, compte tenu d'une requête en langage naturel.
  • Découvrir de nouveaux films ou chansons intéressants pour un utilisateur donné.

Apprentissage par transfert automatique

De nombreux cas d'utilisation impliquent l'encodage de données éparses, complexes, de grande dimension ou non structurées dans des intégrations pour former des modèles de ML.

L'utilisation d'intégrations pré-entraînées pour coder du texte, des images ou d'autres types de données d'entrée dans des vecteurs de caractéristiques est appelée apprentissage par transfert. Essentiellement, l'apprentissage par transfert transfère des informations d'une tâche ML à une autre. Un cas d'utilisation typique consiste à utiliser un modèle formé sur de grandes quantités de données pour une tâche où vous avez moins de données. Par exemple, vous pouvez utiliser des intégrations de texte pré-entraînées qui sont entraînées sur un corpus de texte volumineux de centaines de millions de mots et de phrases pour former un modèle de classification des sentiments où vous n'avez que 10 000 avis de clients sur un produit.

Avec l'apprentissage par transfert, non seulement vous réutilisez les connaissances (intégrations) extraites de grandes quantités de données, mais vous économisez également des milliers d'heures de calcul CPU et GPU qui seraient autrement nécessaires pour former ces intégrations.

Vous pouvez utiliser des intégrations de fonctionnalités avec d'autres fonctionnalités pour entraîner vos modèles de ML. Un exemple de cas d'utilisation qui a été noté précédemment est l'estimation du prix de location d'une propriété de vacances, étant donné :

  • Caractéristiques de base de la propriété, telles que la taille, le nombre de pièces, l'orientation (par exemple, face à la plage), l'emplacement, les prix moyens dans la région, les dates de location, la saison, etc.
  • Fonctionnalités intégrées, telles que des descriptions en langage naturel de la propriété et des images de la propriété.

Les encastrements peuvent être incorporés dans le modèle de deux manières. La première consiste à extraire les inclusions et à les utiliser comme vecteurs de caractéristiques en entrée. Vous concaténez les entités en entrée de base aux représentations vectorielles continues pré-entraînées (que vous avez précédemment extraites lors d'une étape de prétraitement hors ligne) pour former un vecteur d'entités en entrée. Le point clé est que ces intégrations ne peuvent pas être entraînées : elles ne sont pas réglées dans le cadre de l'entraînement de ce modèle et sont plutôt traitées comme des entrées. Cette approche est illustrée à la figure 5.

Figure 5. Utiliser des plongements pré-entraînés comme entrée

Alternativement, vous pouvez inclure les inclusions en tant que couche entraînable dans le modèle. Dans cette approche, vous incluez des couches d'intégration pré-entraînées pour les modalités respectives dans votre architecture de modèle. Cela vous permet d'affiner les poids d'intégration pendant le processus d'entraînement pour la tâche du modèle. Comme le montre la figure 6, les caractéristiques de texte et d'image sont introduites dans le modèle sous leur forme brute, sans être intégrées. Avant qu'elles ne soient jointes aux entités d'entrée de base pour former un vecteur d'entités d'entrée à l'architecture interne du modèle, les représentations vectorielles continues pré-entraînées sont connectées en tant que couches pouvant être entraînées.

Figure 6. Utilisation d'incorporations pré-entraînées en tant que couches pouvant être entraînées

La deuxième approche vous permet d'ajuster les plongements par rapport à la tâche de modèle pour produire des modèles plus efficaces. Cependant, la taille du modèle est généralement beaucoup plus grande que dans la première approche, car elle contient les poids d'intégration.


Quand devons-nous appliquer l'extraction/sélection de caractéristiques ?

Tout d'abord, nous devons prendre en compte le type d'algorithme que nous allons alimenter avec les fonctionnalités produites. Les compétences d'abstraction, les sensibilités à la non-pertinence et à la redondance varient beaucoup en fonction de la technique d'apprentissage machine spécifique.

En général, un minimum d'extraction de caractéristiques est toujours nécessaire. Le cas unique où nous n'aurions pas besoin d'extraction de caractéristiques est lorsque notre algorithme peut effectuer l'extraction de caractéristiques par lui-même comme dans les réseaux de neurones d'apprentissage en profondeur, qui peuvent obtenir une représentation en basse dimension de données de haute dimension (aller dans profondeur ici). Malgré cela, il faut souligner que réussir est toujours plus facile avec de bonnes fonctionnalités.

Nous devrions appliquer la sélection de caractéristiques, lorsqu'il y a un soupçon de redondance ou inutilité, car ceux-ci affectent la précision du modèle ou ajoutent simplement du bruit au mieux. Parfois, malgré des fonctionnalités pertinentes et non redondantes, la sélection des fonctionnalités peut être effectuée uniquement pour réduire le nombre de fonctionnalités, afin favoriser l'interprétabilité et la faisabilité informatique ou éviter la malédiction des phénomènes de dimensionnalité, c'est-à-dire trop de fonctionnalités pour décrire pas assez d'échantillons.


Extraction de caractéristiques

L'ACP est l'une des techniques de réduction de dimensionnalité linéaire les plus utilisées. Lors de l'utilisation de l'ACP, nous prenons en entrée nos données d'origine et essayons de trouver une combinaison des caractéristiques d'entrée qui peut résumer au mieux la distribution des données d'origine afin de réduire ses dimensions d'origine. L'ACP est capable de le faire en maximisant les variances et en minimisant l'erreur de reconstruction en examinant les distances par paires. Dans PCA, nos données d'origine sont projetées dans un ensemble d'axes orthogonaux et chacun des axes est classé par ordre d'importance.

L'ACP est un algorithme d'apprentissage non supervisé, il ne se soucie donc pas des étiquettes de données mais uniquement de la variation. Cela peut conduire dans certains cas à une mauvaise classification des données.

Dans cet exemple, je vais d'abord effectuer une PCA dans l'ensemble de données pour réduire nos données à seulement deux dimensions et je vais ensuite construire un bloc de données avec nos nouvelles fonctionnalités et leurs étiquettes respectives.


But

L'objectif de la sélection de caractéristiques en apprentissage automatique est de trouver le meilleur ensemble de caractéristiques permettant de construire des modèles utiles des phénomènes étudiés.

Les techniques de sélection de fonctionnalités dans l'apprentissage automatique peuvent être classées dans les catégories suivantes :

Techniques supervisées : Ces techniques peuvent être utilisées pour des données étiquetées et sont utilisées pour identifier les caractéristiques pertinentes pour augmenter l'efficacité des modèles supervisés comme la classification et la régression.

Techniques non supervisées : Ces techniques peuvent être utilisées pour des données non étiquetées.

D'un point de vue taxonomique, ces techniques sont classées sous :

Dans cet article, nous allons discuter de certaines techniques populaires de sélection de fonctionnalités dans l'apprentissage automatique.

A. Méthodes de filtrage

Les méthodes de filtrage récupèrent les propriétés intrinsèques des caractéristiques mesurées via des statistiques univariées au lieu des performances de validation croisée. Ces méthodes sont plus rapides et moins coûteuses en calculs que les méthodes wrapper. Lorsqu'il s'agit de données de grande dimension, il est moins coûteux d'utiliser des méthodes de filtrage.

Discutons de certaines de ces techniques :

Le gain d'information calcule la réduction d'entropie à partir de la transformation d'un ensemble de données. Il peut être utilisé pour la sélection de caractéristiques en évaluant le gain d'information de chaque variable dans le contexte de la variable cible.

Test du Khi deux

Le test du Chi-deux est utilisé pour les caractéristiques catégorielles dans un jeu de données. Nous calculons le Chi-deux entre chaque caractéristique et la cible et sélectionnons le nombre souhaité de caractéristiques avec les meilleurs scores de Chi-carré. Afin d'appliquer correctement le chi carré afin de tester la relation entre les différentes caractéristiques de l'ensemble de données et la variable cible, les conditions suivantes doivent être remplies : les variables doivent être catégorique, échantillonné indépendamment et les valeurs devraient avoir un fréquence attendue supérieure à 5.

Score de Fisher

Le score de Fisher est l'une des méthodes de sélection de caractéristiques supervisées les plus utilisées. L'algorithme que nous utiliserons renvoie les rangs des variables en fonction du score du pêcheur par ordre décroissant. Nous pouvons alors sélectionner les variables selon le cas.

Coefficient de corrélation

La corrélation est une mesure de la relation linéaire de 2 variables ou plus. Grâce à la corrélation, nous pouvons prédire une variable à partir de l'autre. La logique derrière l'utilisation de la corrélation pour la sélection des caractéristiques est que les bonnes variables sont fortement corrélées avec la cible. De plus, les variables doivent être corrélées avec la cible mais doivent être décorrélées entre elles.

Si deux variables sont corrélées, nous pouvons prédire l'une de l'autre. Par conséquent, si deux caractéristiques sont corrélées, le modèle n'a vraiment besoin que d'une d'entre elles, car la seconde n'ajoute pas d'informations supplémentaires. Nous utiliserons ici la corrélation de Pearson.

Nous devons définir une valeur absolue, disons 0,5 comme seuil de sélection des variables. Si nous constatons que les variables prédictives sont corrélées entre elles, nous pouvons supprimer la variable qui a une valeur de coefficient de corrélation inférieure avec la variable cible. Nous pouvons également calculer des coefficients de corrélation multiples pour vérifier si plus de deux variables sont corrélées entre elles. Ce phénomène est connu sous le nom de multicolinéarité.

Seuil d'écart

Le seuil de variance est une approche de base simple pour la sélection de caractéristiques. Il supprime toutes les fonctionnalités dont la variance n'atteint pas un certain seuil. Par défaut, il supprime toutes les caractéristiques à variance nulle, c'est-à-dire les caractéristiques qui ont la même valeur dans tous les échantillons. Nous supposons que les caractéristiques avec une variance plus élevée peuvent contenir des informations plus utiles, mais notons que nous ne prenons pas en compte la relation entre les variables de caractéristiques ou les variables de caractéristique et de cible, ce qui est l'un des inconvénients des méthodes de filtrage.

Le get_support renvoie un vecteur booléen où True signifie que la variable n'a pas de variance nulle.

Différence absolue moyenne (MAD)

« La différence absolue moyenne (MAD) calcule la différence absolue par rapport à la valeur moyenne. La principale différence entre la variance et les mesures MAD est l'absence de carré dans cette dernière. Le MAD, comme la variance, est également une variante d'échelle. » [1] Cela signifie que plus le MAD est élevé, plus le pouvoir discriminant est élevé.

Taux de dispersion

« Une autre mesure de dispersion applique la moyenne arithmétique (AM) et la moyenne géométrique (GM). Pour une caractéristique (positive) donnée Xje sur n motifs, les AM et GM sont donnés par

respectivement depuis UN Mje DGje, avec égalité vérifiée si et seulement si Xi1 = Xi2 = …. = Xdans, alors le rapport

peut être utilisé comme mesure de dispersion. Une dispersion plus élevée implique une valeur plus élevée de Ri, donc une caractéristique plus pertinente. Inversement, lorsque tous les échantillons de caractéristiques ont (à peu près) la même valeur, Ri est proche de 1, indiquant une caractéristique de faible pertinence.’ [1]

B. Méthodes d'emballage :

Les wrappers nécessitent une méthode pour rechercher l'espace de tous les sous-ensembles possibles de caractéristiques, en évaluant leur qualité en apprenant et en évaluant un classificateur avec ce sous-ensemble de caractéristiques. Le processus de sélection des fonctionnalités est basé sur un algorithme d'apprentissage automatique spécifique que nous essayons d'adapter à un ensemble de données donné. Il suit une approche de recherche gourmande en évaluant toutes les combinaisons possibles de caractéristiques par rapport au critère d'évaluation. Les méthodes wrapper donnent généralement une meilleure précision prédictive que les méthodes de filtrage.

Discutons de certaines de ces techniques :

Sélection de la fonction de transfert

Il s'agit d'une méthode itérative dans laquelle nous commençons par la variable la plus performante par rapport à la cible. Ensuite, nous sélectionnons une autre variable qui donne les meilleures performances en combinaison avec la première variable sélectionnée. Ce processus se poursuit jusqu'à ce que le critère prédéfini soit atteint.

Élimination de la fonctionnalité en arrière

Cette méthode fonctionne exactement à l'opposé de la méthode Forward Feature Selection. Ici, nous commençons avec toutes les fonctionnalités disponibles et construisons un modèle. Ensuite, nous recherchons la variable du modèle qui donne la meilleure valeur de mesure d'évaluation. Ce processus se poursuit jusqu'à ce que le critère prédéfini soit atteint.

Cette méthode, ainsi que celle décrite ci-dessus, est également connue sous le nom de méthode de sélection de caractéristiques séquentielles.

Sélection exhaustive des fonctionnalités

Il s'agit de la méthode de sélection de caractéristiques la plus robuste couverte jusqu'à présent. Il s'agit d'une évaluation par force brute de chaque sous-ensemble de fonctionnalités. Cela signifie qu'il essaie toutes les combinaisons possibles des variables et renvoie le sous-ensemble le plus performant.

Élimination des caractéristiques récursives

Étant donné un estimateur externe qui attribue des poids aux caractéristiques (par exemple, les coefficients d'un modèle linéaire), l'objectif de l'élimination récursive des caractéristiques (RFE) est de sélectionner des caractéristiques en considérant de manière récursive des ensembles de caractéristiques de plus en plus petits. Tout d'abord, l'estimateur est formé sur l'ensemble initial de caractéristiques et l'importance de chaque caractéristique est obtenue soit par un attribut coef_, soit par un attribut feature_importances_.

Ensuite, les caractéristiques les moins importantes sont élaguées de l'ensemble actuel de caractéristiques. Cette procédure est répétée de manière récursive sur l'ensemble élagué jusqu'à ce que le nombre souhaité de caractéristiques à sélectionner soit finalement atteint.[2]

C. Méthodes intégrées :

Ces méthodes englobent les avantages des méthodes d'encapsulation et de filtrage, en incluant des interactions de caractéristiques mais en maintenant également un coût de calcul raisonnable. Les méthodes intégrées sont itératives dans le sens où elles prennent en charge chaque itération du processus de formation du modèle et extraient soigneusement les caractéristiques qui contribuent le plus à la formation pour une itération particulière.

Discutons de certaines de ces techniques en cliquant ici :

Régularisation LASSO (L1)

La régularisation consiste à ajouter une pénalité aux différents paramètres du modèle de machine learning pour réduire la liberté du modèle, c'est-à-dire éviter le sur-ajustement. Dans la régularisation de modèle linéaire, la pénalité est appliquée sur les coefficients qui multiplient chacun des prédicteurs. Parmi les différents types de régularisation, Lasso ou L1 a la propriété de pouvoir réduire à zéro certains des coefficients. Par conséquent, cette fonctionnalité peut être supprimée du modèle.

Importance aléatoire de la forêt

Les forêts aléatoires sont une sorte d'algorithme d'ensachage qui agrège un nombre spécifié d'arbres de décision. Les stratégies arborescentes utilisées par les forêts aléatoires se classent naturellement selon la manière dont elles améliorent la pureté du nœud, ou en d'autres termes une diminution de l'impureté (Gini impureté) sur tous les arbres. Les nœuds avec la plus grande diminution d'impureté se produisent au début des arbres, tandis que les notes avec la moindre diminution d'impureté se produisent à la fin des arbres. Ainsi, en élaguant les arbres sous un nœud particulier, nous pouvons créer un sous-ensemble des caractéristiques les plus importantes.


1 réponse 1

Chaque fois que vous compressez l'espace des fonctionnalités, vous perdez des informations. L'étape d'ingénierie des fonctionnalités d'origine que vous avez décrite ressemble à une compression et un ampli significatifs qui pourraient avoir un sens dans le contexte de votre problème. La seconde compression, en revanche, pourrait ne servir qu'à perdre certaines informations.

Je n'effectuerais la deuxième compression que si le classificateur que vous entraînez a du mal à entraîner votre modèle après la compression initiale. Dans ce cas, vous voudrez peut-être sacrifier certaines informations pour entraîner le modèle plus rapidement. Mais cette étape ne doit être étudiée qu'après avoir essayé d'entraîner votre modèle avec uniquement la compression d'origine et que vous n'êtes pas satisfait de la vitesse d'entraînement.


Pourquoi utiliser l'extraction de caractéristiques ? - Systèmes d'information géographique

Dans ce projet, la détection de caractéristiques a été utilisée pour déterminer les intersections sur un damier (cible d'étalonnage connue), qui a ensuite été utilisée pour estimer la pose de la caméra. Ce projet a été écrit dans le cadre d'un cours Computer Vision for Robotics. Ce projet n'a pas permis l'utilisation de librairies de traitement d'images.

Partie 1 : Lissage d'image et extraction de caractéristiques de sous-pixels

  1. L'image est floutée avec un filtre gaussien.
  2. Les coins de l'image sont détectés à l'aide d'un détecteur de coin Harris.
  3. Pour chaque coin, le patch autour du coin est examiné pour une jonction croisée à l'aide d'une fonction de détection de point de selle. Voir L. Lucchese et S. K. Mitra, « Using Saddle Points for Subpixel Feature Detection in Camera Calibration Targets », dans Actes de la Conférence Asie-Pacifique sur les circuits et les systèmes (APCCAS), vol. 2, (Singapour), pp. 191-195, décembre 2002
  4. Les 48 meilleures jonctions croisées sont trouvées. Ceux-ci correspondent aux intersections internes du damier, et non au périmètre de délimitation.
  5. Les points de jonction sont triés dans l'ordre des lignes principales.

Les fichiers matlab pertinents pour cette partie sont flou gaussien.m, qui filtre l'image fournie, point de selle.m, qui accepte un petit patch d'image et tente de trouver un point de selle, et jonctions croisées.m, qui détermine les coordonnées de l'image de chaque croisement étant donné une image d'entrée du damier.

Partie 2 : Estimation de la pose de la caméra

  1. En utilisant les correspondances image-cible et la matrice d'étalonnage intrinsèque connue, la procédure d'optimisation des moindres carrés non linéaires est utilisée pour calculer une estimation mise à jour de la pose de la caméra. Ceci est un exemple du problème Perspective-n-Points.

1 réponse 1

Vous obtenez ce que nous appelons fonctionnalités de haut niveau, qui sont essentiellement des représentations abstraites des parties qui transportent des informations dans l'image que vous souhaitez classer.

Imaginez que vous vouliez classer une voiture. L'image que vous alimentez votre réseau peut être une voiture sur une route avec un chauffeur et des arbres et des nuages, etc. Le réseau, cependant, si vous l'avez entraîné à reconnaître les voitures, essaiera de se concentrer sur des parties de l'image concernant une voiture . Les couches finales auront appris à extraire une représentation abstraite d'une voiture à partir de l'image (cela signifie une forme semblable à une voiture à basse résolution). Maintenant, vos couches FC finales essaieront de classer l'image à partir de ces caractéristiques de haut niveau. Dans cet exemple, vous auriez une couche FC qui apprend à classer une voiture si cette figure abstraite ressemblant à une voiture est présente dans l'image. De même, s'il n'est pas présent, il ne le classera pas comme une voiture. En accédant à ces fonctionnalités de haut niveau, vous disposez essentiellement d'une représentation plus compacte et significative de ce que l'image représente (toujours basée sur les classes sur lesquelles le CNN a été formé).

En visualisant les activations de ces couches, nous pouvons voir à quoi ressemblent ces fonctionnalités de haut niveau.

La rangée supérieure correspond à ce que vous recherchez : les fonctionnalités de haut niveau qu'un CNN extrait pour quatre types d'images différents.