Wygląda na to, że podobieństwo cosinus dwóch cech jest po prostu iloczynem skalowanym przez iloczyn wielkości. Kiedy podobieństwo cosinus stanowi lepszą miarę odległości niż iloczyn kropkowy? Czy to znaczy, że produkt kropkowy i podobieństwo cosinus mają różne mocne i słabe strony w różnych sytuacjach?
classification
ahoffer
źródło
źródło
Odpowiedzi:
Myśl geometrycznie. Podobieństwo cosinusa dba tylko o różnicę kątów, podczas gdy iloczyn kropkowy dba o kąt i wielkość. Jeśli znormalizujesz swoje dane, aby mieć tę samą wielkość, oba są nierozróżnialne. Czasami pożądane jest zignorowanie wielkości, stąd podobieństwo kosinusowe jest przyjemne, ale jeśli wielkość odgrywa rolę, iloczyn kropkowy byłby lepszy jako miara podobieństwa. Pamiętaj, że żaden z nich nie jest „wskaźnikiem odległości”.
źródło
Masz rację, podobieństwo kosinusowe ma wiele wspólnego z iloczynem kropkowym wektorów. Rzeczywiście jest to iloczyn skalowany według wielkości. Ze względu na skalowanie jest znormalizowany między 0 a 1. CS jest preferowany, ponieważ bierze pod uwagę zmienność danych i względne częstotliwości funkcji. Z drugiej strony, zwykły produkt kropkowy jest nieco „tańszy” (pod względem złożoności i implementacji).
źródło
Chciałbym dodać jeszcze jeden wymiar do odpowiedzi podanych powyżej. Zwykle używamy podobieństwa cosinus z dużym tekstem, ponieważ nie zaleca się stosowania macierzy odległości w akapitach danych. A także, jeśli chcesz, aby twój klaster był szeroki, zwykle wybierasz podobieństwo kosinusowe, ponieważ rejestruje ono ogólne podobieństwo.
Na przykład, jeśli masz teksty o długości maksymalnie dwóch lub trzech słów, wydaje mi się, że użycie podobieństwa cosinus nie osiąga precyzji, jaką osiąga się za pomocą pomiaru odległości.
źródło
Jest doskonały porównanie wspólnych miar podobieństwa wewnętrzna produktem opartych tutaj .
W szczególności podobieństwo kosinusowe jest znormalizowane, aby mieściło się w zakresie [0,1], w przeciwieństwie do iloczynu kropkowego, który może być dowolną liczbą rzeczywistą, ale, jak wszyscy mówią, będzie to wymagało ignorowania wielkości wektorów. Osobiście uważam, że to dobra rzecz. Myślę o wielkości jako strukturze wewnętrznej (wewnątrz wektora), a kącie między wektorami jako strukturze zewnętrznej (między wektorami). Są to różne rzeczy i (moim zdaniem) często najlepiej je analizować osobno. Nie wyobrażam sobie sytuacji, w której wolałbym obliczać produkty wewnętrzne niż obliczać podobieństwa cosinusowe i po prostu porównywać wielkości.
źródło
Wizualnie wszystkie twoje dane żyją w sferze jednostkowej. Użycie iloczynu punktowego jako odległości da ci odległość akordową, ale jeśli użyjesz tej odległości cosinusowej, odpowiada ona długości ścieżki między dwoma punktami na kuli. Oznacza to, że jeśli chcesz uzyskać średnią z dwóch punktów, powinieneś wziąć punkt pośredni na tej ścieżce (geodezyjny) zamiast punktu środkowego uzyskanego z „średniej arytmetycznej / iloczynu / geometrii euklidesowej”, ponieważ ten punkt nie żyć na kuli (a więc zasadniczo nie ten sam obiekt)!
źródło
Jak zauważyli inni, nie są to „metryki odległości”, ponieważ nie spełniają kryteriów metryki. Zamiast tego powiedz „miara odległości”.
W każdym razie, co mierzysz i dlaczego? Informacje te pomogą nam udzielić bardziej użytecznej odpowiedzi na twoją sytuację.
źródło