Existe-t-il une méthode contraire à la réduction de dimensionnalité?


9

Je suis nouveau dans le domaine de l'apprentissage automatique, mais j'ai fait ma part du traitement du signal. Veuillez me faire savoir si cette question a été mal étiquetée.

J'ai des données bidimensionnelles qui sont définies par au moins trois variables, avec un modèle très non linéaire trop compliqué à simuler.

J'ai eu différents niveaux de succès pour extraire les deux principaux composants des données en utilisant des méthodes telles que PCA et ICA (de la bibliothèque python Scikit-Learn), mais il semble que ces méthodes (ou du moins, cette implémentation des méthodes) soient limitées pour extraire autant de composants qu'il y a de dimensions dans les données, par exemple, 2 composants à partir d'un nuage de points 2D.

Lors du traçage des données, il est clair pour l' formés oeil qu'il ya trois tendances linéaires, les trois lignes de couleur indiquent les directions.

tracé de données

Lorsque vous utilisez PCA, le composant principal est aligné sur l'une des lignes de couleur et l'autre est à 90 °, comme prévu. Lorsque vous utilisez ICA, le premier composant est aligné sur la ligne bleue et le second se situe quelque part entre les rouges et les verts. Je recherche un outil capable de reproduire les trois composantes de mon signal.

EDIT, Informations supplémentaires: Je travaille ici dans un petit sous-ensemble d'un plan de phase plus grand. Dans ce petit sous-ensemble, chaque variable d'entrée produit un changement linéaire sur le plan, mais la direction et l'amplitude de ce changement sont non linéaires et dépendent de l'endroit où exactement sur le plus grand plan sur lequel je travaille. À certains endroits, deux des variables peuvent être dégénérées: elles produisent un changement dans la même direction. par exemple, supposons que le modèle dépend de X, Y et Z. Un changement dans la variable X produira une variation le long de la ligne bleue; Y provoque une variation le long de la ligne verte; Z, le long du rouge.


3
Si je comprends bien, le concept que vous recherchez est l' intégration . Recherchez les méthodes du noyau , et le PCA du noyau en particulier.
Emre

1
Je ne suis pas sûr de cela, donc je ne le poste pas comme réponse. Dans un modèle de type réseau de neurones, vous pouvez conserver la dimensionnalité de couche cachée> dimensionnalité de couche d'entrée. Ensuite, vous pouvez utiliser la couche cachée comme entrée vers un autre réseau / modèle. Mais cela nécessite beaucoup de données.
Azrael

Lorsque vous dites des données bidimensionnelles, définies par au moins trois variables, dans quel sens utilisez-vous le terme «variable»? Les classes seraient-elles une substitution appropriée? Il convient de noter que PCA extrait au maximum les dimensions variant des données, ce n'est pas nécessairement la transformation la plus discriminante à appliquer. Avez-vous envisagé le clustering?
image_doctor

Savez-vous quelque chose sur la non-linéarité du modèle? Bien qu'il puisse être trop complexe à simuler, le fait de savoir qu'il est tout au plus composé de polynômes de degré 3 restreint considérablement l'ingénierie des fonctionnalités, par exemple, vous pouvez ajouter tous les polys du 3ème degré, puis les ramener en 3D en 3D.
AN6U5

J'ai discuté avec un ami statisticien à moi qui a suggéré d'utiliser le noyau PCA sur le dérivé de mes données, car je recherche des pentes. Est-ce que le fait de considérer le dérivé comme une "ingénierie des fonctionnalités"?
PhilMacKay

Réponses:


8

La reponse courte est oui.

Essentiellement, vous effectuerez une sorte d'ingénierie des fonctionnalités. Cela signifie construire une série de fonctions de vos données, souvent:

ϕj(x):RpR ,  j=1,...,K

Qui, reliés ensemble, définissent un vecteur de données transformé de longueur .Kϕ(x)K

Il y a plusieurs façons, meilleures et pires, de procéder. Vous pouvez rechercher des termes tels que:

  1. Splines et modèles additifs généralisés.
  2. L'astuce du noyau (comment faire un modèle où ).K
  3. Ingénierie des fonctionnalités (de type manuel, par exemple en ajoutant une colonne à vos données).x2
  4. Apprentissage profond, apprentissage de la représentation

Comme vous pouvez le deviner à partir d'un sac de techniques aussi varié, il s'agit d'une vaste zone. Il va sans dire vraiment mais il faut faire attention à ne pas sur-équiper.

Cet article Représentation Learning: A Review and New Perspectives traite de certains des problèmes liés à ce qui rend un ensemble particulier de fonctionnalités «bonnes», dans une perspective d'apprentissage en profondeur.


-2

Je suppose que vous recherchez des fonctionnalités qui extraient de nouvelles fonctionnalités. Une caractéristique qui représente le mieux l'ensemble de données. Si tel est le cas, nous appelons cette méthode "extraction de caractéristiques".

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.