Une ingénierie des fonctionnalités indépendante du domaine qui conserve une signification sémantique?

12

L'ingénierie des fonctionnalités est souvent un élément important de l'apprentissage automatique (elle a été largement utilisée pour remporter la Coupe KDD en 2010 ). Cependant, je trouve que la plupart des techniques d'ingénierie des fonctionnalités

  • détruire toute signification intuitive des caractéristiques sous-jacentes ou
  • sont très spécifiques à un domaine particulier ou même à des types particuliers de fonctionnalités.

Un exemple classique de la première serait l'analyse des composantes principales. Il me semble que toute connaissance qu'un expert en la matière aurait des fonctionnalités serait détruite en convertissant ces fonctionnalités en composants principaux.

Comparez cela avec une technique simple de conversion d'une date en fonctionnalités pour "jour du mois" et "jour de semaine". Le sens sous-jacent est toujours conservé dans les nouvelles fonctionnalités, mais évidemment cette technique particulière ne s'applique qu'aux dates et non aux fonctionnalités arbitraires.

Existe-t-il un ensemble standard de techniques d'ingénierie des fonctionnalités qui ne détruisent pas la signification des fonctionnalités sous-jacentes tout en étant applicables à des domaines arbitraires (ou au moins à une grande variété de domaines)?

Michael McGowan
la source
2
PCA peut parfois être utilisé pour trouver des significations intuitives pour les fonctionnalités - par exemple les faces propres .
tdc
Pouvez-vous donner (plus) d'exemples des données que vous avez en tête? si vous pouvez être plus précis sur votre application (même un exemple arbitraire), il sera plus facile de donner une réponse (plus) précise.
Dov
1
@Dov Eh bien, le fait est que (idéalement) j'aimerais quelque chose qui pourrait fonctionner pour à peu près n'importe quel ensemble de données tabulaire structuré (celui qui a des points de données et des fonctionnalités). Cela pourrait donc être des données sur les ventes, des données financières, des données de découverte de médicaments, des données de baseball, etc.
Michael McGowan

Réponses:

7

Je connais une méthode de décomposition (mais peut-être qu'il y en a plus ...) qui peut être utile dans des scénarios comme vous le décrivez. C'est comme le 2D-PCA - une méthode de décomposition d'ordre élevé où la décomposition (c'est-à-dire les facteurs) a une certaine signification. Vous pouvez voir des exemples et lire à ce sujet ici et ici et essayer ici

Dov
la source
+ s'il vous plaît pardonnez-moi que je ne suis pas un anglophone natif :)
Dov
D'après ce qu'on m'a dit, la dernière étape de l'ACP devrait être d'essayer de trouver un sens pour le composant principal.
jb.
5

Les méthodes récentes d'apprentissage en profondeur utilisant la machine Boltzmann restreinte ont montré de belles fonctionnalités sur plusieurs types de données (audio, images, texte).

Étant donné que ces méthodes créent un modèle génératif, vous pouvez souvent générer de très beaux échantillons à partir du modèle.

Consultez les publications de Hinton. http://www.cs.toronto.edu/~hinton/

Ces méthodes ne sont pas totalement générales (exécutez le même code sur toutes les données), mais le modèle sous-jacent est généralement similaire.

Ran
la source