Warum ist es beim überwachten Lernen schlecht, korrelierte Merkmale zu haben?

35

Ich habe irgendwo gelesen, dass wir ein Feature entfernen müssen, wenn es zu korreliert ist, da dies das Modell verschlechtern könnte. Es ist klar, dass korrelierte Features bedeuten, dass sie die gleichen Informationen enthalten. Daher ist es logisch, eines von ihnen zu entfernen. Aber ich kann nicht verstehen, warum dies das Modell verschlechtern kann.

Spinne
quelle
3
Diese Regel gilt in einigen Modellen und Analysen stärker als in anderen. Gibt es eine Möglichkeit, "Ich lese irgendwo" einen Kontext hinzuzufügen - z. B. in Bezug auf das Training eines bestimmten Modells?
Neil Slater
3
Korrelierte Funktionen verschlechtern ein Modell nicht unbedingt. Das Entfernen von korrelierten Features hilft dabei, auf die Bedeutung der Features zu schließen.
Hobbes

Antworten:

31

Korrelierte Features verbessern im Allgemeinen keine Modelle (obwohl dies von den Besonderheiten des Problems wie der Anzahl der Variablen und dem Grad der Korrelation abhängt), aber sie wirken sich auf bestimmte Modelle auf unterschiedliche Weise und in unterschiedlichem Ausmaß aus:

  1. Für lineare Modelle (zB lineare Regression oder logistische Regression), Multikollinearität kann ergeben Lösungen , die sehr unterschiedliche und möglicherweise numerisch instabil sind .

  2. Zufällige Wälder können Wechselwirkungen zwischen verschiedenen Merkmalen gut erkennen, aber stark korrelierte Merkmale können diese Wechselwirkungen maskieren.

Allgemeiner kann dies als ein Spezialfall von Occams Rasiermesser angesehen werden . Ein einfacheres Modell ist vorzuziehen, und in gewissem Sinne ist ein Modell mit weniger Merkmalen einfacher. Das Konzept der minimalen Beschreibungslänge macht dies genauer.

Ami Tavory
quelle
4
Abgesehen von der numerischen Stabilität sollte die vom OLS-Modell gegebene Vorhersage nicht durch Multicolinearität beeinflusst werden, da der Gesamteffekt der Prädiktorvariablen nicht durch das Vorhandensein von Multicolinearität beeinträchtigt wird. Es ist eine Interpretation des Effekts einzelner Prädiktorvariablen, die nicht zuverlässig sind, wenn Multicolinearität vorliegt.
Akavall
11

(Angenommen, Sie sprechen über betreutes Lernen)

Korrelierte Funktionen verschlechtern Ihr Modell nicht immer, verbessern es jedoch auch nicht immer.

Es gibt drei Hauptgründe, warum Sie korrelierte Features entfernen:

  • Machen Sie den Lernalgorithmus schneller

Aufgrund des Fluchs der Dimensionalität bedeuten weniger Merkmale normalerweise eine hohe Verbesserung der Geschwindigkeit.

Wenn Geschwindigkeit kein Problem ist, entfernen Sie diese Funktionen möglicherweise nicht sofort (siehe nächster Punkt).

  • Verringern Sie die schädliche Vorspannung

Das Schlüsselwort ist schädlich. Wenn Sie Features korreliert haben, diese aber auch mit dem Ziel korreliert sind, möchten Sie sie behalten. Sie können Features als Tipps anzeigen, um eine gute Vermutung zu treffen. Wenn Sie zwei Tipps haben, die im Wesentlichen gleich sind, aber gute Tipps sind, ist es möglicherweise ratsam, sie beizubehalten.

Einige Algorithmen wie Naive Bayes profitieren direkt von "positiven" korrelierten Merkmalen. Und andere, wie zufällige Wälder, können indirekt davon profitieren.

Stellen Sie sich vor, Sie haben 3 Merkmale A, B und C. A und B sind stark mit dem Ziel und untereinander korreliert, und C ist überhaupt nicht. Wenn Sie aus den 3 Merkmalen auswählen, haben Sie eine Chance von 2/3, ein "gutes" Merkmal zu erhalten, während diese Chance auf 1/2 sinkt, wenn Sie beispielsweise B entfernen

Natürlich kann es sein, dass der Algorithmus nicht viel leidet, wenn die korrelierten Merkmale überhaupt nicht sehr informativ sind.

Das Entfernen dieser Funktionen kann aus Gründen der Geschwindigkeit notwendig sein. Denken Sie jedoch daran, dass Sie Ihren Algorithmus dadurch möglicherweise verschlechtern. In einige Algorithmen, wie z. B. Entscheidungsbäume, ist auch eine Feature-Auswahl eingebettet.

Eine gute Möglichkeit, damit umzugehen, besteht darin, eine Wrapper-Methode für die Featureauswahl zu verwenden. Redundante Funktionen werden nur entfernt, wenn sie nicht direkt zur Leistung beitragen. Wenn sie nützlich sind wie in naiven Bayes, werden sie behalten. (Beachten Sie jedoch, dass Wrapper-Methoden teuer sind und zu einer Überanpassung führen können.)

  • Interpretierbarkeit Ihres Modells

Wenn Ihr Modell interpretierbar sein muss, müssen Sie es möglicherweise vereinfachen. Denken Sie auch an Occams Rasiermesser. Wenn Ihr Modell mit weniger Funktionen nicht "so viel" schlechter ist, sollten Sie wahrscheinlich weniger Funktionen verwenden.

Valentin Calomme
quelle
2

Manchmal schaden korrelierte Funktionen - und die Vervielfältigung der bereitgestellten Informationen - einem Vorhersagesystem nicht. Stellen Sie sich ein Ensemble von Entscheidungsbäumen vor, von denen jeder eine Stichprobe von Zeilen und eine Stichprobe von Spalten berücksichtigt. Wenn zwei Spalten stark korreliert sind, besteht die Möglichkeit, dass eine von ihnen nicht in der Spaltenauswahl eines bestimmten Baums ausgewählt wird und dieser Baum von der verbleibenden Spalte abhängt. Korrelierte Funktionen bedeuten, dass Sie die Überanpassung (durch Säulenabtastung) reduzieren können, ohne zu viel Vorhersagequalität aufzugeben.

Dan Jarratt
quelle
2

Es sollte eine Entscheidung über die dafür erforderlichen Mindestvariablen getroffen werden. Dies ist, wie oben erwähnt, die Formalisierung von Occams Rasiermesser mit der oben angegebenen Mindestbeschreibungslänge. Ich mag das.

Ich würde dieses Phänomen tendenziell in so etwas wie einem HDDT als den effizientesten Baum bezeichnen, der auf der Grundlage der verfügbaren Daten keine falschen Entscheidungen trifft, und alle Fälle von Entscheidungen vermeiden, die andernfalls an mehreren Datenpunkten getroffen wurden, ohne zu verstehen, dass sie korreliert waren .

tjborromeo
quelle
In Bezug auf datascience.stackexchange.com/users/38887/valentin-calomme : "Korrelierte Funktionen verschlechtern Ihr Modell nicht immer, verbessern es jedoch auch nicht immer." Ich kann nicht erkennen oder mir nicht vorstellen, wo eine hohe Korrelation zwischen Variablen Ihr Modell nicht verschlechtert. Zumindest in dem Sinne, dass ich bei der Wahl lieber ein Netzwerk mit weniger korrelierten Funktionen trainieren würde. Alles andere ist funktionell und nachweislich schlechter. Gibt es Fälle, in denen dies nicht zutrifft?
tjborromeo
1

In Bezug auf das Speichern von Daten in Datenbanken ähnelt das Speichern von korrelierten Features dem Speichern redundanter Informationen, was zu einer Verschwendung von Speicher führen und auch zu inkonsistenten Daten nach dem Aktualisieren oder Bearbeiten von Tupeln führen kann.

Wenn wir dem Modell so viele korrelierte Merkmale hinzufügen, dass das Modell möglicherweise unnötige Merkmale berücksichtigt und ein Problem mit der hohen Dimensionalität auftritt , ist dies vermutlich der Grund für die Verschlechterung des konstruierten Modells.

Im Kontext des maschinellen Lernens verwenden wir normalerweise PCA, um die Dimension von Eingabemustern zu reduzieren. Dieser Ansatz berücksichtigt das Entfernen von korrelierten Features auf irgendeine Weise (mithilfe von SVD) und ist ein unbeaufsichtigter Ansatz. Dies geschieht zu folgenden Zwecken:

Dies scheint zwar nicht in Ordnung zu sein, aber ich habe Leute gesehen, die korrelierte Features entfernen, um eine Überanpassung zu vermeiden, aber ich denke nicht, dass dies eine gute Praxis ist. Für weitere Informationen empfehle ich Ihnen, hier zu sehen .

Ein weiterer Grund ist, dass Sie in Deep-Learning-Modellen, z. B. MLPswenn Sie korrelierte Features hinzufügen, nur unnötige Informationen hinzufügen, um dem Modell mehr Berechnungen und Parameter hinzuzufügen.

Medien
quelle
0

Die Antwort auf diese Frage hängt stark vom Zweck des Modells ab. Infolgedessen sind stark korrelierte Merkmale ein bekanntes Problem. Zum Beispiel könnten zwei Merkmale, die stark miteinander und mit y korreliert sind, in einem Inferenzmodell als unbedeutend herauskommen und möglicherweise ein wichtiges erklärendes Signal verfehlen. Daher wird in der Regel empfohlen, diese zu verdünnen.

Wenn es sich bei Ihrem überwachten Lernen um eine Vorhersage handelt, ist die Antwort - entgegen der herkömmlichen Weisheit - normalerweise das Gegenteil. Der einzige Grund, stark korrelierte Features zu entfernen, sind Speicher- und Geschwindigkeitsprobleme. Ansonsten geht es bei Features darum, ob sie zur Vorhersage beitragen und ob ihre Datenqualität ausreicht.

Rauschdominierte Merkmale werden tendenziell weniger mit anderen Merkmalen korreliert als Merkmale, die mit y korreliert sind. Wie oben im Beispiel von Valentin erwähnt, erhöht das Ausdünnen des letzteren den Anteil des ersteren.

Insbesondere bei Methoden wie zufälligen Wäldern und KNN werden alle Merkmale gleich behandelt, sodass durch das Ausdünnen von korrelierten Merkmalen das Signal-Rausch-Verhältnis direkt verringert wird.

Methoden, die Features wie einzelne Bäume, "reines" Lasso oder neuronale Netze automatisch auswählen, sind möglicherweise weniger betroffen. Aber selbst dann gibt es, abgesehen von der längeren Rechenzeit, selten etwas, das man vorhersagemäßig verlieren könnte, wenn man korrelierte Merkmale in der Mischung behält.

Assaf
quelle