ГоловнаШІ та Машинне навчанняРекомендатор музики — факторизація матриці (ALS) наживо

🎵 Рекомендатор музики — факторизація матриці (ALS) наживо

Спостерігайте, як справжня факторизація матриці методом почергових найменших квадратів (ALS) наживо навчає латентні вектори слухачів і треків, з рекомендаціями пісень, що оновлюються наживо в міру збіжності факторів.

ШІ та Машинне навчання3DПросунутий60 FPS
ai-music-recommendation-matrix-factorization ↗ Відкрити окремо

Про цю симуляцію

Ця симуляція будує синтетичну матрицю кількості прослуховувань слухач × трек зі справжньою структурою низького рангу, прихованою в шумі, а потім факторизує її справжнім методом почергових найменших квадратів (ALS). Кожен прохід розв'язує точну регуляризовану лінійну систему — нормальні рівняння методом Гауса з частковим вибором головного елемента — спершу для кожного рядка слухача при зафіксованих векторах треків, потім для кожного рядка треку при зафіксованих векторах слухачів. Тут немає ані градієнтного спуску, ані підібраної вручну швидкості навчання: кожне оновлення рядка — це мінімізатор найменших квадратів у явному вигляді для власної підзадачі, і похибка реконструкції може лише покращуватися чи залишатися незмінною з кожним напівпроходом.

🔬 Що показано

Розріджена матриця оцінок (близько 28 слухачів, 42 треки, приблизно 40% спостережувано) генерується з прихованих кластерів смаку та жанру плюс шум, а потім розділяється на навчальні та відкладені записи. ALS навчає k-вимірні вектори слухачів U і вектори треків V так, що U·Vᵀ реконструює спостережувані прослуховування. Розкладання власних значень методом Якобі проєктує вивчені k-вимірні фактори на їхні три головні компоненти для 3D-сцени, а живий графік відстежує RMSE як на навчальних, так і на відкладених записах кожну ітерацію.

🎮 Як користуватися

Налаштуйте кількість латентних факторів k (2–12), силу регуляризації λ та максимальну кількість ітерацій ALS, потім натисніть «Запустити ALS», щоб анімувати проходи, або «Крок», щоб просуватися по одному проходу за раз. Оберіть будь-якого симульованого слухача з випадного списку, щоб побачити його історію прослуховувань і живі топ-6 рекомендацій треків, виділені лініями зв'язку в 3D латентному просторі. Перетягуйте, щоб обертати сцену, і прокручуйте, щоб масштабувати.

💡 Чи знали ви?

ALS став робочим конем великомасштабної колаборативної фільтрації — включно з MLlib Spark та ранніми рекомендаторами у стилі Netflix — саме тому, що кожен напівпрохід є точним, паралелізованим розв'язком найменших квадратів, а не ітеративним градієнтним методом, тож він сходиться за кілька проходів і масштабується до мільйонів рядків, розподіляючи незалежні розв'язки для кожного рядка.

Часті запитання

Що таке факторизація матриці в рекомендаційній системі?

Факторизація матриці апроксимує велику, здебільшого порожню матрицю оцінок «слухач на трек» R як добуток двох значно менших матриць, U (слухачі × k латентних факторів) і V (треки × k латентних факторів), так що R ≈ U·Vᵀ. Кожен латентний фактор — це непозначена вісь смаку — одна може корелювати з темпом, інша з акустичним чи електронним звучанням — вивчена автоматично зі спостережуваних прослуховувань, а не сконструйована вручну. Коли U і V вивчені, прогнозована спорідненість для будь-якої пари слухач-трек, навіть ніколи не спостережуваної, — це просто скалярний добуток їхніх двох латентних векторів.

Як насправді працює метод почергових найменших квадратів (ALS)?

ALS використовує той факт, що хоча спільна оптимізація U і V є невипуклою задачею, оптимізація лише U при зафіксованому V (або навпаки) — це звичайна регуляризована лінійна регресія з розв'язком у явному вигляді. Кожен прохід ALS спочатку фіксує V і для кожного рядка слухача розв'язує нормальні рівняння k×k (Vᵀ_ᵢV_ᵢ + λ|I_u|·I)u = Vᵀ_ᵢr_ᵢ, використовуючи лише прослухані цим слухачем треки. Потім він фіксує щойно оновлений U і розв'язує аналогічну систему для кожного рядка треку. Почергове застосування цих двох точних розв'язків найменших квадратів монотонно зменшує регуляризовану похибку реконструкції, доки не настане збіжність.

Чому використовувати розв'язок найменших квадратів у явному вигляді замість градієнтного спуску?

Оскільки кожна підзадача ALS — оновлення одного рядка, поки інша матриця факторів заморожена — є невеликою, добре обумовленою квадратичною задачею з k невідомими, вона має точний розв'язок через нормальні рівняння, отриманий тут методом Гауса з частковим вибором головного елемента. Це сходиться за один крок на рядок замість того, щоб вимагати підібраної швидкості навчання й багатьох ітерацій градієнта, робить кожен напівпрохід тривіально паралельним за рядками, і це причина, чому ALS став типовим алгоритмом факторизації матриці для великомасштабних систем із неявним зворотним зв'язком, таких як ранні рекомендатори у стилі Netflix і Spotify.

Що змінюють елементи керування k, регуляризацією та кількістю ітерацій?

k задає розмірність латентного простору смаку — надто мале значення недонавчається на окремих жанрах, надто велике може перенавчитися на розріджених спостережуваних прослуховуваннях і погіршити RMSE на відкладеній вибірці. Сила регуляризації λ штрафує великі значення факторів у нормальних рівняннях, обмінюючи точність навчання на узагальнення для треків, які слухач ще не прослухав. Кількість ітерацій контролює, скільки почергових проходів U/V виконується; RMSE на спостережуваних навчальних записах швидко падає протягом перших кількох проходів, а потім вирівнюється в міру збіжності факторизації.

Чому RMSE на відкладеній вибірці може почати зростати, тоді як RMSE навчання продовжує падати?

RMSE навчання вимірюється на тих самих прослуховуваннях, до яких було підігнано ALS, тож з достатньою кількістю латентних факторів і проходів він може продовжувати зменшуватися до нуля. RMSE на відкладеній вибірці вимірюється на прослуховуваннях, які були навмисно виключені з підгонки, тож щойно фактори починають запам'ятовувати особливості навчальних прослуховувань замість загальної структури смаку, похибка на відкладеній вибірці може вийти на плато або повзти вгору — класична ознака перенавчання, і саме тому регуляризація λ і помірне k важливіші за гонитву за найнижчою можливою похибкою навчання.

⚙ Під капотом

Справжній метод почергових найменших квадратів над розрідженою синтетичною матрицею слухач-трек: регуляризовані нормальні рівняння в явному вигляді розв'язуються для кожного рядка методом Гауса, RMSE відстежується на навчальних і відкладених записах кожен прохід, а розкладання власних значень методом Якобі проєктує вивчені латентні фактори у 3D для живої візуалізації.

Колаборативна фільтраціяALSЛінійна алгебраRMSEPCA

3D · рушій Three.js / WebGL · ціль 60 FPS · працює повністю на клієнті, без встановлення