Pierwszym etapem rekomendacji jest zdobywanie kandydatów. W przypadku zapytania system generuje zbiór odpowiednich kandydatów. Tabela poniżej zawiera 2 rodzaje danych popularne metody pozyskiwania kandydatów:
Typ | Definicja | Przykład |
---|---|---|
filtrowanie na podstawie treści | korzysta z podobieństwa między produktami, aby polecać produkty. podobne do preferencji użytkownika. | Jeśli użytkownik A ogląda 2 urocze filmy z kotami, może polecić użytkownikowi filmy ze słodkimi zwierzakami. |
filtrowanie wspólne | Używa podobieństw między zapytaniami i elementami jednocześnie . | Jeśli użytkownik A jest podobny do użytkownika B, a użytkownik B polubił film 1, wtedy system może polecić film 1 użytkownikowi A (nawet jeśli użytkownik A nie zobaczyli filmy podobne do filmu nr 1). |
Obszar umieszczania
Zarówno filtrowanie oparte na treści, jak i wspólne, mapuje każdy element i każde zapytanie (lub kontekstu) do wektora dystrybucyjnego we wspólnej przestrzeni \(E = \mathbb R^d\)Obszar osadzania jest zwykle niskowymiarowy. (czyli \(d\) jest znacznie mniejszy od rozmiaru korpusu) i przechwytuje jakąś utajoną strukturę elementu lub zbioru zapytań. Podobne elementy, np. YouTube oglądane przez tego samego użytkownika, są blisko siebie. miejsca na dane. Pojęcie „bliskości” jest określany przez pomiar podobieństwa.
Miary podobieństw
Miara podobieństwa to funkcja, \(s : E \times E \to \mathbb R\) która pobiera parę wektorów dystrybucyjnych i zwraca wartość skalarną określającą ich podobieństwo. Wektory dystrybucyjne mogą być używane do generowania kandydatów w następujący sposób: wektora dystrybucyjnego \(q \in E\), system szuka reprezentacji właściwościowych \(x \in E\) znajdujących się w pobliżu \(q\), czyli reprezentacji właściwościowych o dużej sile podobieństwo \(s(q, x)\).
Większość systemów rekomendacji opiera się na określaniu stopnia podobieństwa w przypadku co najmniej jednej z tych kwestii:
- cosinus
- iloczyn skalarny
- Odległość euklidesowa
Cosinus
Jest to po prostu cosinus kąta między tymi dwoma punktami wektory, \(s(q, x) = \cos(q, x)\)
Iloczyn skalarny
Iloczyn skalarny dwóch wektorów to \(s(q, x) = \langle q, x \rangle = \sum_{i = 1}^d q_i x_i\) Ta wartość jest również wskazana przez \(s(q, x) = \|x\| \|q\| \cos(q, x)\) (cosinus funkcji kąt pomnożony przez iloczyn normy). Jeśli więc wektory dystrybucyjne są znormalizowany, a następnie iloczyn skalarny i cosinus.
Odległość euklidesowa
To jest typowa odległość w skali euklidesowej pokój, \(s(q, x) = \|q - x\| = \left[ \sum_{i = 1}^d (q_i - x_i)^2\right]^{\frac{1}{2}}\). Mniejsza odległość oznacza większe podobieństwo. Pamiętaj, że gdy wektory dystrybucyjne są znormalizowane, kwadrat odległości euklidesowej zbiega się z iloczynem skalarnym (i cosinus) do stałej wartości, ponieważ \(\frac{1}{2}\|q - x\|^2 = 1 - \langle q, x \rangle\).
Porównywanie miar podobieństwa
Przyjrzyjmy się przykładowi na ilustracji po prawej stronie. Czarny wektor przedstawia umieszczania zapytań. Pozostałe trzy wektory dystrybucyjne (element A, element B, element C). reprezentują elementy kandydujące. W zależności od użytego wskaźnika podobieństwa funkcja pozycje w rankingu mogą być różne.
Korzystając z tej grafiki, spróbuj określić pozycję produktu w rankingu, opierając się na wszystkich miary podobieństw: cosinus, iloczyn skalarny i odległość euklidesowa.
Który wskaźnik podobieństwa?
W porównaniu do cosinusa podobieństwo iloczynu skalarnego jest wrażliwe norma wektora dystrybucyjnego. Im większa norma atrybutu wektor dystrybucyjny, tym większe podobieństwo (w przypadku elementów o ostrym kącie) i tym większe prawdopodobieństwo, że będzie on polecany. Może to wpłynąć zalecenia:
Elementy, które bardzo często pojawiają się w zestawie treningowym (np. popularne filmy w YouTube) mają zwykle osadzone osadzenia z dużymi normami. Jeśli gromadzenie informacji o popularności jest pożądane, preferujemy iloczyn skalarny. Jeśli jednak nie zachowasz ostrożności, popularny produkty mogą zdominować rekomendacje. W praktyce Może wykorzystać inne warianty podobieństw, które kładą mniejszy nacisk od normy elementu. Na przykład zdefiniuj \(s(q, x) = \|q\|^\alpha \|x\|^\alpha \cos(q, x)\) dla niektóre \(\alpha \in (0, 1)\).
Elementy, które pojawiają się bardzo rzadko, mogą nie być często aktualizowane w szkolenia internetowego. W związku z tym, jeśli zostaną zainicjowane z dużą normą, system może rekomendować rzadkie produkty zamiast tych bardziej trafnych. Aby tego uniknąć uważaj na inicjalizację wektora dystrybucyjnego i użyj odpowiednich regularyzacja. Omówimy ten problem w pierwszym ćwiczeniu.