Ich habe die Artikel auf Word2Vec gelesen (z. B. dieses ), und ich denke, ich verstehe, die Vektoren zu trainieren, um die Wahrscheinlichkeit anderer Wörter zu maximieren, die in den gleichen Kontexten gefunden werden.
Allerdings verstehe ich nicht, warum Cosinus das korrekte Maß für die Wortähnlichkeit ist. Die Kosinusähnlichkeit besagt, dass zwei Vektoren in dieselbe Richtung zeigen, aber sie könnten unterschiedliche Größen haben.
Zum Beispiel macht Kosinusähnlichkeit einen Sinn, wenn man einen Beutel mit Wörtern für Dokumente vergleicht. Zwei Dokumente können unterschiedlich lang sein, haben aber ähnliche Wortverteilungen.
Warum nicht, sagen wir, euklidische Distanz?
Kann jemand erklären, warum Kosinusähnlichkeit für Word2Vec funktioniert?
Die Kosinusähnlichkeit zweier n-dimensionaler Vektoren A und B ist definiert als:
was einfach der Kosinus des Winkels zwischen A und B ist.
, während die euklidische Entfernung als
definiert istDenken Sie jetzt über die Entfernung zweier zufälliger Elemente des Vektorraums nach. Für die Kosinusentfernung ist der maximale Abstand 1, da der Bereich von cos [-1, 1] ist.
Für die euklidische Distanz kann dies jedoch ein beliebiger nicht negativer Wert sein. Ich habe es nicht berechnet, aber ich würde schätzen, dass für die zunehmende Dimension n der durchschnittliche Abstand von zwei Vektoren für die euklidische Distanz stark zunimmt, während er für die Kosinusentfernung gleich (?) Ist.
Kosinusabstand ist besser für Vektoren in einem hochdimensionalen Raum wegen des Fluches der Dimensionalität . (Ich bin mir aber nicht ganz sicher)
Diese beiden Entfernungsmetriken sind wahrscheinlich stark korreliert, so dass es nicht so wichtig ist, welche Sie verwenden. Wie Sie betonen, müssen wir uns wegen der Kosinusentfernung nicht um die Länge der Vektoren kümmern.
Dieses Dokument zeigt an, dass eine Beziehung zwischen der Worthäufigkeit und der Länge des word2vec-Vektors besteht. Ссылка
Tags und Links deep-learning nlp word2vec