Надо как-то фильтровать..
Введем обозначения:
Интерпретация:
Мотивация
Для целевого пользователя $u$ найти похожих пользователей $N(u)$ $$ \hat{R}_{ui} = \bar{R}_u + \frac{\sum_{v \in N(u)} s_{uv}(R_{vi} - \bar{R}_v)}{\sum_{v \in N(u)} \left| s_{uv}\right|} $$
$\bar{R}_u$ - поправка на писсимизм\оптимизм пользователей
Для каждой пары $(u,v)$ надо пересечь множество оцененных товаров
Корреляция пирсона $$ s_{uv} = \frac{\sum\limits_{i \in I_u\cap I_v} (R_{ui} - \bar{R}_u)(R_{vi} - \bar{R}_v)}{\sqrt{\sum\limits_{i \in I_u\cap I_v}(R_{ui} - \bar{R}_u)^2}\sqrt{\sum\limits_{i \in I_u\cap I_v}(R_{vi} - \bar{R}_v)^2}}$$
Доселе никак не использовались признаки пользователей и товаров
Для каждого пользователя и товара построим векторы $p_u\in \mathbb{R}^{k}$ и $q_i \in \mathbb{R}^{k}$ так, чтобы $$ R_{ui} \approx p_u^\top q_i $$
Кроме того, в полученном пространстве, можно считать похожесть пользователей и товаров
Для любой матрицы $X$ размера $n \times d$ и ранга $r$ можно найти разложение вида: $$ X = U \Sigma V^\top ,$$ где