Manuelle Ähnlichkeitsmessung erstellen

Um die Ähnlichkeit zwischen zwei Beispielen zu berechnen, müssen Sie alle Merkmalsdaten für diese beiden Beispiele zu einem einzigen numerischen Wert kombinieren.

Nehmen wir als Beispiel ein Schuh-Dataset mit nur einem Merkmal: der Schuhgröße. Sie können die Größe zweier ähnlicher Schuhe bestimmen, indem Sie die Größenunterschiede berechnen. Je kleiner der numerische Unterschied zwischen den Größen, desto größer ist die Ähnlichkeit zwischen den Schuhen. Ein solcher manueller Ähnlichkeitsmesswert wird als manuelle Ähnlichkeitsmessung bezeichnet.

Angenommen, Sie möchten sowohl anhand der Größe als auch anhand der Farbe Ähnlichkeiten zwischen den Schuhen feststellen. Die Farbe ist kategorische Daten, die sich mit den numerischen Größendaten schwer kombinieren lassen. Je komplexer die Daten werden, desto schwieriger wird es, manuelle Ähnlichkeiten zu ermitteln. Wenn Ihre Daten komplex genug werden, können Sie keine manuellen Maßnahmen ergreifen. Das ist der Zeitpunkt, zu dem Sie zu einer Metrik für überwachte Ähnlichkeit wechseln, bei der ein Modell für überwachtes maschinelles Lernen die Ähnlichkeit berechnet.

Wir behalten die Gemeinsamkeit der Gemeinsamkeiten für später im Blick. Für den Anfang sollten Sie bedenken, dass Sie zu einem überwachten Ähnlichkeitsmesswert wechseln, wenn Sie Probleme haben, einen manuellen Ähnlichkeitsmesswert zu erstellen.

Sehen wir uns anhand unseres Beispiels für Schuhe an, wie eine manuelle Ähnlichkeitsmessung funktioniert. Angenommen, das Modell hat zwei Merkmale: Daten zur Schuhgröße und zum Schuhpreis. Da beide Features numerisch sind, können Sie sie zu einer einzigen Zahl zusammenfassen, die die Ähnlichkeit so darstellt:

  • Größe (n): Die Schuhgröße ist vermutlich eine Gauß-Verteilung. Bestätigen Sie dies. Anschließend werden die Daten normalisiert.
  • Preis (p): Die Daten sind wahrscheinlich eine Poisson-Verteilung. Bestätigen Sie dies. Wenn Sie genügend Daten haben, konvertieren Sie die Daten in Quantile und skalieren Sie zu \([0,1]\).
  • Kombinieren Sie die Daten mit dem Root Mean Squared Error (RMSE). Die Ähnlichkeit ist hier \(\sqrt{\frac{s^2+p^2}{2}}\).

Für ein vereinfachtes Beispiel berechnen wir die Ähnlichkeit für zwei Schuhe mit den US-Größen 8 und 11 und den Preisen 120 und 150. Da uns nicht genügend Daten zur Verfügung stehen, um die Verteilung zu verstehen, werden wir die Daten einfach skalieren, ohne sie zu normalisieren oder zu verwenden.

AktionMethode
Skalieren Sie die Größe. Die maximal mögliche Schuhgröße ist 20. Teile 8 und 11 durch die maximale Größe 20, um 0,4 und 0,55 zu erhalten.
Den Preis anpassen Teile 120 und 150 durch den Höchstpreis 150, um 0,8 und 1 zu erhalten.
Ermitteln Sie den Größenunterschied. \(0.55 - 0.4 = 0.15\)
Suchen Sie den Preisunterschied. \(1 - 0.8 = 0.2\)
Suchen Sie den RMSE. \(\sqrt{\frac{0.2^2+0.15^2}{2}} = 0.17\)

Die Ähnlichkeit sollte gemessen werden, wenn Featuredaten ähnlich werden. Stattdessen nimmt Ihre gemessene Ähnlichkeit ab. Lass deine gemessene Ähnlichkeit deiner Intuition folgen, indem du sie von 1 abziehst.

\[\text{Similarity} = 1 - 0.17 = 0.83\]

Im Allgemeinen können Sie numerische Daten wie unter Daten vorbereiten beschrieben vorbereiten und die Daten dann mithilfe der euklidischen Entfernung kombinieren.

Was passiert, wenn Sie kategoriale Daten haben? Kategoriale Daten können entweder:

  • Einzelwert (univalent), z. B. die Farbe des Autos („weiß“ oder „blau“, aber nie beides)
  • Mehrwertig (multivalent) wie z. B. das Genre eines Films (kann gleichzeitig „Action“ und „Komödie“ oder „Aktion“) sein

Wenn universelle Daten übereinstimmen, ist die Ähnlichkeit 1, andernfalls 0. Multivalente Daten sind schwieriger zu handhaben. Filmgenres können zum Beispiel eine Herausforderung sein. Angenommen, Filme werden bestimmten Genres aus einem festen Satz von Genres zugewiesen. Die Ähnlichkeit lässt sich anhand des Verhältnisses gemeinsamer Werte berechnen, die als Jaccard-Ähnlichkeit bezeichnet werden.

Beispiele:

  • [„Komödie“, „Aktion“] und [„Komödie“, „Aktion“] = 1
  • [„Komödie“, „Aktion“] und [„Aktion“] = 1⁄2
  • [„Komödie“, „Aktion“] und [„Aktion“, „Drama“] = 1⁄3
  • ]

Die folgende Tabelle enthält einige weitere Beispiele für den Umgang mit kategorischen Daten.

Beispiele
Postleitzahl Postleitzahlen, die sich in unmittelbarer Nähe zueinander befinden, sollten eine höhere Ähnlichkeit haben. Um die zur Berechnung dieser Ähnlichkeit erforderlichen Informationen zu codieren, können Sie die Postleitzahlen in Breiten- und Längengrade konvertieren. Berechnen Sie für ein Paar mit Postleitzahlen die Differenz zwischen Breiten- und Längengrad. Fügen Sie dann die Unterschiede hinzu, um einen einzelnen numerischen Wert zu erhalten.
Farbe Angenommen, Sie haben Farbdaten als Text. Wandeln Sie die Textwerte in numerische RGB-Werte um. Sie können jetzt den Unterschied zwischen den Werten rot, grün und blau für zwei Farben ermitteln und die Unterschiede mithilfe der euklidischen Entfernung zu einem numerischen Wert kombinieren.

Im Allgemeinen muss die Ähnlichkeitsmessung der tatsächlichen Ähnlichkeit direkt entsprechen. Wenn dies bei Ihrem Messwert nicht der Fall ist, werden die erforderlichen Informationen nicht codiert. Im vorherigen Beispiel wurden Postleitzahlen in Längen- und Breitengrade umgewandelt, da Postleitzahlen allein die erforderlichen Informationen nicht codiert haben.

Bevor Sie die Ähnlichkeitsmessung erstellen, müssen Sie die Daten sorgfältig verarbeiten. Obwohl die Beispiele auf dieser Seite auf einem kleinen, einfachen Datensatz basieren, sind die realen Datensätze viel größer und komplexer. Quantile sind eine gute Standardeinstellung für die Verarbeitung numerischer Daten.