Регистрация / Вход
Прислать материал

Разработка математической модели и программного обеспечения для рекомендательной системы в области киноиндустрии

ФИО
Белов Александр Сергеевич
Электронная почта
84b06701b20ipritoflex@yandex.ru
Номинация
Информационные технологии
Институт
Институт информационных технологий и автоматизированных систем управления (ИТАСУ)
Кафедра
Инженерной кибернетики
ФИО научного руководителя
доц. к.т.н. Кожаринов А.С.
Академическая группа
ММ-12-2
Наименование тезиса
Разработка математической модели и программного обеспечения для рекомендательной системы в области киноиндустрии
Тезис

С экспоненциальным ростом цифровой среды все чаще появляется необходимость в рекомендательных системах, которые бы помогали человеку на основании его интересов, предпочтений и вкусов выбрать наиболее близкие ему объекты.

Целью данной работы является разработка математический модели и программного обеспечения для контекстных рекомендаций продуктов киноиндустрии на основе оценок пользователей.

Исходные данные – пользователи 1…N и объекты 1…M. Построена матрица рейтингов \(R \in \mathbb{R}^{NxM}=(r_{i, a})\), где \((r_{i, a})\), – оценка пользователем \(i\) объекта \(a\). Соответственно, в данной работе необходимо решить следующую задачу – спрогнозировать оценку или предпочтение, которое пользователь отдаст предмету.

Предлагается использовать SVD (Singular Value Decomposition) разложение матриц для оценок пользователей, чтобы, во-первых, существенно снизить размерность векторного пространства. Во-вторых, отбросить малые искажения, предоставляя высококачественные рекомендации.

Метод заключается в следующем: необходимо разложить матрицу \(A \in M({n, m})\) в произведение матриц меньшего ранга.

\(A = UDV^{T}\)(1)

где матрицы \(U \in M(n, d)\) и \(V \in M(m, d)\) состоят из столбцов, являющихся собственными векторами при ненулевых собственных значениях матриц \(AA^T\) и \(A^TA\) соответственно и \(U^TU=V^TV=I\), а \(D\in M(d,d)\),

\(D = \begin{pmatrix} a_1 & 0 & 0\\ 0 & ... & 0\\ 0 & 0 & a_d \end{pmatrix}\) – диагональная матрица с положительными диагональными элементами, отсортированными в порядке убывания.

Диагональные элементы матрицы D представляют собой собственные значения, соответствующие ненулевым собственным векторам \(AA^T\) и \(A^TA\) (столбцам U и V). Столбцы матрицы U представляют собой, ортонормальный базис пространства столбцов матрицы A, а столбцы матрицы V – ортонормальный базис пространства строк матрицы A. Важным свойством SVD-разложения является тот факт, что \(A_k=U_kD_kV_{k}^T\) будет являться лучшей аппроксимацией матрицы A относительно нормы Фробениуса среди всех матриц с рангом k, т.е.

\(\left \| A-A_k \right \|\leq \left \| A-A^{'} \right \|\)

\(\forall A^{'}\in M(n,m)\)

\(rank(A^{'})=k\)

Применительно к задаче коллаборативной фильтрации, SVD можно использовать в таком порядке:

1. Построить разложение (1);

2. Зафиксировать некоторое число скрытых факторов k.

3. Получить лучшую k-ранговую аппроксимацию матрицы A и спрогнозировать рейтинг пользователя u товару i, вычисляя их скалярное произведение:

\(\hat{r_{u,i}}=r_i*r_u=r_{i}^{T}*r_u\)