🎵 Rekomendator muzyki — faktoryzacja macierzy (ALS) na żywo
Obserwuj, jak prawdziwa faktoryzacja macierzy metodą naprzemiennych najmniejszych kwadratów (ALS) uczy się na żywo ukrytych wektorów słuchaczy i utworów, z rekomendacjami piosenek aktualizowanymi na żywo w miarę zbieżności nauczonych czynników.
O tej symulacji
Ta symulacja buduje syntetyczną macierz liczby odtworzeń słuchacz × utwór z prawdziwą strukturą niskiego rzędu ukrytą w szumie, a następnie faktoryzuje ją prawdziwą metodą naprzemiennych najmniejszych kwadratów (ALS). Każdy przebieg rozwiązuje dokładny regularyzowany układ liniowy — równania normalne metodą eliminacji Gaussa z częściowym wyborem elementu podstawowego — najpierw dla każdego wiersza słuchacza przy ustalonych wektorach utworów, następnie dla każdego wiersza utworu przy ustalonych wektorach słuchaczy. Nie ma tu spadku gradientowego ani ręcznie dostrojonego współczynnika uczenia: każda aktualizacja wiersza to minimalizator najmniejszych kwadratów w postaci zamkniętej dla własnego podproblemu, a błąd rekonstrukcji może się jedynie poprawiać lub pozostawać bez zmian z każdym półprzebiegiem.
🔬 Co pokazuje
Rzadka macierz ocen (około 28 słuchaczy, 42 utwory, mniej więcej 40% obserwowanych) jest generowana z ukrytych klastrów gustu i gatunku plus szum, a następnie dzielona na wpisy treningowe i wydzielone. ALS uczy się k-wymiarowych wektorów słuchaczy U i wektorów utworów V, tak że U·Vᵀ rekonstruuje obserwowane odtworzenia. Rozkład wartości własnych metodą Jacobiego rzutuje wyuczone k-wymiarowe czynniki na ich trzy główne składowe dla sceny 3D, a wykres na żywo śledzi RMSE zarówno na wpisach treningowych, jak i wydzielonych w każdej iteracji.
🎮 Jak korzystać
Dostosuj liczbę czynników ukrytych k (2–12), siłę regularyzacji λ oraz maksymalną liczbę iteracji ALS, a następnie naciśnij „Uruchom ALS”, aby animować przebiegi, lub „Krok”, aby przechodzić po jednym przebiegu naraz. Wybierz dowolnego symulowanego słuchacza z listy rozwijanej, aby zobaczyć jego historię odtworzeń i na żywo aktualizowany top-6 rekomendowanych utworów, wyróżniony liniami łączącymi w 3D przestrzeni ukrytej. Przeciągaj, aby obracać scenę, i przewijaj, aby przybliżać.
💡 Czy wiesz, że?
ALS stał się koniem roboczym wielkoskalowego filtrowania kolaboratywnego — w tym MLlib Sparka i wczesnych rekomendatorów w stylu Netflix — właśnie dlatego, że każdy półprzebieg jest dokładnym, równoległym rozwiązaniem najmniejszych kwadratów, a nie iteracyjną metodą gradientową, więc zbiega w kilku przebiegach i skaluje się do milionów wierszy poprzez rozdzielenie niezależnych rozwiązań dla poszczególnych wierszy.
Najczęściej zadawane pytania
Czym jest faktoryzacja macierzy w systemie rekomendacyjnym?
Faktoryzacja macierzy przybliża dużą, w większości pustą macierz ocen słuchacz-utwór R jako iloczyn dwóch znacznie mniejszych macierzy, U (słuchacze × k czynników ukrytych) i V (utwory × k czynników ukrytych), tak że R ≈ U·Vᵀ. Każdy czynnik ukryty to nieoznaczona oś gustu — jeden może korelować z tempem, inny z produkcją akustyczną kontra elektroniczną — wyuczona automatycznie z obserwowanych odtworzeń, a nie zaprojektowana ręcznie. Gdy U i V są już wyuczone, przewidywane powinowactwo dla dowolnej pary słuchacz-utwór, nawet nigdy nieobserwowanej, to po prostu iloczyn skalarny ich dwóch wektorów ukrytych.
Jak faktycznie działa metoda naprzemiennych najmniejszych kwadratów (ALS)?
ALS wykorzystuje fakt, że choć wspólna optymalizacja U i V jest problemem niewypukłym, optymalizacja samego U przy ustalonym V (lub odwrotnie) to zwykła regularyzowana regresja liniowa z rozwiązaniem w postaci zamkniętej. Każdy przebieg ALS najpierw ustala V i dla każdego wiersza słuchacza rozwiązuje równania normalne k×k (Vᵀ_ᵢV_ᵢ + λ|I_u|·I)u = Vᵀ_ᵢr_ᵢ, używając tylko utworów odsłuchanych przez tego słuchacza. Następnie ustala świeżo zaktualizowane U i rozwiązuje analogiczny układ dla każdego wiersza utworu. Naprzemienne stosowanie tych dwóch dokładnych rozwiązań najmniejszych kwadratów wielokrotnie zmniejsza regularyzowany błąd rekonstrukcji monotonicznie, aż nastąpi zbieżność.
Dlaczego stosować rozwiązanie najmniejszych kwadratów w postaci zamkniętej zamiast spadku gradientowego?
Ponieważ każdy podproblem ALS — aktualizacja jednego wiersza, podczas gdy druga macierz czynników jest zamrożona — jest małym, dobrze uwarunkowanym równaniem kwadratowym z k niewiadomymi, ma dokładne rozwiązanie poprzez równania normalne, uzyskane tutaj metodą eliminacji Gaussa z częściowym wyborem elementu podstawowego. Zbiega to w jednym kroku na wiersz zamiast wymagać dostrojonego współczynnika uczenia i wielu iteracji gradientu, sprawia, że każdy półprzebieg jest trywialnie równoległy między wierszami, i to właśnie dlatego ALS stał się domyślnym algorytmem faktoryzacji macierzy dla wielkoskalowych systemów z niejawną informacją zwrotną, takich jak wczesne rekomendatory w stylu Netflix i Spotify.
Co zmieniają elementy sterujące k, regularyzacją i liczbą iteracji?
k ustala wymiarowość ukrytej przestrzeni gustu — zbyt małe niedouczaza odrębne gatunki, zbyt duże może przeuczyć się na rzadkich obserwowanych odtworzeniach i pogorszyć RMSE na zbiorze wydzielonym. Siła regularyzacji λ karze duże wartości czynników w równaniach normalnych, wymieniając dokładność treningową na uogólnienie do utworów, których słuchacz jeszcze nie odsłuchał. Liczba iteracji kontroluje, ile naprzemiennych przebiegów U/V się wykonuje; RMSE na obserwowanych wpisach treningowych szybko spada w ciągu pierwszych kilku przebiegów, a następnie się spłaszcza w miarę zbieżności faktoryzacji.
Dlaczego RMSE na zbiorze wydzielonym może zacząć rosnąć, podczas gdy RMSE treningowe wciąż maleje?
RMSE treningowe jest mierzone na dokładnie tych odtworzeniach, do których dopasowano ALS, więc przy wystarczającej liczbie czynników ukrytych i przebiegów może wciąż maleć w kierunku zera. RMSE na zbiorze wydzielonym jest mierzone na odtworzeniach celowo wyłączonych z dopasowania, więc gdy tylko czynniki zaczynają zapamiętywać osobliwości odtworzeń treningowych zamiast ogólnej struktury gustu, błąd na zbiorze wydzielonym może osiągnąć plateau albo zacząć rosnąć — klasyczny sygnał przeuczenia, i właśnie dlatego regularyzacja λ i umiarkowane k liczą się bardziej niż pogoń za najniższym możliwym błędem treningowym.
Prawdziwa metoda naprzemiennych najmniejszych kwadratów nad rzadką syntetyczną macierzą słuchacz-utwór: regularyzowane równania normalne w postaci zamkniętej rozwiązywane dla każdego wiersza metodą eliminacji Gaussa, RMSE śledzone na wpisach treningowych i wydzielonych w każdym przebiegu, oraz rozkład wartości własnych metodą Jacobiego rzutujący wyuczone czynniki ukryte w 3D do wizualizacji na żywo.
3D · renderer Three.js / WebGL · cel 60 FPS · działa w całości po stronie klienta, bez instalacji