Moje pytanie może być głupie. Więc z góry przepraszam.
Próbowałem użyć modelu GLOVE wstępnie przeszkolonego przez grupę NLP Stanforda ( link ). Zauważyłem jednak, że moje wyniki podobieństwa wykazały pewne liczby ujemne.
To natychmiast skłoniło mnie do spojrzenia na plik danych słowo-wektor. Najwyraźniej wartości w wektorach słów mogły być ujemne. To wyjaśniało, dlaczego widziałem ujemne podobieństwa cosinus.
Przyzwyczaiłem się do podobieństwa cosinusów wektorów częstotliwości, których wartości są ograniczone w [0, 1]. Wiem na pewno, że iloczyn skalarny i funkcja kosinusowa mogą być dodatnie lub ujemne, w zależności od kąta między wektorem. Ale naprawdę trudno mi zrozumieć i interpretować to negatywne podobieństwo cosinus.
Na przykład, jeśli mam parę słów dających podobieństwo -0,1, czy są one mniej podobne niż inna para, której podobieństwo wynosi 0,05? A może porównać podobieństwo od -0,9 do 0,8?
Czy powinienem po prostu spojrzeć na wartość bezwzględną minimalnej różnicy kątów od ? Bezwzględna wartość wyników?
Wielkie dzięki.
An angular-type similarity coefficient between two vectors. It is like correlation, only without centering the vectors.
Jedyną różnicą między nimi jest to, że w odchyleniach korelacji (momenty) - które są multiplikowane krzyżowo - pochodzą ze średniej, podczas gdy w kosinusie odchylenia są od pierwotnego 0 - tzn. Są wartościami takimi, jakie są .Odpowiedzi:
Niech dwa wektory i , kąt jest uzyskiwany przez iloczyn skalarny i normę wektorów:a b θ
Ponieważ wartość należy do zakresu :cos(θ) [−1,1]
Przykład : Pozwól dwóm użytkownikom i oraz podobieństwo między tymi dwoma użytkownikami zgodnie z ich upodobaniami do filmów:U1 U2 sim(U1,U2)
źródło
Nie należy używać wartości bezwzględnych, ponieważ znak ujemny nie jest arbitralny. Aby uzyskać wartość cosinus między 0 a 1, należy użyć następującej funkcji cosinus:
(Kod R)
(Kod Python)
źródło
Podobieństwo cosinus jest jak korelacja Pearsona, ale bez odejmowania średnich. Możesz więc porównać względną siłę 2 podobieństw cosinusów, patrząc na wartości bezwzględne, podobnie jak w przypadku porównania wartości bezwzględnych 2 korelacji Pearsona.
źródło
Ma rację, że podobieństwo cosinus między wektorami częstotliwości nie może być ujemne, ponieważ liczba słów nie może być ujemna, ale w przypadku osadzania słów (np. Rękawicy) możesz mieć wartości ujemne.
Uproszczony widok budowy osadzania słów jest następujący: Każde słowo przypisujesz losowemu wektorowi w R ^ d. Następnie uruchom optymalizator, który próbuje przesunąć dwa podobne wektory v1 i v2 blisko siebie lub doprowadzić dwa oddzielne wektory v3 i v4 dalej od siebie (jak na pewien dystans, powiedzmy cosinus). Przeprowadzasz tę optymalizację dla wystarczającej liczby iteracji, a na końcu osadzasz słowa z jedynym kryterium, że podobne słowa mają wektory bliższe, a wektory niepodobne są dalej. Wynik końcowy może sprawić, że niektóre wartości wymiarów będą ujemne, a niektóre pary będą miały ujemne podobieństwo kosinusowe - po prostu dlatego, że proces optymalizacji nie dbał o to kryterium. Możliwe, że spowodowało to, że niektóre wektory osiągnęły wartości ujemne. Wymiary wektorów nie odpowiadają liczbie słów,
źródło