4.2.2 基于用户的协同算法
- 给每个商品建立用户的矩阵
- 计算用户之间的相似度
- 取和当前用户最相似的用户,把他们购买的物品推荐给当前用户
4.2.3 基于用户协同和基于物品协同的区别
- 从推荐的场景考虑
ItemCF | UserCF |
---|---|
基于物品相似度 | 基于用户相似度 |
用户数>>商品数 | |
购物网站、图书、电子商务、电影网站 | 新闻、博客、社交网络 |
个性化 | 关注社会化、兴趣小组、多维度 |
内容相对稳定 | 内容更新频率高 |
有推荐理由 | |
多样性强、新颖性、发现长尾 | 推荐热门 |
4.2.4 基于矩阵分解的推荐方法
- 矩阵分解
特征值、特征向量
A x = λ x Ax=λx Ax=λx
左边:矩阵 A A A是一个 n ∗ n n*n n∗n的矩阵, x x x是一个 n n n维向量
右边:则 λ λ λ是矩阵 A A A的一个特征值, x x x是矩阵 A A A的特征值 λ λ λ对应的特征向量。
λ λ λ是特征值
x x x是特征向量
特征向量的几何含义是:特征向量 x x x通过方阵 A A A变换只进行缩放,而方向并不会变化。
如果可以求得矩阵 A A A的 n n n个特征值,则可以得到对角矩阵 Σ \Sigma Σ ,
那么矩阵 A A A的特征分解: A = U Σ U − 1 A=U \Sigma U^{-1} A=UΣU−1
其中, U U U是这 n n n个特征向量组成的 n ∗ n n*n n∗n维矩阵 - 奇异值
如果 A A A不是方阵,采用的分解方法是奇异值分解。SVD
假设 A A A是一个 m ∗ n m*n m∗n的矩阵,那么 A A A的特征分解是: A = U Σ V T A=U\Sigma V^{T} A=UΣVT
这里需要了解一下相关内容