- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
主题多样性 目标函数优化 推荐解释多样性 优先—中心点方法 二次排序法 用户模型分割 用户相似性幂律调节
后向过滤法 前向过滤法
主题多样性算法对协同过滤算法产生的推荐 列表进行优化,得到多样性程度较好的推荐列表。
在推荐邻居不变的情况下,扩大推荐列表项 目候选集,然后考察候选集中项目之间的多样性, 推选多样性较好的N个项目作为最终的推荐项目。
提高“利基”项目被推荐的概率; 推荐列表避免限于用户的局部兴趣; 发现用户的潜在兴趣。
如何提高“利基”项目被推荐的概率?
使用逆用户频率
降低热门项目被推荐的概率,增加“利基” 项目的权重。
如何避免限于局部兴趣?
借用用户模型分割和优先-中心点方法 的思想。
平衡各兴趣类,在选择候选物品时, 遵循贪心策略:选择当前可供推荐的候选 物品中推荐期望最小的类。
如何发现潜在兴趣?
Q&A
请多多指导!
也就是找到函数y* ,使其满足以下公式。
推荐解释告诉用户他们为什么会被推荐某个项目, 是一个很好的增加系统可信度的方法。
在基于项目的推荐系统中,项目i被推荐给用户u的解 释可以定义为:
Expl(u,i)={i'∈I|ItemSim(i,i’)>0&i'∈Items(u)}
在基于用户的推荐系统中,其解释可以定义为:
推荐系统的多样性研究
汇报人:林皓 时间:2016/10/31
简介
基于用户行为的协同过滤算法研究
基于用户行为影响力的协同过滤算法 用户行为相似性度量方法
基提于高用推户荐行多为样习性惯的的协协同同过过滤滤算算法法
目录
引言 推荐系统的多样性研究 总结与展望
引言
多样性 准确性
新颖性
覆盖率
……百度文库
平均度主要考察推荐系统推荐新颖项目的能 力。给定一个项目α,一个随机选择的用户已经 收藏它的概率为kα/u,其度就是Iα=Log2(u/kα)。 这样,就可以得到Top-N个项目的平均度。一般 来说,平均度越高,系统越趋向于推荐流行的产 品,推荐多样性越差。
SSD指推荐项目没有被包括在以前的推荐列 表中的比例,主要考察推荐结果的时序多样性。
推荐系统
图1 长尾模型
什么是推荐系统的多样性?
推荐系统中,多样性主要包括:
个体多样性 总体多样性 时序多样性
个体多样性从单个用户的角度来度量推荐的 多样性,主要考察系统能够找到用户喜欢的冷门 项目的能力。
总体多样性主要强调针对不同用户的推荐应 尽可能地不同。
时序多样性是指用户兴趣的动态进化或者用 户情境的变时。与过去的推荐相比,新的推荐体 现出多样性,
实验
数据集:
阿里音乐流行趋势预测大赛
用户行为表(mars_tianchi_user_actions)
列名
类型 说明
示例
user_id
String 用户唯一标识 7063b3d0c075a4d276c5f06f4327cf4a
song_id
String 歌曲唯一标识 effb071415be51f11e845884e67c0f8c
推荐系统的多样性问题可以被看成是求解两个分别反 映偏好相似性和项目多样性的目标函数所构成的共同最
优问题。假设C={c1,…,cM}是候选集,R是C的子集,可以 用一个M维指标向量y来表示。如果ci∈R,则yi = 1; 否则, yi=0。D是一个M×M的距离矩阵,其元素为d(ci, cj),p是
R中项目的个数。R的多样性可以表示为一个二次式:
如果rep(i)是Ik中的一个项目,其得分大于或 等于项目i的得分,且rep(i)与i的距离非常接近
(∀j∈Ik(j≠i), dist(I, j)<dist(I, rep(i))),将由多个 rep(i)组成的项目集称为Ik的优先-中心点。在此 基础上,有效提高了推荐列表的多样性。
使用基于项目流行程度的排序方法和参数排 序方法对候选推荐列表进行二次排序,提高推荐 结果的总体多样性。
如何度量推荐系统的多样性?
推荐系统多样性的主要度量指标:
ILS( intra-list similarity) 海明距离( Hamming distance) 平均度( mean self-information) SSD( self-system diversity) 集中指数( concentration index) 覆盖率( coverage)
gmt_create String 用户播放时间 1426406400
action_type String 行为类型
1
Ds
String 记录收集日
20150315
创建用户-项目评分矩阵: 利用行为得到评分
如何利用行为得到评分?
用户角度:如果
,
那么认为
较高。
歌曲角度:如果
,
那么认为
较高。
综合:
我的想法
其中,Rt-1是R的上一次推荐, R/Rt-1={x∈R|x∉ Rt-1} 。SSD 值越小,推荐列表 的时序多样性越好。
如何提高推荐系统的多样性?
部分学者采用
二次优化方法 信息物理方法 社会化网络方法 时间感知方法
来研究推荐系统的多样性,取得了一定的 进展。
二次优化方法采用启发式的策略对传统推荐 方法得到的候选推荐列表进行优化,这些策略主 要有:
Expl(u,i)={u’∈U|UserSim(u,u’)>0&i∈Items(ui)} 如果推荐解释是多样的,那么推荐结果也是多样的, 通过推荐那些系统排名较高且推荐解释多样性距离较长 的项目可以实现推荐结果精确性和多样性之间的平衡。
优先—中心点方法对候选推荐列表中的项目 进行聚类,给定一个推荐候选项目集I。该候选 集可以分为K个子集,每个子集都拥有一个中心 点。
基于项目流行程度的排序方法:
参数排序方法使用参数TR去平衡推荐结果的 精确性和多样性:
用户模型分割利用用户兴趣模型中局部之间
的相似性,将模型分割成很多具有相似项目的M
个聚类
,让推荐候选集与每一个聚类进行
匹配,增加了推荐结果的多样性。
fs表示项目集中的平均两两相似性。
基于用户的协同过滤方法假设在过去拥有相 似偏好的用户在未来也拥有相似的兴趣偏好。但 是,由于一些流行物品的影响,这种推荐方法也 存在着局限性。为此,有学者使用用户相似性幂 律调节。
ILS主要指针对单个用户,一般来说,ILS值 越大,推荐列表多样性效果越差。
其中,i 和j 是推荐列表中的项目,k 是推荐项目 的个数。
用户i和j的推荐列表的海明距离为:
其中,L为推荐列表的长度,Qij为系统推荐给用 户i和j的两个推荐列表中相同产品的个数。推荐 列表的多样性就是Hij的平均值,其越大,多样性 程度越高。
给定一个用户相似性模型S=(sjk)U×U,使用一 个幂函数tjk=αsβjk(1≤j,k≤U)去调整矩阵中的每 一个元素,从而可以得到一个新的用户相似性矩 阵T=(tjk)U×U。其中,α和β分别是幂函数的规模 因子和指数。
在上述介绍的二次优化方法中,用户模型分 割、用户相似性幂律调节方法属于前向过滤方法, 也就是先对用户需求模型或用户相似性矩阵进行 调整,再利用传统的推荐算法得到推荐结果; 主 题多样性、目标函数优化、推荐解释多样性、优 先-中心点方法和二次排序法属于后向过滤方法, 也就是先利用传统的推荐算法得到候选推荐列表, 再利用相关方法对结果进行过滤。