社会化推荐
基于内容的推荐
基于协同过滤的推荐
推荐算法的本质是用过一定的方式将用户和物品联系起来,而不同的推荐系统利用了不同的方式。
个性化推荐系统
通过分析大量童虎的行为日志,给不同的用户提供不同的个性化页面展示,来提高网站的点击率和转化率 电子商务、电影和视频、音乐、社交网络、阅读、基于位置的服务、个性化邮件和广告
电子商务:
亚马逊包含:1.推荐结果的标题、缩略图以及其他内容属性
2.推荐结果的平均分
3.推荐理由
4.推荐相关列表
电影和视频网站:Netflix:基于物品的推荐算法
音乐推荐:
1.物品空间大
2.消费每首歌的代价很小
3.物品种类丰富
4.听一首歌耗时很少
5.物品重用率很高
6.用户充满激情
7.上下文相关 次序很重要
8.很多播放列表资源
9.不需要用户全神贯注
10.高度社会化
个性化阅读:
两个因素:第一,互联网上的文章非常多,用户面临信息过载。第二,用户很多时候没有必须看某篇具体文章的需求,知识想通过阅读特定领域的文章了解这些领域的动态。
个性化广告:
1.上下文广告
2.搜索广告
3.个性化展示广告
个性化推荐的成功应用需要两个条件:
第一是存在信息过载
第二是用户大部分时候没有特别明确的需求
推荐系统评测:
三个参与方:用户、物品提供者、提供推荐系统的网站
推荐系统的试验方法
离线实验:
(1) 通过日志系统获得用户行为数据,并按照一定格式生成一个标准的数据集
(2) 将数据集按照一定的规则分成训练集和测试集
(3) 在训练集上训练用户兴趣模型,在测试集上进行测试
(4) 通过实现定义的离线指标评测算法在测试集上的预测结果
好处:不需要真实用户参与 可以直接快速的计算出来,方便快速的测试大量不同的算法
缺点:无法获得很多商业上关注的指标:点击率、转化率
用户调查:需要尽量保证测试用户的分布和真实用户的分布相同,比如:男女各半,年龄,活跃程度的分布都和真实用户分布尽量相同。 尽量保证是双盲实验,不要让实验人员和用户事先知道测试的目标,避免用户的回答和实验人员的测试受主观成分的影响。
优点:获取到很多体现用户主观感受的指标
相对在线实验风险很低
出现错误后很容易弥补
缺点:招募测试用户代缴较大
很难组织大规模的测试用户,因此会使测试结果的统计以及不足
设计双盲实验非常困难
在线实验:
AB测试:优点:可以公平获取不同算法实际在线时的性能指标,包括商业上关注的指标
缺点:周期比较长,必须进行长期的实验才能得到可靠的结果
一个新的推荐算法最终上线需要完成上述三个实验:
(1) 通过离线实验证明他在很多离线指标上由于现有的算法
(2) 通过用户调查确定他的用户满意度不低于现有的算法
(3) 通过在线的AB测试确定他在我们关系的指标上优于现有的算法
测试指标:
1.用户满意度:没有办法离线计算,只能通过用户调查或者在线实验获得。主要是通过调查问卷。
2.预测准确度:评分预测:均方根误差( RMSE)和平均绝对误差( MAE)计算一个用户u和物品i,令rui是用户u对物品i的实际评分,而 rˆui 是推荐算法给出的预测评
分,
TopN推荐:一般是给用户一个个性化的推荐列表,一般通过准确率(precision)/召回率(recall) 度量
覆盖率:描述一个推荐系统对五篇长尾的发掘能力
覆盖率是一个内容提供商会关心的指标。
多样性:假设s (i , j) [0,1]定义了物品i和j之间的相似度,那么用户u的推荐列表R(u)的多样性定义如下
新颖性:给用户推荐他们以前没有听说过的物品
惊喜度:
信任度:提高信任度的方法:(1)增加推荐系统的透明度
(2)考虑用户的社交网络信息
实时性:
健壮性
商业目标
利用用户行为数据
用户行为数据在网站上最简单的存在形式就是日志。
用户行为在个性化推荐系统中一般分为两种——显性反馈行为和隐性反馈行为
显性反馈行为包括用户明确表示对物品洗好的行为
隐性反馈行为是指那些不能明确发硬用户喜好的行为。 代表性的行为:页面浏览行为
按照反馈的方向分:正反馈和负反馈
产生行为的用户和行为的对象、行为的种类、产生行为的上下文、行为的内容和权重
表2-3 用户行为的统一表示
user id 产生行为的用户的唯一标识
item id 产生行为的对象的唯一标识
behavior type 行为的种类(比如是购买还是浏览)
context 产生行为的上下文,包括时间和地点等
behavior weight 行为的权重(如果是观看视频的行为,那么这个权重可以是观看时长;如果是打分行为,这个权重可以是分数)
Behavior content 行为的内容(如果是评论行为,那么就是评论的文本;如果是打标签的行为,就是标签)
无上下文信息的隐性反馈数据集:每一条行为记录仅仅包换用户ID 和物品ID
无上下文信息的显性反馈数据集:每一条记录包含用户ID 物品ID和用户对物品的评分
有上下文信息的隐性反馈数据集:每一条记录包含用户ID 物品ID 和用户对物品产生行为的时间戳
有上下文信息的线性反馈数据集:每一条记录包含用户ID 物品ID 用户对物品的评分 和评分行为发生的时间戳
用户行为分析
用户活跃度和物品流行度的分布 长尾分布
用户活跃度和物品流行度的关系
基于用户的协同过滤算法 给用户推荐和他兴趣相似的其他用户喜欢的物品
基于物品的协同过滤算法 给用户推荐和他之前喜欢的物品相似的物品
2.4 基于邻域的算法
基于用户的协同过滤算法
基于物品的系统过滤算法
基于用户的系统过滤算法
当A 需要个性化推荐时,可以先找到和他有相似兴趣的其他用户,然后把这些用户喜欢的 而用户A 没有听说过的物品推荐给A
两个步骤:
(1)找到和目标用户兴趣相似的用户集合
(2)找到这个集合中的用户喜欢的,且目标用户没有听说过的物品推荐给目标用户
UserCF只有一个重要的参数K ,即为每个用户选出K个和他兴趣醉相思的用户,然后推荐那K个用户感兴趣的物品