推荐系统算法.ppt
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.用户满意度
用户对推荐系统的满意度不仅仅取决于系统的准确度,而 是更多地取决于系统在多大精选程度上可以帮助用户完成任务
分类准确度
• 相应的,Nm 和 Nin 分别为未被推荐产品中用户喜欢
和不喜欢的产品数。而 Nn Nm Nin
• 为未被推荐的产品数。显然,N Ns Nn
• 准确率定义为系统的推荐列表中用户喜欢的产品
和所有被推荐产品的比率:P
Nrs Ns
• 召回率定义为推荐列表中用户喜欢的产品与系统
中用户喜欢的所有产品的比率:
精选
基于网络结构的推荐系统
• 核心思想: 不考虑用户和产品的内容特性,而仅仅把他们
看作抽象的节点,所有算法利用的信息都隐藏在 用户和产品的选择关系之中。 • 考虑一个由m个用户和n个产品构成的推荐系统, 其中如果用户i选择过产品j,就在i和j之间连接 一条边 aji 1(i 1,2,...,m;j 1、,2,..., n.), 否则aji 0 .由此,这个系统可以用一个具有m+n个节点的二 部分图表示.
精选
准确度评价指标
• 预测准确度 • 分类准确度 • 排序准确度 • 预测打分关联 • 距离标准化指标 • 半衰期效用指标
精选
预测准确度来自百度文库
• 预测准确度的一个经典度量方法就是度量 系统的预测打分和用户的实际打分的平均 绝对误差MAE
MAE
1
c
c
| via
a 1
ria
|
其中c为系统中用户i打分产品的个数,ria 为
精选
基于二部分图资源分配的推荐算 法
• 对于任意目标用户i,推荐算法的目的是把所有i 没有选择过的产品按照i喜欢的程度进行排序,并 且把排名靠前的那些产品推荐给i。
• 对于有m个用户和n个产品的一般的推荐系统,如
果用wij表示产品j愿意分配给i的资源配额,可得
到其一般表达式:
其中kj表示产品j的度(被多少用户选择过),kl 表示用户l的度(该用户选择过多少商品)
用户实际打分,via 为系统的预测打分
精选
预测准确度
• 与平均绝对误差相关的其他指标有平均平方误差 (MSE)和标准平均绝对误差(NMAE)。
• 其中 MSE
1
nt
| via
(i,a )
ria
|2
• nt 为系统中用户-产品对(i,a)的个数
• 标准平均绝对误差定义为
NMAE MAE /(r max r min)
推荐系统算法速读
• 根据推荐算法的不同,推荐系统可以分为 以下几类: ·协同过滤(collaborative filtering)系统; ·基于内容(content-based)的推荐系统; ·基于网络结构(network-based)的推荐系 统; ·混合(hybrid)推荐系统;
精选
协同过滤系统
第二种:加权平均 (用户之间越相似,则用于预测的权重 越大)
精选
基于记忆的算法
第三种:考虑用户评判的尺度不同
k=1/| sim(c,cˆ) |,sim(i,j)表示用户之间的相似度。 cˆCˆ
用户c的平均打分rc 定义为
rc (1/ | sc |) rc, s, 其中Sc {s S | rc, s 0}. sSc
• Tau越大表示系统预测结果越好
Tau
C D
(C D TR )(C D TP )
C为系统预测正确的喜好偏序数,D为预测错误的 喜好偏序数,TR为用户打分相同的产品数,TP为具 有相同预测值的产品数
精选
距离标准化指标
• 距离标准化指标,简称为NDPM,在推荐系统中,
NDPM的核心思想为:对比系统预测打分排名与用
精选
基于内容的算法
• 信息获取(TF-IDF):
设有N个文本文件,关键词ki在ni个文件中出现, 设fij为关键词ki在文件dj中出现的次数,那么ki在dj中的词频 TFij定义为
TFij 与这个关键词在文件中出现数的逆IDFi 定义为
精选
设Content(s)为产品s的配置文件,UserProfile(c )为用户c的配置文件, UserProfile(c)可以
户实际排名的偏好关系,对基于偏好关系的度量
进行标准化,具体定义如下:
NDPM
2c cu 2ci
c • 其中 为系统排序与用户排序相冲突的个数
精选
半衰期效用指标
• 在网络中用户愿意浏览推荐列表的函数呈指数衰
减。用户i的期望用Ri 定义如下:
Ri
j
max(ri, j d ,0)
2(j 1)(h 1)
• 其中 ri, j 为用户i对推荐列表中排名第j的产品打分,d为
默认打分,h为半衰期
精选
准确度之外的评价指标
1.推荐列表的流行性和多样性 • 一个产品的流行性可以用它的平均度来度量,产
品度越大,说明越流行。 • 推荐列表的多样性可以用平均海明距离来度量,
用户i和j推荐列表的海明距离被定义如下:
Hij 1 Qij / L
精选
• 最终的资源分配矢量
f ' Wf
f 为一 个n维的0/1矢量,给定的目标用户选择过 的产品上的初始资源设为1,其他设为0; W为n*n阶的矩阵。
f '按照中对应元素的大小进行排序,值越大说明
用户越喜欢该商品。
精选
推荐系统的评价指标
• 准确度(被绝大多数推荐系统采用) • 推荐列表的流行性和多样性 • 覆盖率 • 新鲜性和意外性 • 用户的满意度
·核心思想:
1.利用用户的历史信息计算用户之间的相似性; 2.利用与目标用户相似性较高的邻居对其他产品 的评价来预测目标用户对特定产品的喜好程度。 系统根据这一喜好程度来对目标用户进行推荐
·分类: ·基于记忆(memory-based)的算法
·基于模型(model-based)的算法
精选
基于记忆的算法
精选
排序准确度
• 排序准确度用于度量推荐算法产生的列表符合用 户对产品排序的程度。
• 可以用平均排序分度量推荐系统的排序准确度,
定义如下:
ri
Li N
• 其中N为训练集中用户为选择的产品个数,Li预测 集中待预测产品i在推荐列表中的位置
精选
预测打分关联
• 预测打分关联不考虑预测打分与用户打分各单项 的偏差,而是考虑两者之间整体的相关程度,推 荐系统中,3个常用的相关性描述有Pearson关联 ,Speaman关联和Kendall’s Tau。
R
Nrs Nr
,Nr
Nrs Nm
精选
分类准确度
• 另一个度量系统分类准确度的重要指标就是ROC曲 线
• 1) 确定用户对每个产品感兴趣与否。2) 根据预 测结果为用户提供一个推荐列表,从图的原点开始 ,如果预测的产品符合用户喜好,画一个竖线;如果 预测的产品不符合实际,画一个横线;如果预测产 品还没有被打分,那么抛弃这个产品,并不影响曲 线。一个最好的预测系统产生一个竖的ROC线,随 机预测产生从原点到右上角的直线。
• 计算用户评分:
设C= {c1, c2,...,cN} 为用户集合,S= {s1, s2,...,sM}
为所有的产品集合。
设 rc, s 为用户c对产品s的打分(在协同过滤算法中,用户
c对产品s的打分通过其他用户对s的打分计算而得到。) 设Cˆ 为与用户c相似度比高的用户集 第一种:直接计算邻居打分的平均值
• 其中 r min和r max 分别为用户打分区间的最小值
和最大值
精选
分类准确度
• 分类准确度定义为推荐算法对一个产品用户是否 喜欢判定正确的比例
• 广泛使用的分类准确度指标:准确率,召回率以 及相关的指标
• 其中 Ns Nrs Nis ,Nrs和Nis分别为被推荐产品
中用户喜欢和不喜欢的产品数 精选
表示该用户打过的所有分的平均值。
精选
基于记忆的算法
·用户之间相似度的计算:
·用户x与y之间的Pearson相关性:
用户x和y共同打过分的产品集合为:Sxy Sx Sy
·夹角余弦(用户x与y都用m维向量表示)
精选
优缺点
·优点 1.具有推荐新信息的能力,可以发现用户潜在但 自己尚未察觉的兴趣爱好。 2.能够推荐艺术品、音乐、电影等难以进行内容 分析的产品。
• 其中L为推荐列表的长度,Qij 为系统推荐给用户i 和j的两个推荐列表中相同产品的个数
精选
2.覆盖率
覆盖率定义为可以预测打分的产品占所有产品的比例。
3.新鲜性和意外性
在这里新鲜性和意外性具有本质的不同。例如,考虑一 个电影推荐系统,这个系统只考虑用户喜欢的导演信息。 如果系统给用户推荐了他喜欢的导演执导的一个自己并不 熟悉的电影,这个电影就是新鲜的,但是并不是意外的。如 果系统推荐了一个新导演的电影,那么系统提供了一个意 外的推荐。
·问题 1.冷启动问题(新产品、新用户) 2.打分稀疏性问题 3.算法可扩展性
精选
基于内容的推荐系统
• 核心思想:
分别对用户和产品建立配置文件,通过分析 已经购买(或浏览)过的内容,建立或更新用户 的配置文件。系统可以比较用户与产品配置文件 的相似度,并直接向用户推荐与其配置文件最相 似的产品。基于内容的推荐算法的根本在于信息 获取和信息过滤。(用户的配置文件构建与更新 是最为核心的部分之一)
用向量(wc1, wc2,...,wck) 表示,其中每个分量 wci
表示关键词 ki对用户c的重要性
在基于内容的系统中,rc, s 被定义为:
精选
优缺点
• 优点: 1.可以处理冷启动问题; 2.不受打分稀疏性问题的约束; 3.能推荐新出现的产品和非流行的产品;
·问题: 1.受到信息获取技术的约束; 2.难以从根本上解决冷启动问题。
用户对推荐系统的满意度不仅仅取决于系统的准确度,而 是更多地取决于系统在多大精选程度上可以帮助用户完成任务
分类准确度
• 相应的,Nm 和 Nin 分别为未被推荐产品中用户喜欢
和不喜欢的产品数。而 Nn Nm Nin
• 为未被推荐的产品数。显然,N Ns Nn
• 准确率定义为系统的推荐列表中用户喜欢的产品
和所有被推荐产品的比率:P
Nrs Ns
• 召回率定义为推荐列表中用户喜欢的产品与系统
中用户喜欢的所有产品的比率:
精选
基于网络结构的推荐系统
• 核心思想: 不考虑用户和产品的内容特性,而仅仅把他们
看作抽象的节点,所有算法利用的信息都隐藏在 用户和产品的选择关系之中。 • 考虑一个由m个用户和n个产品构成的推荐系统, 其中如果用户i选择过产品j,就在i和j之间连接 一条边 aji 1(i 1,2,...,m;j 1、,2,..., n.), 否则aji 0 .由此,这个系统可以用一个具有m+n个节点的二 部分图表示.
精选
准确度评价指标
• 预测准确度 • 分类准确度 • 排序准确度 • 预测打分关联 • 距离标准化指标 • 半衰期效用指标
精选
预测准确度来自百度文库
• 预测准确度的一个经典度量方法就是度量 系统的预测打分和用户的实际打分的平均 绝对误差MAE
MAE
1
c
c
| via
a 1
ria
|
其中c为系统中用户i打分产品的个数,ria 为
精选
基于二部分图资源分配的推荐算 法
• 对于任意目标用户i,推荐算法的目的是把所有i 没有选择过的产品按照i喜欢的程度进行排序,并 且把排名靠前的那些产品推荐给i。
• 对于有m个用户和n个产品的一般的推荐系统,如
果用wij表示产品j愿意分配给i的资源配额,可得
到其一般表达式:
其中kj表示产品j的度(被多少用户选择过),kl 表示用户l的度(该用户选择过多少商品)
用户实际打分,via 为系统的预测打分
精选
预测准确度
• 与平均绝对误差相关的其他指标有平均平方误差 (MSE)和标准平均绝对误差(NMAE)。
• 其中 MSE
1
nt
| via
(i,a )
ria
|2
• nt 为系统中用户-产品对(i,a)的个数
• 标准平均绝对误差定义为
NMAE MAE /(r max r min)
推荐系统算法速读
• 根据推荐算法的不同,推荐系统可以分为 以下几类: ·协同过滤(collaborative filtering)系统; ·基于内容(content-based)的推荐系统; ·基于网络结构(network-based)的推荐系 统; ·混合(hybrid)推荐系统;
精选
协同过滤系统
第二种:加权平均 (用户之间越相似,则用于预测的权重 越大)
精选
基于记忆的算法
第三种:考虑用户评判的尺度不同
k=1/| sim(c,cˆ) |,sim(i,j)表示用户之间的相似度。 cˆCˆ
用户c的平均打分rc 定义为
rc (1/ | sc |) rc, s, 其中Sc {s S | rc, s 0}. sSc
• Tau越大表示系统预测结果越好
Tau
C D
(C D TR )(C D TP )
C为系统预测正确的喜好偏序数,D为预测错误的 喜好偏序数,TR为用户打分相同的产品数,TP为具 有相同预测值的产品数
精选
距离标准化指标
• 距离标准化指标,简称为NDPM,在推荐系统中,
NDPM的核心思想为:对比系统预测打分排名与用
精选
基于内容的算法
• 信息获取(TF-IDF):
设有N个文本文件,关键词ki在ni个文件中出现, 设fij为关键词ki在文件dj中出现的次数,那么ki在dj中的词频 TFij定义为
TFij 与这个关键词在文件中出现数的逆IDFi 定义为
精选
设Content(s)为产品s的配置文件,UserProfile(c )为用户c的配置文件, UserProfile(c)可以
户实际排名的偏好关系,对基于偏好关系的度量
进行标准化,具体定义如下:
NDPM
2c cu 2ci
c • 其中 为系统排序与用户排序相冲突的个数
精选
半衰期效用指标
• 在网络中用户愿意浏览推荐列表的函数呈指数衰
减。用户i的期望用Ri 定义如下:
Ri
j
max(ri, j d ,0)
2(j 1)(h 1)
• 其中 ri, j 为用户i对推荐列表中排名第j的产品打分,d为
默认打分,h为半衰期
精选
准确度之外的评价指标
1.推荐列表的流行性和多样性 • 一个产品的流行性可以用它的平均度来度量,产
品度越大,说明越流行。 • 推荐列表的多样性可以用平均海明距离来度量,
用户i和j推荐列表的海明距离被定义如下:
Hij 1 Qij / L
精选
• 最终的资源分配矢量
f ' Wf
f 为一 个n维的0/1矢量,给定的目标用户选择过 的产品上的初始资源设为1,其他设为0; W为n*n阶的矩阵。
f '按照中对应元素的大小进行排序,值越大说明
用户越喜欢该商品。
精选
推荐系统的评价指标
• 准确度(被绝大多数推荐系统采用) • 推荐列表的流行性和多样性 • 覆盖率 • 新鲜性和意外性 • 用户的满意度
·核心思想:
1.利用用户的历史信息计算用户之间的相似性; 2.利用与目标用户相似性较高的邻居对其他产品 的评价来预测目标用户对特定产品的喜好程度。 系统根据这一喜好程度来对目标用户进行推荐
·分类: ·基于记忆(memory-based)的算法
·基于模型(model-based)的算法
精选
基于记忆的算法
精选
排序准确度
• 排序准确度用于度量推荐算法产生的列表符合用 户对产品排序的程度。
• 可以用平均排序分度量推荐系统的排序准确度,
定义如下:
ri
Li N
• 其中N为训练集中用户为选择的产品个数,Li预测 集中待预测产品i在推荐列表中的位置
精选
预测打分关联
• 预测打分关联不考虑预测打分与用户打分各单项 的偏差,而是考虑两者之间整体的相关程度,推 荐系统中,3个常用的相关性描述有Pearson关联 ,Speaman关联和Kendall’s Tau。
R
Nrs Nr
,Nr
Nrs Nm
精选
分类准确度
• 另一个度量系统分类准确度的重要指标就是ROC曲 线
• 1) 确定用户对每个产品感兴趣与否。2) 根据预 测结果为用户提供一个推荐列表,从图的原点开始 ,如果预测的产品符合用户喜好,画一个竖线;如果 预测的产品不符合实际,画一个横线;如果预测产 品还没有被打分,那么抛弃这个产品,并不影响曲 线。一个最好的预测系统产生一个竖的ROC线,随 机预测产生从原点到右上角的直线。
• 计算用户评分:
设C= {c1, c2,...,cN} 为用户集合,S= {s1, s2,...,sM}
为所有的产品集合。
设 rc, s 为用户c对产品s的打分(在协同过滤算法中,用户
c对产品s的打分通过其他用户对s的打分计算而得到。) 设Cˆ 为与用户c相似度比高的用户集 第一种:直接计算邻居打分的平均值
• 其中 r min和r max 分别为用户打分区间的最小值
和最大值
精选
分类准确度
• 分类准确度定义为推荐算法对一个产品用户是否 喜欢判定正确的比例
• 广泛使用的分类准确度指标:准确率,召回率以 及相关的指标
• 其中 Ns Nrs Nis ,Nrs和Nis分别为被推荐产品
中用户喜欢和不喜欢的产品数 精选
表示该用户打过的所有分的平均值。
精选
基于记忆的算法
·用户之间相似度的计算:
·用户x与y之间的Pearson相关性:
用户x和y共同打过分的产品集合为:Sxy Sx Sy
·夹角余弦(用户x与y都用m维向量表示)
精选
优缺点
·优点 1.具有推荐新信息的能力,可以发现用户潜在但 自己尚未察觉的兴趣爱好。 2.能够推荐艺术品、音乐、电影等难以进行内容 分析的产品。
• 其中L为推荐列表的长度,Qij 为系统推荐给用户i 和j的两个推荐列表中相同产品的个数
精选
2.覆盖率
覆盖率定义为可以预测打分的产品占所有产品的比例。
3.新鲜性和意外性
在这里新鲜性和意外性具有本质的不同。例如,考虑一 个电影推荐系统,这个系统只考虑用户喜欢的导演信息。 如果系统给用户推荐了他喜欢的导演执导的一个自己并不 熟悉的电影,这个电影就是新鲜的,但是并不是意外的。如 果系统推荐了一个新导演的电影,那么系统提供了一个意 外的推荐。
·问题 1.冷启动问题(新产品、新用户) 2.打分稀疏性问题 3.算法可扩展性
精选
基于内容的推荐系统
• 核心思想:
分别对用户和产品建立配置文件,通过分析 已经购买(或浏览)过的内容,建立或更新用户 的配置文件。系统可以比较用户与产品配置文件 的相似度,并直接向用户推荐与其配置文件最相 似的产品。基于内容的推荐算法的根本在于信息 获取和信息过滤。(用户的配置文件构建与更新 是最为核心的部分之一)
用向量(wc1, wc2,...,wck) 表示,其中每个分量 wci
表示关键词 ki对用户c的重要性
在基于内容的系统中,rc, s 被定义为:
精选
优缺点
• 优点: 1.可以处理冷启动问题; 2.不受打分稀疏性问题的约束; 3.能推荐新出现的产品和非流行的产品;
·问题: 1.受到信息获取技术的约束; 2.难以从根本上解决冷启动问题。