Funktionsverknüpfungen: Codierung von Nichtlinearität

Stellen Sie sich in Abbildung 1 und 2 Folgendes vor:

  • Die blauen Punkte stehen für kranke Bäume.
  • Die orangefarbenen Punkte stehen für gesunde Bäume.

Blues-Punkte befinden sich im nordöstlichen Viertel und orangefarbene Punkte im Südwesten.

Abbildung 1. Ist das ein lineares Problem?

Könntest du eine Linie ziehen, die die kranken Bäume sauber trennt? Klar. Dies ist ein lineares Problem. Die Linie ist nicht perfekt. Ein oder zwei kranke Bäume könnten zwar gesund sein, aber Ihre Linie ist ein guter Prädiktor.

Betrachten Sie nun die folgende Abbildung:

Blues-Punkte beziehen sich auf die nordöstlichen und südwestlichen Quadranten, orangefarbene Punkte über die nordwestlichen und südöstlichen Quadranten.

Abbildung 2. Ist das ein lineares Problem?

Kann man eine geradlinige Linie zeichnen, die die kranken Bäume sauber trennt? Nein, das geht nicht. Das ist ein nicht lineares Problem. Jede Linie, die Sie zeichnen, ist ein schlechter Vorhersagewert für die Baumgesundheit.

Dieselbe Zeichnung wie in Abbildung 2, aber mit Ausnahme einer horizontalen Linie, die das Flugzeug durchbricht. Über der Linie befinden sich blaue und orangefarbene Punkte, unter der Linie blaue und orangefarbene Punkte.

Abbildung 3. Die einzelnen Klassen können nicht durch eine einzelne Linie voneinander getrennt werden.

 

Erstellen Sie ein Feature-Kreuz, um das in Abbildung 2 gezeigte nicht lineare Problem zu lösen. Ein Feature Cross ist ein synthetisches Feature, das Nichtlinearität im Featurebereich codiert, indem zwei oder mehr Eingabefeatures miteinander multipliziert werden. (Der Begriff Kreuz stammt von Kreuzprodukt.) Erstellen Sie ein Feature-Cross namens \(x_3\) durch Verknüpfen \(x_1\) und \(x_2\):

$$x_3 = x_1x_2$$

Dieses neu erstellte \(x_3\) Feature-Cross wird wie jedes andere Feature behandelt. Die lineare Formel wird so berechnet:

$$y = b + w_1x_1 + w_2x_2 + w_3x_3$$

Ein linearer Algorithmus lernt eine Gewichtung für \(w_3\) so wie für \(w_1\) und \(w_2\). Mit anderen Worten: Obwohl \(w_3\) nicht lineare Informationen codiert sind, müssen Sie die Art, wie das lineare Modell trainiert wird, nicht ändern, um den Wert von \(w_3\)zu bestimmen.

Arten von Funktionsverknüpfungen

Wir können viele verschiedene Arten von Funktionsverknüpfungen erstellen. Beispiel:

  • [A X B]: ein Feature-Kreuz, der durch Multiplikation der Werte von zwei Features gebildet wird.
  • [A x B x C x D x E]: ein Feature-Kreuz, der durch Multiplikation der Werte von fünf Features gebildet wird.
  • [A x A]: ein Merkmalskreuz, das durch Quadrat eines einzelnen Merkmals gebildet wird.

Dank des Abstiegs mit stochastischem Gradienten können lineare Modelle effizient trainiert werden. Daher war das Ergänzen von linearen Modellen mit skalierten linearen Modellen durch Featureverknüpfungen traditionell eine effiziente Methode zum Trainieren umfangreicher Datasets.