推荐系统
分类
-
基于内容的系统(Content-Based System) 目前的主流
- 这类系统主要考察的是推荐项的性质。例如,如果一个用户观看了同一类型的电影的多部电影,那么系统就会将数据库中的同一类型的电影推荐给该用户。
-
协同过滤系统(Collaborative Filtering System) 目前的主流
- 这类系统通过计算用户或/和项之间的相似度来推荐项。与某用户相似的用户所喜欢的项会推荐给该用户。
-
基於潜在因子技术 Latent factor based
-
其他技术。这些技术本身并不足够,有一些新的算法被证明在推荐系统中十分有效。
效用矩阵
utility matrix
X =客户组 Customers
S =项目集 Items
实用功能 Utility function u:X×SR
- R =一组评分的集合
- R是一个完全有序的集合
- 例如1-5星,实数为[0,1]
效用矩阵步骤
(1)收集矩阵的“已知”等级
Gathering “known” ratings for matrix
- 如何收集效用矩阵中的数据
(2)从已知的向外推出未知的评分 - 我们对您不满意的内容不感兴趣 但是感兴趣你喜欢什么
(3)评估外推方法 - 如何衡量推荐方法的成功/绩效
用户模型
我们不仅仅要为项建立向量表示,也需要将用户的偏好表示成同一空间下的向量。我们拥有将项和用户关联起来的效用矩阵,效用矩阵中的每个非空元素可以代表用户购买过该项或类似关系,也可以是表示用户对项的评分或喜好程度的一个任意数字。
在上述信息下,要知道用户到底喜欢哪些项,最好的估计方法就是对这些项的模型进行某种累计。如果效用矩阵仅仅包含1,那么最自然的累计方法就是用户在效用矩阵中元素为1的所有项的表示向量求平均值。
决策树
决策树是一颗组织成二叉树的节点集合。其中叶子节点代表决策,在我们的例子,决策可能是“喜欢”或者“不喜欢”。每个内部节点代表分类对象要满足一个条件,这里的条件可能是涉及一个或者多个项特征的谓词表达式。
基于内容的推荐系统
优势:
- +:不需要协同其他用户的数据
- 不用解决冷启动或稀疏问题
- +:可以向具有以下要求的用户推荐
- 个性化的风格
- +:可以推荐新的和不受欢迎的商品
- 不只是排名前的
- +:能够提供可解释性
存在的问题
- –:有一些很难找到合适特性的内容 Finding the appropriate features is hard
- 例如图像,电影,音乐
- –:没有对新用户的建议 Recommendations for new users
- 如何建立用户档案?
- –:过度专业化 Overspecialization
- 绝不推荐用户以外的商品内容
- 人们可能有多种兴趣
- 无法利用其他用户的质量判断