Inhaltsverzeichnis:
Video: HPE BlueData Software Demo | AI, Machine Learning and Data Science 2024
Manchmal verfügen die Rohdaten, die Sie aus verschiedenen Quellen erhalten, nicht über die Funktionen, die zum Durchführen von maschinellen Lernaufgaben erforderlich sind. In diesem Fall müssen Sie eigene Features erstellen, um das gewünschte Ergebnis zu erzielen. Ein Feature zu erstellen bedeutet nicht, Daten aus dem Nichts zu erzeugen. Sie erstellen neue Features aus vorhandenen Daten.
Die Notwendigkeit zum Erstellen von Funktionen verstehen
Eine große Einschränkung bei maschinellen Lernalgorithmen besteht darin, dass es unmöglich ist, eine Formel zu erraten, die Ihre Antwort mit den von Ihnen verwendeten Funktionen verknüpft. Manchmal geschieht diese Unfähigkeit zu raten, weil Sie die Antwort nicht mit den verfügbaren Informationen abbilden können (was bedeutet, dass Sie nicht über die richtigen Informationen verfügen). In anderen Fällen hilft die von Ihnen bereitgestellte Information dem Algorithmus nicht, richtig zu lernen.
Wenn Sie zum Beispiel den Preis von Immobilienobjekten modellieren, ist die Oberfläche des Grundstücks durchaus prädiktiv, da größere Immobilien tendenziell mehr kosten. Wenn Sie jedoch anstelle der Oberfläche den Lernalgorithmus für Maschinen mit der Länge der Seiten des Landes (den Längen- und Breitenkoordinaten der Ecken) angeben, kann Ihr Algorithmus möglicherweise nicht herausfinden, was mit den von Ihnen bereitgestellten Informationen geschehen soll. Einige Algorithmen werden es schaffen, die Beziehung zwischen den Merkmalen zu finden, die meisten Algorithmen jedoch nicht.
Die Lösung dieses Problems ist die Erstellung von Features. Feature Creation ist der Teil des maschinellen Lernens, der eher als Kunst denn als Wissenschaft betrachtet wird, weil er menschliche Eingriffe in die kreative Mischung der vorhandenen Features impliziert. Sie führen diese Aufgabe durch Addition, Subtraktion, Multiplikation und Verhältnis aus, um neue abgeleitete Merkmale mit einer höheren Vorhersagekraft als die Originale zu generieren.
Das Problem gut zu kennen und herauszufinden, wie ein menschliches Wesen es lösen könnte, ist Teil der Merkmalserstellung. Daher ist die Tatsache, dass sich die Landoberfläche mit dem Immobilienpreis verbindet, allgemein bekannt. Wenn eine Oberfläche in Ihren Features fehlt, wenn Sie versuchen, den Wert einer Eigenschaft zu erraten, können Sie diese Informationen aus den vorhandenen Daten wiederherstellen. Dadurch wird die Leistung der Vorhersagen erhöht.
Unabhängig davon, ob Sie sich auf gesunden Menschenverstand, allgemeines Wissen oder spezialisiertes Fachwissen verlassen, können Sie viel für Ihren Maschinenalgorithmus tun, wenn Sie zuerst herausfinden, welche Informationen für das Problem am besten geeignet sind. Versuchen Sie, es verfügbar zu haben oder leiten Sie es unter Ihren Funktionen ab.
Funktionen automatisch erstellen
Sie können automatisch neue Funktionen erstellen.Eine Möglichkeit zur automatischen Feature-Erstellung besteht in der Verwendung der Polynom-Erweiterung. Für die Polynom-Erweiterung stehen bestimmte Möglichkeiten zur Verfügung, sodass Sie Funktionen sowohl in R als auch in Python automatisch erstellen können. Vorerst müssen Sie die Konzepte der Polynomialerweiterung verstehen.
Bei der Polynom-Erweiterung erstellen Sie automatisch Interaktionen zwischen Features und erstellen Potenzen (z. B. das Quadrat eines Features berechnen). Interaktionen beruhen auf der Multiplikation der Features. Wenn Sie ein neues Feature mithilfe von Multiplikation erstellen, können Sie verfolgen, wie sich Features insgesamt verhalten. Daher hilft es, komplexe Beziehungen zwischen Ihren Features abzubilden, die auf spezielle Situationen hinweisen können.
Ein großartiges Beispiel für eine Interaktion ist der Lärm eines Autos und der Preis des Autos. Verbraucher schätzen laute Autos nicht, wenn sie keinen Sportwagen kaufen. In diesem Fall ist das Motorgeräusch ein Plus, das den Besitzer an die Kraft des Autos erinnert. Es sorgt auch dafür, dass Passanten das coole Auto bemerken, so dass Lärm eine große Rolle spielt, denn Lärm wird sicherlich die Aufmerksamkeit anderer erregen. Auf der anderen Seite ist Lärm beim Autofahren nicht so cool.
In einer maschinellen Lernanwendung, bei dem Versuch, die Präferenzrate für ein bestimmtes Auto vorherzusagen, sind Merkmale wie Lärm und der Preis des Autos selbst vorhersehbar. Wenn Sie jedoch die beiden Werte multiplizieren und zum Satz von Merkmalen hinzufügen, können Sie eindeutig einem Lernalgorithmus darauf hinweisen, dass das Ziel ein Sportwagen ist (wenn Sie hohe Geräuschpegel mit einem hohen Preis multiplizieren).
Funktionen helfen, indem sie nichtlineare Beziehungen zwischen der Antwort und den Merkmalen erzeugen, die auf bestimmte Situationen hindeuten.
Stellen Sie sich als weiteres Beispiel vor, dass Sie die jährlichen Ausgaben einer Person vorhersagen müssen. Das Alter ist ein guter Prädiktor, denn wenn Menschen alt und reif werden, ändert sich auch ihr Leben und ihre Familiensituation. Die Schüler beginnen arm, finden aber Arbeit und können eine Familie gründen. Von einem allgemeinen Standpunkt aus gesehen tendieren die Ausgaben dazu, zu wachsen bis zu einem bestimmten Zeitpunkt. Der Ruhestand markiert gewöhnlich einen Punkt, an dem die Ausgaben tendenziell abnehmen. Das Alter enthält solche Informationen, aber es ist ein Merkmal, das dazu neigt zu wachsen, und die Verknüpfung von Ausgaben mit seinem Wachstum hilft nicht, die Inversion zu beschreiben, die in einem bestimmten Alter auftritt.
Das Hinzufügen der quadratischen Funktion hilft dabei, einen Gegeneffekt zu erzeugen, um sich selbst zu altern, was am Anfang klein ist, aber mit dem Alter schnell zunimmt. Der letzte Effekt ist eine Parabel mit einem anfänglichen Wachstum, das durch einen Höchststand der Ausgaben in einem bestimmten Alter gekennzeichnet ist, und dann einen Rückgang.
Wie eingangs erwähnt, kann die Kenntnis solcher Dynamiken (Lärm und Sportwagen, Verbrauch und Alter) Ihnen helfen, die richtigen Funktionen zu erstellen. Wenn Sie diese Dynamik jedoch nicht im Voraus kennen, wird sie von der Polynom-Erweiterung automatisch für Sie erstellt, da sie bei einer bestimmten Ordnung Interaktionen und Befugnisse dieser Ordnung erzeugt. Die Reihenfolge gibt die Anzahl der Multiplikationen und die maximale Leistung an, die für die vorhandenen Features gelten soll.
Eine polynomiale Erweiterung der Ordnung 2 hebt also alle Merkmale auf die zweite Potenz und multipliziert jedes einzelne Merkmal mit allen anderen. (Sie erhalten die Multiplikation aller Kombinationen von zwei Features.) Je höher die Anzahl, desto mehr neue Features werden erstellt, aber viele von ihnen werden redundant sein und dazu beitragen, dass Ihr Machine Learning-Algorithmus die Daten überarbeitet.
Wenn Sie eine Polynom-Erweiterung verwenden, müssen Sie auf die Explosion der Features achten, die Sie erstellen. Die Stärke nimmt linear zu. Wenn Sie also fünf Merkmale haben und eine Erweiterung der Ordnung 2 benötigen, wird jedes Merkmal um die zweite Potenz erhöht. Durch Erhöhen der Reihenfolge eines Elements wird nur ein neues Leistungsmerkmal für jedes ursprüngliche Feature hinzugefügt. Stattdessen erhöhen sich Interaktionen basierend auf Kombinationen der Features bis zu dieser Reihenfolge.
In der Tat werden mit fünf Merkmalen und einer Polynom-Erweiterung der Ordnung 2 alle zehn einzigartigen Kombinationen der Kopplung der Merkmale erzeugt. Um die Reihenfolge auf 3 zu erhöhen, müssen alle eindeutigen Kombinationen von zwei Variablen sowie die eindeutigen Kombinationen von drei Variablen, also 20 Features, erstellt werden.