Manuelle Ähnlichkeitsmessung

Wie gerade gezeigt, weist k-means Punkte dem nächstgelegenen Schwerpunkt zu. Aber was macht "am nächsten" meinen?

Um k-Means auf Featuredaten anzuwenden, müssen Sie ein Maß für Ähnlichkeit, bei der alle Featuredaten zu einem einzigen numerischen Wert kombiniert werden, auch manuelle Ähnlichkeitsmessung genannt.

Nehmen wir als Beispiel ein Dataset mit Schuhen. Wenn dieses Dataset nur die Schuhgröße enthält, können Sie die Ähnlichkeit von zwei Schuhen in Bezug auf den Unterschied zwischen für ihre Größe. Je kleiner der numerische Unterschied zwischen den Größen ist, desto größer ist der Ähnlichkeit zwischen Schuhen.

Wenn dieses Schuh-Dataset zwei numerische Merkmale enthält, Größe und Preis, können Sie zu einer einzigen Zahl zusammenfügen, die die Ähnlichkeit darstellt. Skalieren Sie zunächst die Daten so, sind beide Funktionen vergleichbar:

  • Größe (s): Die Schuhgrößen bilden wahrscheinlich eine Gauß'sche Verteilung. Bestätigen Sie dies. Normalisieren Sie dann die Daten.
  • Preis (p): Die Daten sind wahrscheinlich eine Poisson-Verteilung. Bestätigen Sie dies. Wenn Sie nicht genügend Daten haben, wandeln Sie die Daten in Quantile um und skalieren sie auf \([0,1]\).

Kombinieren Sie als Nächstes die beiden Funktionen, indem Sie Wurzel der mittleren quadratischen Abweichung (Root Mean Squared Error, RMSE) Dieser grobe Wert der Ähnlichkeit ergibt sich aus \(\sqrt{\frac{(s_i - s_j)^2+(p_i - p_j)^2}{2}}\)

Für ein einfaches Beispiel: Ähnlichkeit für zwei Schuhe mit US-Größen berechnen 8 und 11 und die Preise 120 und 150. Da uns nicht genügend Daten vorliegen, Skalieren wir die Daten, ohne sie zu normalisieren oder Quantile.

AktionMethode
Die Größe skalieren. Es wird von einer maximal möglichen Schuhgröße von 20 ausgegangen. 8 und 11 teilen durch die maximale Größe 20, um 0,4 und 0,55 zu erhalten.
Skalieren Sie den Preis. Teilen Sie 120 und 150 durch den Höchstpreis von 150, um 0,8 und 1 zu erhalten.
Ermitteln Sie den Größenunterschied. \(0.55 - 0.4 = 0.15\)
Ermitteln Sie den Preisunterschied. \(1 - 0.8 = 0.2\)
Berechnen Sie den RMSE. \(\sqrt{\frac{0.2^2+0.15^2}{2}} = 0.17\)

Der Wert für die Ähnlichkeit sollte intuitiv steigen, wenn die Featuredaten umfangreicher sind. ähnlich. Stattdessen nimmt der Ähnlichkeitsmesswert (RMSE) ab. Sorgen Sie dafür, dass Ihr folgen Sie Ihrer Intuition, indem Sie sie von 1 subtrahieren.

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

Im Allgemeinen können Sie numerische Daten wie in Daten vorbereiten und dann kombinieren mithilfe der euklidischen Distanz.

Was wäre, wenn dieses Dataset sowohl die Schuhgröße als auch die Schuhfarbe enthält? Farbe ist kategorische Daten im Crashkurs „Machine Learning“ Mit kategorialen Daten arbeiten Kategorische Daten lassen sich schwerer mit numerischen Größendaten kombinieren. Mögliche Werte:

  • Einwertig (univalent), z. B. die Farbe eines Autos („weiß“ oder „blau“, aber nie beides)
  • Mehrwertig (multivalent), z. B. das Genre eines Films (ein Film kann sowohl "Aktion" und „Comedy“, oder nur „Aktion“)

Wenn unwichtige Daten übereinstimmen, z. B. bei zwei Paaren blauer Schuhe, die Ähnlichkeit zwischen den Beispielen 1. Andernfalls ist die Ähnlichkeit 0.

Multivalente Daten wie Filmgenres sind schwieriger zu verarbeiten. Wenn es eine Filmgenres haben, kann die Ähnlichkeit anhand des Verhältnisses von gemeinsame Werte, die so genannten Jaccard-Ähnlichkeit: Beispiel der Jaccard-Ähnlichkeit:

  • [“comedy”,action”] und [“comedy”,action”] = 1
  • [„Comedy“, Aktion“] und [„Aktion“] = 1⁄2
  • [„Comedy“, Action“] und [„Action“, „Drama“] = 1⁄3
  • [“Comedy”,action”] und [“non-fiktion”,biographical”] = 0

Die Jaccard-Ähnlichkeit ist nicht die einzige mögliche manuelle Ähnlichkeit kategorialen Daten verwendet werden. Zwei weitere Beispiele:

  • Postleitzahlen können vor dem Aufnehmen in Breiten- und Längengrade umgewandelt werden. die euklidische Entfernung zwischen ihnen berechnen.
  • Farbe kann in numerische RGB-Werte umgewandelt werden. Dabei unterscheiden sich die zur euklidischen Distanz kombiniert.

Siehe Mit kategorialen Daten arbeiten finden Sie weitere Informationen.

Im Allgemeinen muss eine manuelle Ähnlichkeitsmessung mit der tatsächlichen Ähnlichkeit. Wenn dies beim ausgewählten Messwert nicht der Fall ist, codiert er nicht das die Sie codieren möchten.

Vorverarbeiten Sie Ihre Daten sorgfältig, bevor Sie ein Ähnlichkeitsmaß berechnen. Die Beispiele auf dieser Seite vereinfacht. Die meisten realen Datasets sind groß und komplex sind. Wie bereits erwähnt, sind Quantile eine gute Standardauswahl für die Verarbeitung numerischer Daten.

Je komplexer die Daten sind, desto schwieriger wird es, eine manuelle Ähnlichkeitsmesswerts. Wechseln Sie in diesem Fall Messwert der überwachten Ähnlichkeit, bei dem ein überwachter Computer das Lernmodell die Ähnlichkeit berechnet. Darauf gehen wir später noch ausführlicher ein. .