Gibt es Faustregeln für die Anzahl der Features im Vergleich zur Anzahl der Instanzen? (kleine Datenmengen)

16

Ich frage mich, ob es Heuristiken in Bezug auf die Anzahl der Merkmale und die Anzahl der Beobachtungen gibt. Wenn eine Anzahl von Merkmalen gleich der Anzahl von Beobachtungen ist, wird das Modell offensichtlich überpasst. Mit sparsamen Methoden (LASSO, elastisches Netz) können wir verschiedene Merkmale entfernen, um das Modell zu verkleinern.

Meine Frage ist (theoretisch): Gibt es empirische Beobachtungen, die die optimale Anzahl von Merkmalen mit der Anzahl von Beobachtungen in Beziehung setzen, bevor wir die Modellauswahl anhand von Metriken bewerten ?

Beispiel: Gibt es für ein Binärklassifizierungsproblem mit 20 Instanzen in jeder Klasse eine Obergrenze für die Anzahl der zu verwendenden Features?

Arnold Klein
quelle

Antworten:

13

Mehrere Zeitungen haben das behauptet

Nur in seltenen Fällen ist eine Verteilung des Fehlers in Abhängigkeit von der Anzahl der Merkmale und der Stichprobengröße bekannt.

Die Fehleroberfläche für eine bestimmte Menge von Instanzen und Merkmalen ist eine Funktion der Korrelation (oder des Fehlens) zwischen Merkmalen.

Dieses Papier schlägt Folgendes vor:

  • N1N
  • N

Ein anderer (empirischer) Ansatz, der gewählt werden könnte, besteht darin, die Lernkurven für verschiedene Stichprobengrößen aus demselben Datensatz zu zeichnen und diese zu verwenden, um die Klassifikatorleistung bei verschiedenen Stichprobengrößen vorherzusagen. Hier ist der Link zum Artikel .

shark8me
quelle
2
Ich finde diese Antwort etwas irreführend, da eine entscheidende Annahme des Hua-Papiers fehlt: Die Merkmale von Hua et al. Betrachten Sie in dem verlinkten Artikel alle als informativ, was Sie in der Praxis nicht erwarten können. IMHO sollte dies eindeutig angegeben werden, da die IMHO häufigste Art von nicht korrelierten "Merkmalen" nicht informative Messkanäle sind.
cbeleites unterstützt Monica am
Wrt. Die Lernkurven: OP wird sie wahrscheinlich nicht mit 2 × 20 Fällen verwenden können, da sie aus so wenigen Fällen nicht mit einer nützlichen Genauigkeit gemessen werden können. Hua erwähnt dies kurz und wir haben diese Schwierigkeit in dem Artikel, den ich in meiner Antwort unten verlinkt habe, ziemlich ausführlich erörtert.
cbeleites unterstützt Monica am
8

Aus eigener Erfahrung: In einem Fall habe ich mit einer sehr kleinen realen Datenbank (300 Bilder) mit vielen Klassen und schwerem Datenungleichgewicht gearbeitet und dabei 9 Funktionen verwendet: SIFT, HOG, Shape-Kontext, SSIM, GM und 4 DNN-basierte Funktionen. In einem anderen Fall habe ich mit einer sehr großen Datenbank (> 1 M Bilder) gearbeitet und letztendlich nur die HOG-Funktion verwendet. Ich denke, es gibt keinen direkten Zusammenhang zwischen der Anzahl der Instanzen und der Anzahl der Features, die erforderlich sind, um eine hohe Genauigkeit zu erzielen. ABER: Die Anzahl der Klassen, die Ähnlichkeit zwischen Klassen und die Variation innerhalb derselben Klasse (diese drei Parameter) können die Anzahl der Features beeinflussen. Wenn Sie eine größere Datenbank mit vielen Klassen und großer Ähnlichkeit zwischen Klassen sowie große Variationen innerhalb derselben Klasse haben, benötigen Sie mehr Funktionen, um eine hohe Genauigkeit zu erzielen. MERKEN:

Bashar Haddad
quelle
@Bashar Haddad: Korrigieren Sie mich, wenn ich falsch liege (da ich sowohl für Computer Vision als auch für ML neu bin), ist das HOG-Feature eigentlich kein hochdimensionaler Vektor (in meinem Fall habe ich 1764-dimensionale HOG-Features erhalten). Wenn Sie also 9 Features und eines davon HOG sagen, erhalten Sie dann nicht allein für HOG einen hochdimensionalen Feature-Space?
Mathmath
1
In der Literatur wird das Wort "Merkmal" verwendet, um entweder den Merkmalstyp oder den Dimensionsindex anzugeben. Wenn ich also sage, dass ich 6 Features verwende, bedeutet dies, dass ich 6 Feature-Typen verwende, von denen jeder ein (1 x D) Vektor ist. Wenn ich über den Feature-Typ "Hog" spreche, kann jede Dimension ein Feature sein.
Bashar Haddad
2

Es kommt darauf an ... aber natürlich bringt dich diese Antwort nicht weiter.

Er ist eine Faustregel für die Komplexität des Modells: Aus Daten lernen - VC-Dimension

"Sehr grob" benötigen Sie 10 Datenpunkte für jeden Modellparameter. Die Anzahl der Modellparameter kann der Anzahl der Features ähnlich sein.

Gerenuk
quelle
2

Ein bisschen zu spät zur Party, aber hier sind einige Heuristiken.

Binärklassifizierungsproblem mit 20 Instanzen in jeder Klasse. Gibt es eine Obergrenze für die Anzahl der zu verwendenden Features?

  • Für das Training von linearen Klassifikatoren werden 3 - 5 unabhängige Fälle pro Klasse und Merkmal empfohlen. Diese Grenze gibt Ihnen verlässlich stabile Modelle, sie garantiert kein gutes Modell (dies ist nicht möglich: Sie könnten uninformative Daten haben, bei denen kein Modell eine gute Verallgemeinerungsleistung erzielen könnte).

  • Bei Stichprobengrößen, die so klein wie Ihr Szenario sind, ist die Überprüfung (Validierung) und nicht die Schulung der Engpass. Die Überprüfung hängt von der absoluten Anzahl der Testfälle und nicht von der Komplexität des Modells ab: Als Faustregel benötigen Sie 100 ≈ Test Fälle im Nenner, um einen Anteil mit einem Konfidenzintervall zu schätzen, das nicht mehr als 10% Punkte breit ist.

    Leider bedeutet dies auch, dass Sie die empirische Lernkurve für Ihre Anwendung im Grunde nicht erhalten können: Sie können sie nicht genau genug messen, und in der Praxis hätten Sie ohnehin große Schwierigkeiten, sie zu extrapolieren, weil Sie beim Training auf die kleine Stichprobengröße reagieren, indem Sie Ihr Modell einschränken Komplexität - und Sie würden dies mit zunehmender Stichprobengröße entspannen.

    Einzelheiten finden Sie in unserem Artikel
    : Beleites, C. und Neugebauer, U. und Bocklitz, T. und Krafft, C. und Popp, J .: Stichprobengrößenplanung für Klassifizierungsmodelle. Anal Chim Acta, 2013, 760, 25 & ndash; 33. DOI: 10.1016 / j.aca.2012.11.007
    akzeptiertes Manuskript auf arXiv: 1211.1323

  • Ich hatte noch nie etwas in der Nähe dieser Empfehlungen (Spektroskopiedaten, auch für medizinische Anwendungen). Was ich dann tue, ist: Ich messe die Modellstabilität im Rahmen des Modellierungs- und Verifizierungsprozesses sehr genau.

cbeleites unterstützt Monica
quelle