Des «règles de base» sur le nombre de fonctionnalités par rapport au nombre d'instances? (petits ensembles de données)

17

Je me demande s'il existe des heuristiques sur le nombre de caractéristiques par rapport au nombre d'observations. Évidemment, si un certain nombre de caractéristiques est égal au nombre d'observations, le modèle se surajustera. En utilisant des méthodes clairsemées (LASSO, filet élastique), nous pouvons supprimer plusieurs fonctionnalités pour réduire le modèle.

Ma question est (théoriquement): avant d' utiliser des métriques pour évaluer la sélection du modèle, y a-t-il des observations empiriques qui relient le nombre optimal de caractéristiques au nombre d'observations?

Par exemple: pour un problème de classification binaire avec 20 instances dans chaque classe, y a-t-il une limite supérieure sur le nombre de fonctionnalités à utiliser?

Arnold Klein
la source

Réponses:

13

Plusieurs articles ont estimé que

ce n'est que dans de rares cas qu'il existe une distribution connue de l'erreur en fonction du nombre de caractéristiques et de la taille de l'échantillon.

La surface d'erreur pour un ensemble donné d'instances et d'entités est fonction de la corrélation (ou de l'absence) entre les entités.

Cet article suggère ce qui suit:

  • N-1N
  • N

Une autre approche (empirique) qui pourrait être adoptée consiste à tracer les courbes d'apprentissage pour différentes tailles d'échantillon à partir du même ensemble de données et à l'utiliser pour prédire les performances du classificateur à différentes tailles d'échantillon. Voici le lien vers le document .

shark8me
la source
2
Je trouve cette réponse quelque peu trompeuse car une hypothèse cruciale de l'article Hua est manquante: les caractéristiques Hua et al. considérer dans le document lié sont tous informatifs, ce qui n'est pas ce que vous pouvez vous attendre à avoir dans la pratique. À mon humble avis, cela devrait être clairement indiqué car le type le plus courant de "caractéristiques" non corrélées à mon humble avis sont les canaux de mesure non informatifs.
cbeleites prend en charge Monica
Wrt. les courbes d'apprentissage: OP ne pourra probablement pas les utiliser avec 2 × 20 cas, car ils ne peuvent pas être mesurés avec une précision utile à partir de si peu de cas. Hua le mentionne brièvement et nous avons discuté de cette difficulté assez en détail dans le document que j'ai lié dans ma réponse ci-dessous.
cbeleites prend en charge Monica
8

d'après ma propre expérience: dans un cas, j'ai travaillé avec une vraie base de données très petite (300 images) avec de nombreuses classes, un grave problème de déséquilibre des données et j'ai fini par utiliser 9 fonctionnalités: SIFT, HOG, Contexte de forme, SSIM, GM et 4 fonctionnalités basées sur DNN. Dans un autre cas, j'ai travaillé avec une très grande base de données (images> 1 M) et j'ai fini par utiliser uniquement la fonction HOG. Je pense qu'il n'y a pas de relation directe entre le nombre d'instances et le nombre de fonctionnalités nécessaires pour atteindre une grande précision. MAIS: le nombre de classes, la similitude entre les classes et la variation au sein d'une même classe (ces trois paramètres) peuvent affecter le nombre de fonctionnalités. lorsque vous avez une base de données plus grande avec de nombreuses classes et une grande similitude entre les classes et une grande variation au sein de la même classe, vous avez besoin de plus de fonctionnalités pour atteindre une grande précision. RAPPELLES TOI:

Bashar Haddad
la source
@Bashar Haddad: Corrigez-moi si je me trompe (comme je suis nouveau en vision par ordinateur et en ML), la fonctionnalité HOG n'est-elle pas réellement un vecteur de grande dimension (dans mon cas, j'obtenais des fonctionnalités HOG en 1764). Donc, lorsque vous dites 9 fonctionnalités et l'une d'entre elles est HOG, n'obtenez-vous pas réellement un espace de fonctionnalité de haute dimension pour HOG seul?
Mathmath
1
Dans la littérature, ils utilisent le mot caractéristique pour indiquer le type de caractéristique ou l'indice de dimension. Donc, quand je dis que j'utilise 6 entités, cela signifie que j'utilise 6 types d'entités, chacun d'eux est un vecteur (1 x D). si je parle du type d'entité Hog, chaque dimension peut être une entité.
Bashar Haddad
2

Cela dépend ... mais bien sûr, cette réponse ne vous mène nulle part.

Il est une règle de base pour la complexité du modèle: apprendre des données - dimension VC

"Très grossièrement", vous avez besoin de 10 points de données pour chaque paramètre du modèle. Et le nombre de paramètres du modèle peut être similaire au nombre de fonctionnalités.

Gerenuk
la source
2

Un peu tard pour la fête, mais voici quelques heuristiques.

problème de classification binaire avec 20 instances dans chaque classe, y a-t-il une limite supérieure sur le nombre de fonctionnalités à utiliser?

  • Pour la formation des classificateurs linéaires, 3 à 5 cas indépendants par classe et fonction sont recommandés. Cette limite vous donne des modèles stables et fiables , elle ne garantit pas un bon modèle (ce n'est pas possible: vous pourriez avoir des données non informatives où aucun modèle ne pourrait obtenir de bonnes performances de généralisation)

  • Cependant, pour des tailles d'échantillon aussi petites que votre scénario, la vérification (validation) plutôt que la formation est le goulot d'étranglement, et la vérification dépend du nombre absolu de cas de test plutôt que des cas relatifs à la complexité du modèle: en règle générale, vous avez besoin de ≈ 100 test cas dans le dénominateur pour estimer une proportion dont l'intervalle de confiance ne dépasse pas 10% de points.

    Malheureusement, cela signifie également que vous ne pouvez pas obtenir la courbe d'apprentissage empirique de votre application: vous ne pouvez pas la mesurer avec suffisamment de précision, et dans la pratique, vous auriez de toute façon d'énormes difficultés à l'extrapoler parce que pour la formation, vous réagissez à la petite taille de l'échantillon en restreignant votre modèle. complexité - et vous assoupliriez cela avec l'augmentation de la taille de l'échantillon.

    Voir notre article pour plus de détails: Beleites, C. et Neugebauer, U. et Bocklitz, T. et Krafft, C. et Popp, J .: Planification de la taille de l'échantillon pour les modèles de classification. Anal Chim Acta, 2013, 760, 25-33.
    DOI: 10.1016 / j.aca.2012.11.007

    manuscrit accepté sur arXiv: 1211.1323

  • Je n'ai jamais rien eu de proche de ces recommandations (données de spectroscopie, également pour des applications médicales). Ce que je fais alors est: je mesure de très près la stabilité du modèle dans le cadre du processus de modélisation et de vérification.

cbeleites soutient Monica
la source