11

Chciałam wypróbować przykład algorytmu uczenia maszynowego ALS. I mój kod działa dobrze, jednak nie rozumiem parametru rank używanego w algorytmie.Co to jest pozycja w algorytmie uczenia maszyny ALS w Apache Spark Mllib

Mam następujący kod w Javie

// Build the recommendation model using ALS 
    int rank = 10; 
    int numIterations = 10; 
    MatrixFactorizationModel model = ALS.train(JavaRDD.toRDD(ratings), 
      rank, numIterations, 0.01); 

Czytałem gdzieś, że jest to liczba ukrytych czynników w modelu.

Załóżmy, że mam zestaw danych (użytkownik, produkt, ocena), który ma 100 wierszy. Jaka wartość powinna wynosić rank (czynniki ukryte).

Odpowiedz

15

Tak jak powiedziałeś, stopień odnosi się do domniemanych utajonych lub ukrytych czynników. Na przykład, jeśli mierzysz, jak bardzo różni ludzie lubili filmy i próbowali je przewidzieć, możesz mieć trzy pola: osoba, film, liczba gwiazd. Teraz powiedzmy, że byłeś wszechwiedzący i znałeś absolutną prawdę i wiedziałeś, że w rzeczywistości wszystkie oceny filmów mogą być doskonale przewidziane przez zaledwie 3 ukryte czynniki, płeć, wiek i dochód. W takim przypadku "ranga" twojego biegu powinna wynosić 3.

Oczywiście, nie wiesz, ile podstawowych czynników, jeśli w ogóle, napędza twoje dane, więc musisz zgadywać. Im więcej używasz, tym lepsze wyniki aż do punktu, ale im więcej pamięci i czasu obliczeń będziesz potrzebować.

Jednym ze sposobów działania jest rozpoczynanie od poziomu 5-10, następnie zwiększanie go, powiedzmy 5 na raz, aż wyniki przestaną się poprawiać. W ten sposób możesz określić najlepszą pozycję dla swojego zestawu danych przez eksperymentowanie.

+0

Tyler, dzięki za tak dobre wyjaśnienie. Mam jednak jedno pytanie, ukryte czynniki, które zakładamy, są tylko użytkownikami (wybory, zainteresowania) lub mogą obejmować również cechy charakterystyczne? –

+1

To czysta cecha danych. –

+0

, jeśli mógłbyś podać dokładną odpowiedź dla Lambdy, która moim zdaniem jest jedynym parametrem, który używa ALS ... To jest najlepsza odpowiedź, którą znalazłem dla Rankingu –