In diesem Beispiel wird gezeigt, wie die Einbettungen generiert werden, die in einem Messwert für die überwachte Ähnlichkeit verwendet werden.
Angenommen, Sie haben dasselbe Immobilien-Dataset, das Sie beim Erstellen einer manuellen Ähnlichkeitsmessung verwendet haben:
Funktion | Typ |
---|---|
Preis | Positive Ganzzahl |
Größe | Positiver Gleitkommawert in Einheiten von Quadratmetern |
Postleitzahl | Ganzzahl |
Anzahl der Schlafzimmer | Ganzzahl |
Haustyp | Ein Textwert aus „Einzelfamilie“, „Mehrfamilienhaus“, „Wohnung“ oder „Eigentum“ |
Garage | 0/1 für Nein/Ja |
Farben | Multivalente Kategorie: ein oder mehrere Werte aus den Standardfarben „weiß“, „gelb“, „grün“ usw. |
Daten vorverarbeiten
Bevor Sie Featuredaten als Eingabe verwenden können, müssen Sie die Daten vorverarbeiten. Die Vorverarbeitungsschritte basieren auf den Schritten, die Sie beim Erstellen einer manuellen Ähnlichkeitsmessung durchgeführt haben. Übersicht:
Funktion | Typ oder Verteilung | Aktion |
---|---|---|
Preis | Poisson-Verteilung | Quantisieren und skalieren Sie auf [0,1]. |
Größe | Poisson-Verteilung | Quantisieren und skalieren Sie auf [0,1]. |
Postleitzahl | Kategorial | In Längen- und Breitengrad umwandeln, quantifizieren und auf [0,1] skalieren. |
Anzahl der Schlafzimmer | Ganzzahl | Schnappen Sie Ausreißer und skalieren Sie auf [0,1]. |
Haustyp | Kategorial | In One-Hot-Codierung konvertieren... |
Garage | 0 oder 1 | Unverändert beibehalten |
Farben | Kategorial | In RGB-Werte konvertieren und als numerische Daten verarbeiten. |
Weitere Informationen zur One-Hot-Codierung finden Sie unter Einbettungen: Kategoriale Eingabedaten.
Predictor oder Autoencoder auswählen
Zum Generieren von Einbettungen können Sie entweder einen Autoencoder oder einen Predictor auswählen. Standardmäßig ist ein Autoencoder ausgewählt. Sie wählen stattdessen einen Predictor aus, wenn bestimmte Merkmale in Ihrem Dataset eine Ähnlichkeit feststellen. Sehen wir uns beide Fälle genauer an.
Vorhersagung trainieren
Sie müssen diese Features als Trainingslabels für Ihren DNN auswählen, die wichtig sind, um die Ähnlichkeit zwischen Ihren Beispielen zu ermitteln. Angenommen, der Preis ist für die Ermittlung der Ähnlichkeit zwischen Häusern am wichtigsten.
Wählen Sie den Preis als Trainingslabel aus und entfernen Sie ihn aus den Eingabemerkmaldaten zum DNN. Trainieren Sie den DNN, indem Sie alle anderen Features als Eingabedaten verwenden. Für das Training ist die Verlustfunktion einfach der MSE zwischen vorhergesagtem und tatsächlichem Preis. Informationen zum Trainieren eines DNN finden Sie unter Neuronale Netzwerke trainieren.
Autoencoder trainieren
Trainieren Sie einen Autoencoder für unser Dataset mit den folgenden Schritten:
- Die verborgenen Ebenen des Autoencoders müssen kleiner sein als die Eingabe- und Ausgabeebenen.
- Berechnen Sie den Verlust für jede Ausgabe wie unter Überwachte Ähnlichkeitsmessung beschrieben.
- Erstellen Sie die Verlustfunktion, indem Sie die Verluste für jede Ausgabe summieren. Achten Sie darauf, dass der Verlust für jedes Feature gleich gewichtet wird. Da Farbdaten beispielsweise in RGB verarbeitet werden, gewichten Sie jede RGB-Ausgabe mit einem Drittel.
- Trainieren Sie den DNN.
Einbettungen aus dem DNN extrahieren
Extrahieren Sie die Einbettung für ein Beispiel aus dem DNN, nachdem Sie Ihren DNN trainiert haben. Extrahieren Sie die Einbettung mithilfe der Featuredaten des Beispiels als Eingabe und lesen Sie die Ausgaben der endgültigen ausgeblendeten Ebene. Diese Ausgaben bilden den Einbettungsvektor. Denken Sie daran, dass die Vektoren für ähnliche Häuser näher beieinander liegen als Vektoren für unterschiedliche Häuser.
Als Nächstes erfahren Sie, wie Sie die Ähnlichkeit von Beispielpaaren mithilfe ihrer Einbettungsvektoren quantifizieren können.