Skip to content

wilfordaf/VK-Test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Модель для рекомендации фильмов для VK

Для данного задания предлагается использовать полный датасет MovieLens.

Необходимо построить векторные представления (эмбеддинги) пользователей и фильмов используя нейросетевые подходы, чтобы можно было по эмбеддингу пользователя искать похожие эмбеддинги фильмов и рекомендовать ему их. При выполнении задания обратите внимание на:

  1. Разбиение данных на обучение и валидацию, обоснование
  2. Выбор и обоснование метрики
  3. Разработка архитектуры нейронной сети с пояснениями
  4. Обучение и валидация
  5. Решение должно быть воспроизводимым, в формате Jupyter Notebook (Google Colab / файл на Github) с подробными пояснениями на каждом шаге

Результат на тестовой выборке:

example_test

Пример предсказания для пользователя:

example_recommend

Выводы по работе

Я считаю, что результаты проделанной работы можно считать успешными.

На тестовой выборке невооружённым глазом видно корреляцию между реальным рейтингом и предсказанным, так что в контексте актуальной рекомендации модель справляется хорошо. Кроме того, test loss = 0.038.

В ходе тестирования функции рекомендации также можно увидеть положительный результат. Конечно, умозрительно оценить актуальность предложенного фильма из непросмотренных пользователем довольно трудно, но, как минимум, видно, что фильмы в ответе сложи между собой по тематике (Планета Земля 1 и 2 части), а также каждый из них в реальности высоко оценён большим количеством пользователей (средняя оценка на kinopoisk у предложенных пользователю фильмов ~8.5/10).

Возможные улучшения

  • Добавление данных о пользователях (пол, возраст, предпочитаемые жанры...)
  • Более тщательная настройка гиперпараметров модели, количества слоёв, функций активации
  • Подбор оптимальных функции потерь и оптимизатора
  • Увеличение количества эпох (может привести к переобучению!)