基于用户的协同过滤算法的推荐系统介绍
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(1)以网页为推荐对象的系统。这类推荐系统主要采用web数据挖掘的理论和技术来分析用户的行为习 惯、兴趣爱好等特点,向用户推荐用户可能会喜爱的项目(网页链接)。这类推荐系统在音乐或电影类网站最常 见,比如推荐相关音乐、电影、歌手、演员等,能够吸引用户兴趣,提高用户满意度。
(2)以产品为主要推荐对象的系统。这类推荐系统在电子商务网络购物环境中最长使用,主要功能是向用 户推荐他们可能会感兴趣的商品。这类推荐系统除了带给用户更好的购物体验,同时能提高产品销售量,增加 网站收益。
其中sim(i,j)表示用户i与用户j之间的相似性,������������,������表示最近邻居用户j对项目d 的评分,������������ 和���ഥ��������� 分别表示用户i和用户j的平均评分,公式(1)的实质是在用户的最 近邻居集NESi中查找用户,并将目标用户与查找到的用户的相似度的值作为权值, 然后将邻居用户对该项目的评分与此邻居用户的所有评分的差值进行加权平 均。
个性化推荐服务就是针对此类问题提出来的,根据不同用户的行为、
信息、习惯、喜好等特点,提供各自不司的服务。
目前,各大型纯商务网站,例如Dangdang、Amazon、Taobao、Tmall等,
都不同程度地使用了推荐系统,用以向用户推荐商品,提高经济效益。
2.个性化推荐技术
个性化推荐系统的使用对象是用户,推荐对象是项目(Item),比如音乐、电影、商品等。根据推荐对象的 特点,可以将目前的推荐系统分为两类:
其中,������������,������,表示用户i对项目d的评分, ���ഥ���������和���ഥ���������分别表示用户i和用户j对项目 的平均评分。
本系统选择相似度最高的十个用户作为最近邻居。 本文在原型系统中采用的是余弦相似性计算的用户相似性,选出十个最近 邻居。
③产生推荐项目:计算方法如下 :
5.电影推荐系统的实现构想
系统模块结构概述
电影管理:主要包括电影查询、修改、删除和添加。管理员根据需要搜 集电影信息,然后整理综合添加到系统中,管理员还可以根据电影名査询 电影信息,如果电影信息有出入可以进行修改,还可以将该电影删除。
这一管理过程为系统提供了推荐信息。 电影推荐:主要基于用户的协同过滤推荐,电影推荐模块会根据用户行为
通过上述方法预测出目标用户对未评价项目的评分,然后选择预测评分最 高的 TOP-N项推荐给目标用户。
3.基于用户的协同过滤算法存在的问题及解决方案
基于用户的协同过滤虽然当给出足够清楚的偏好信息时,它通常表现出良好的性能,但随着站点 结构,内容的复杂度和用户人数的不断增加,一些缺点逐渐暴露出来,主要存在稀疏性问题、可扩展 性问题,也有人提出传统的协同过滤不能反映用户兴趣的变化等问题。这些问题都大大影响了系统的 性能,为用户和商家带来不便,针对协同过滤表现出的各种问题,学者们提出了多种解决方案,有基 于模糊聚类的可扩展的协同过滤算法,基于用户等级的协同过滤推荐算法,适应用户兴趣变化的协同 过滤推荐算法,压缩稀疏用户评分矩阵的协同过滤算法,个性化服务中基于用户聚类的协同过滤推荐 等。
3.基于用户的协同过滤推荐
基于用户的协同过滤[ (User-based CF)又称 KNN (K-NearestNeighbor,K最近邻)算法,其基本思想是利用与目标用户具有相同(或 相似)兴趣爱好的用户的观点向目标用户提供商品推荐或评分预测。
基于用户的协同过滤算法的基本思想 其基本思想是:通过计算用户对项目评分之间的相似性,搜 索目标用户的最近邻居,然后根据最近邻居的评分向目标用户产 生推荐。
3.基于用户的协同过滤推荐
②寻找最近邻居:在这一阶段,主要完成对目标用户最近邻居的 查找。通过计算目标用户与其他用户之间的相似度,算出与目标用户 最相似的“最近邻居”集。即:对 目标用户i产生一个以相似度sim(i,j)递 减排列 的“邻居”集合。该过程分两步完成: 首先计算用户之问的相 似度,可采用皮尔森相关系数、余弦相似性和修正的余弦相似性等度 量方法 ,其次是根据如下方法选择“ 最近邻居”:(1)选择相似度大于 设定阈值的用户;(2)选择相似度最大的前 k个用户;(3) 选择相似度大 于预定阈值的 k个用户。
其中,分子为两个用户评分向量的内积,分母为两个用户向量模的 乘积。
相关相似性(CORRELATION)
设用户i和用户j共同评分过的项目集合用������������������表示, ������������������=������������⊓������������,则用 户i和用户j之间的相似性sim(i,j)通过Pearson相关系数度量:
截止至2011年底,全球博客(blog)数量已经达1.81亿。 在国内,拥有博客(或个人空间)的网民比例达42.3%,用户规模达1.07亿,其 中活跃用户数超过7000万人。 腾讯QQ的活跃账户数量达到3亿,同时在线人数达到3000万。 中国网站总数为230万个。 可见,在如今这个高速发展的信息时代,人们的生活与五联网的关系越来 越紧密,互联网己经成为人们获取信息的一个重要途径。
推荐系统介绍
——基于用户的协同过滤算法的 电影推荐系统
成员:塔娜 郭静 戈文豹
目 录
一. 推荐系统研究背景 二. 个性化推荐技术 三. 基于用户的协同过滤推荐算法 四. 电影推荐系统 五. 电影推荐系统实现构想
1. 推荐系统研究背景
近年来,社会信息趋向于数字化、网络化,通过各种互联网络联系起来的 人越来越多,互联网网民日益增加。互联网上的信息源越來越丰富,包括电子 邮件、Web数据、客户项目等信息,这些信息构成了社会网络。我国的互联网 用户数也与日俱增,已发展到一个很客观的数字。
互联网信息的日益庞大与大量用户的需求形成了巨大矛盾。人们需要 花费大量的时间去搜索和选择各自所需的项目。因此,各种知名的搜索引 擎已经成为人们寻找项目的必备工具,如Google、Yahoo、Soso、Baidu、 Sogou等。当用户搜索信息是,搜索引擎就在数据库中搜索,找到相应的网 站,按一定顺序反馈给读者。显然,搜索引擎是一种“一对多”的工具,它只 能区分不同的搜索语句,忽略了重要的用户信息,对不同的用户不会推荐不 同的项目。
协同过滤推荐系统存在的一些弊端:
(1)数据稀疏性问题,这也是协同过滤系统目前存在的最为普遍的问题, 大多数用户只评价了部分项目,这样导致用户-评分矩阵十分稀疏,这样 不利于推荐系统为用户推荐信息;
(2)冷启动问题。新产品没有任何用户的评分,在协同过滤中是无法推 荐的。新用户没有历史信息,也是无法推荐的。当一个新项目刚加入系 统的时候,由于没有任何用户对它评分,该项目便无法得到推荐。
推荐系统首先收集用户的历史行为数据,然后通过预处理的方法得到用户-评价矩阵,再利用机器学习领 域中相关推荐技术形成对用户的个性化推荐。有的推荐系统还搜集用户对推荐结果的反馈,并根据实际的反 馈信息实时调粮推荐策略,产生更符合用户需求的推荐结果。
个性化推荐系统流程图:
3.基于用户的协同过滤算法
协同过滤算法,顾名思义就是指用户可以齐心协力,通过不 断的和网站互动,是自己的推荐列表能够不断过滤掉自己不 感兴趣的物品,从而越来越满足自己的需求。
3.基于用户的协同过滤推荐算法:
基于邻域的方法是协同过滤算法中应用最为广泛的一种。 基于邻域的方法比较直观,容易理解。这类方法使用统计技术寻找与目
标用户有相同或相似兴趣偏好的邻居,根据邻居用户的评分来预测目标 用户对项目的评分值,选取预测评分最高的前N个项目作为推荐集反馈 给目标用户。它的中心思想是有相同兴趣或偏好的用户往往会对同样 的项目感兴趣,这也非常符合人们的心理。这类方法的核心是要准确计 算目标用户的邻居,也就是用户相似性,所以也称为基于用户(Userbased)的协同过滤方法。类似地,可以考虑项目之间的相似性,使用目标 用户评价过的项目合集来预测用户可能感兴趣的其它项目,这类方法称 为基于项目 (Item-based)的协同过滤方法。
典型的协同过滤算法是基于用户的。
协同过滤推荐算法的实现过程分为3步: 建立用户模型、寻找最近邻居和产 生推荐项目。
①建立用户模型: 协同过滤算法的输入数据通常表示为一个 m*n 的用户 一 评价矩阵R,m是用户数,n是项目数,其中������ij表示第i个用户对第j个项目的评 分值:
这里的评分值可以是用户的浏览次数,购买次数等隐式的评分,还可以采 用显示评分,如用户对商品的直接评分,本算法的实现是采用用户对所购买商 品的直接评分作为评分矩阵中评分值的。
(打分和相似度)的不同进行不同推荐,如果是新用户没有历史信息记 录那么只能显示当前热播电影;如果不是新用户那么该用户就有历史信 息记录,系统根据这些历史信息为该用户推荐电影。
通常在电子商务网站中,用户购买或评分的商品相对于总商品数量仅占有限的百分比,为总数量 的1%以下,这导致用户-项目评分数据集稀疏。在这种数据量大而评分数据又极端稀疏的情况下,一 方面难以成功的定位邻居用户集,影响推荐精度;另一方面在整个用户空间上计算相似用户群的过程 不可避免地成为了算法的瓶颈,继而增加了响应时间。
用户行为分析: a.用户活跃度和物品流行度分布:很多关于互联网数据的研
究发现,互联网上的很多数据分布都满足一种称为Power Law 的 分布,这个分布在互联网领域也叫长尾分布。
f(x)=α������������ b.用户活跃度和物品流行度的关系:一般认为,新用户倾向 于浏览热门的物品,因为他们对网站还不熟悉,只能点击首页 的热门物品,而老用户会逐渐开始浏览冷门的物品。
其中,������������,������,表示用户i对项目d的评分, , ���ഥ���������和���ഥ���������分别表示用户i和用 户j对所打分项目的平均评分。
修正的余弦相似性(ADJUSTED COSINE)
在余弦相似性度量方法中,没有考虑不同用户的评分尺度问题,修正的余 弦相似性度量方法通过减去用户对项目的平均评分改善这一缺陷。设用户i和用 户j共同评分过的项目集合用������������������表示, ������������������=������������⊓������������,������������和������������分别表示用户i和用户j评 分过的项目集合,则用户i和用户j之间的相似性sim(i,j)为:
寻找最近邻居通常有三种方法
余弦相似性(Cosine) 每一个用户的评分都可以看作为n维项目空间上的向量,如果用户对
项目没有进行评分,则将用户对该项目的评分设为0。用户间的相似 性通过向量间的余弦夹角度量。设用户i和用户j在n维项目空间上的评 分分别表示为向量i和向量j,则用户i和用户j之间的相似性sim(i,j)为:
(3)同一性问题。对于Biblioteka Baidu些内容相同但是名称不同的项目,协同过滤是 无法发现它们内在的联系。
(4)扩展性问题。越来越多的用户和电影加入系统后,增加了系统的复 杂性,此时系统准确、高效地推荐都具有一定的挑战性。
4.电影推荐(我们的想法)
电影推荐模块的参与者是用户,用户登录时该模块启动。这个模块的功能 是为登录的用户动态推荐他们感兴趣的电影。这个模块中主要的推荐算法是: 基于用户的协同过滤推荐算法。
(2)以产品为主要推荐对象的系统。这类推荐系统在电子商务网络购物环境中最长使用,主要功能是向用 户推荐他们可能会感兴趣的商品。这类推荐系统除了带给用户更好的购物体验,同时能提高产品销售量,增加 网站收益。
其中sim(i,j)表示用户i与用户j之间的相似性,������������,������表示最近邻居用户j对项目d 的评分,������������ 和���ഥ��������� 分别表示用户i和用户j的平均评分,公式(1)的实质是在用户的最 近邻居集NESi中查找用户,并将目标用户与查找到的用户的相似度的值作为权值, 然后将邻居用户对该项目的评分与此邻居用户的所有评分的差值进行加权平 均。
个性化推荐服务就是针对此类问题提出来的,根据不同用户的行为、
信息、习惯、喜好等特点,提供各自不司的服务。
目前,各大型纯商务网站,例如Dangdang、Amazon、Taobao、Tmall等,
都不同程度地使用了推荐系统,用以向用户推荐商品,提高经济效益。
2.个性化推荐技术
个性化推荐系统的使用对象是用户,推荐对象是项目(Item),比如音乐、电影、商品等。根据推荐对象的 特点,可以将目前的推荐系统分为两类:
其中,������������,������,表示用户i对项目d的评分, ���ഥ���������和���ഥ���������分别表示用户i和用户j对项目 的平均评分。
本系统选择相似度最高的十个用户作为最近邻居。 本文在原型系统中采用的是余弦相似性计算的用户相似性,选出十个最近 邻居。
③产生推荐项目:计算方法如下 :
5.电影推荐系统的实现构想
系统模块结构概述
电影管理:主要包括电影查询、修改、删除和添加。管理员根据需要搜 集电影信息,然后整理综合添加到系统中,管理员还可以根据电影名査询 电影信息,如果电影信息有出入可以进行修改,还可以将该电影删除。
这一管理过程为系统提供了推荐信息。 电影推荐:主要基于用户的协同过滤推荐,电影推荐模块会根据用户行为
通过上述方法预测出目标用户对未评价项目的评分,然后选择预测评分最 高的 TOP-N项推荐给目标用户。
3.基于用户的协同过滤算法存在的问题及解决方案
基于用户的协同过滤虽然当给出足够清楚的偏好信息时,它通常表现出良好的性能,但随着站点 结构,内容的复杂度和用户人数的不断增加,一些缺点逐渐暴露出来,主要存在稀疏性问题、可扩展 性问题,也有人提出传统的协同过滤不能反映用户兴趣的变化等问题。这些问题都大大影响了系统的 性能,为用户和商家带来不便,针对协同过滤表现出的各种问题,学者们提出了多种解决方案,有基 于模糊聚类的可扩展的协同过滤算法,基于用户等级的协同过滤推荐算法,适应用户兴趣变化的协同 过滤推荐算法,压缩稀疏用户评分矩阵的协同过滤算法,个性化服务中基于用户聚类的协同过滤推荐 等。
3.基于用户的协同过滤推荐
基于用户的协同过滤[ (User-based CF)又称 KNN (K-NearestNeighbor,K最近邻)算法,其基本思想是利用与目标用户具有相同(或 相似)兴趣爱好的用户的观点向目标用户提供商品推荐或评分预测。
基于用户的协同过滤算法的基本思想 其基本思想是:通过计算用户对项目评分之间的相似性,搜 索目标用户的最近邻居,然后根据最近邻居的评分向目标用户产 生推荐。
3.基于用户的协同过滤推荐
②寻找最近邻居:在这一阶段,主要完成对目标用户最近邻居的 查找。通过计算目标用户与其他用户之间的相似度,算出与目标用户 最相似的“最近邻居”集。即:对 目标用户i产生一个以相似度sim(i,j)递 减排列 的“邻居”集合。该过程分两步完成: 首先计算用户之问的相 似度,可采用皮尔森相关系数、余弦相似性和修正的余弦相似性等度 量方法 ,其次是根据如下方法选择“ 最近邻居”:(1)选择相似度大于 设定阈值的用户;(2)选择相似度最大的前 k个用户;(3) 选择相似度大 于预定阈值的 k个用户。
其中,分子为两个用户评分向量的内积,分母为两个用户向量模的 乘积。
相关相似性(CORRELATION)
设用户i和用户j共同评分过的项目集合用������������������表示, ������������������=������������⊓������������,则用 户i和用户j之间的相似性sim(i,j)通过Pearson相关系数度量:
截止至2011年底,全球博客(blog)数量已经达1.81亿。 在国内,拥有博客(或个人空间)的网民比例达42.3%,用户规模达1.07亿,其 中活跃用户数超过7000万人。 腾讯QQ的活跃账户数量达到3亿,同时在线人数达到3000万。 中国网站总数为230万个。 可见,在如今这个高速发展的信息时代,人们的生活与五联网的关系越来 越紧密,互联网己经成为人们获取信息的一个重要途径。
推荐系统介绍
——基于用户的协同过滤算法的 电影推荐系统
成员:塔娜 郭静 戈文豹
目 录
一. 推荐系统研究背景 二. 个性化推荐技术 三. 基于用户的协同过滤推荐算法 四. 电影推荐系统 五. 电影推荐系统实现构想
1. 推荐系统研究背景
近年来,社会信息趋向于数字化、网络化,通过各种互联网络联系起来的 人越来越多,互联网网民日益增加。互联网上的信息源越來越丰富,包括电子 邮件、Web数据、客户项目等信息,这些信息构成了社会网络。我国的互联网 用户数也与日俱增,已发展到一个很客观的数字。
互联网信息的日益庞大与大量用户的需求形成了巨大矛盾。人们需要 花费大量的时间去搜索和选择各自所需的项目。因此,各种知名的搜索引 擎已经成为人们寻找项目的必备工具,如Google、Yahoo、Soso、Baidu、 Sogou等。当用户搜索信息是,搜索引擎就在数据库中搜索,找到相应的网 站,按一定顺序反馈给读者。显然,搜索引擎是一种“一对多”的工具,它只 能区分不同的搜索语句,忽略了重要的用户信息,对不同的用户不会推荐不 同的项目。
协同过滤推荐系统存在的一些弊端:
(1)数据稀疏性问题,这也是协同过滤系统目前存在的最为普遍的问题, 大多数用户只评价了部分项目,这样导致用户-评分矩阵十分稀疏,这样 不利于推荐系统为用户推荐信息;
(2)冷启动问题。新产品没有任何用户的评分,在协同过滤中是无法推 荐的。新用户没有历史信息,也是无法推荐的。当一个新项目刚加入系 统的时候,由于没有任何用户对它评分,该项目便无法得到推荐。
推荐系统首先收集用户的历史行为数据,然后通过预处理的方法得到用户-评价矩阵,再利用机器学习领 域中相关推荐技术形成对用户的个性化推荐。有的推荐系统还搜集用户对推荐结果的反馈,并根据实际的反 馈信息实时调粮推荐策略,产生更符合用户需求的推荐结果。
个性化推荐系统流程图:
3.基于用户的协同过滤算法
协同过滤算法,顾名思义就是指用户可以齐心协力,通过不 断的和网站互动,是自己的推荐列表能够不断过滤掉自己不 感兴趣的物品,从而越来越满足自己的需求。
3.基于用户的协同过滤推荐算法:
基于邻域的方法是协同过滤算法中应用最为广泛的一种。 基于邻域的方法比较直观,容易理解。这类方法使用统计技术寻找与目
标用户有相同或相似兴趣偏好的邻居,根据邻居用户的评分来预测目标 用户对项目的评分值,选取预测评分最高的前N个项目作为推荐集反馈 给目标用户。它的中心思想是有相同兴趣或偏好的用户往往会对同样 的项目感兴趣,这也非常符合人们的心理。这类方法的核心是要准确计 算目标用户的邻居,也就是用户相似性,所以也称为基于用户(Userbased)的协同过滤方法。类似地,可以考虑项目之间的相似性,使用目标 用户评价过的项目合集来预测用户可能感兴趣的其它项目,这类方法称 为基于项目 (Item-based)的协同过滤方法。
典型的协同过滤算法是基于用户的。
协同过滤推荐算法的实现过程分为3步: 建立用户模型、寻找最近邻居和产 生推荐项目。
①建立用户模型: 协同过滤算法的输入数据通常表示为一个 m*n 的用户 一 评价矩阵R,m是用户数,n是项目数,其中������ij表示第i个用户对第j个项目的评 分值:
这里的评分值可以是用户的浏览次数,购买次数等隐式的评分,还可以采 用显示评分,如用户对商品的直接评分,本算法的实现是采用用户对所购买商 品的直接评分作为评分矩阵中评分值的。
(打分和相似度)的不同进行不同推荐,如果是新用户没有历史信息记 录那么只能显示当前热播电影;如果不是新用户那么该用户就有历史信 息记录,系统根据这些历史信息为该用户推荐电影。
通常在电子商务网站中,用户购买或评分的商品相对于总商品数量仅占有限的百分比,为总数量 的1%以下,这导致用户-项目评分数据集稀疏。在这种数据量大而评分数据又极端稀疏的情况下,一 方面难以成功的定位邻居用户集,影响推荐精度;另一方面在整个用户空间上计算相似用户群的过程 不可避免地成为了算法的瓶颈,继而增加了响应时间。
用户行为分析: a.用户活跃度和物品流行度分布:很多关于互联网数据的研
究发现,互联网上的很多数据分布都满足一种称为Power Law 的 分布,这个分布在互联网领域也叫长尾分布。
f(x)=α������������ b.用户活跃度和物品流行度的关系:一般认为,新用户倾向 于浏览热门的物品,因为他们对网站还不熟悉,只能点击首页 的热门物品,而老用户会逐渐开始浏览冷门的物品。
其中,������������,������,表示用户i对项目d的评分, , ���ഥ���������和���ഥ���������分别表示用户i和用 户j对所打分项目的平均评分。
修正的余弦相似性(ADJUSTED COSINE)
在余弦相似性度量方法中,没有考虑不同用户的评分尺度问题,修正的余 弦相似性度量方法通过减去用户对项目的平均评分改善这一缺陷。设用户i和用 户j共同评分过的项目集合用������������������表示, ������������������=������������⊓������������,������������和������������分别表示用户i和用户j评 分过的项目集合,则用户i和用户j之间的相似性sim(i,j)为:
寻找最近邻居通常有三种方法
余弦相似性(Cosine) 每一个用户的评分都可以看作为n维项目空间上的向量,如果用户对
项目没有进行评分,则将用户对该项目的评分设为0。用户间的相似 性通过向量间的余弦夹角度量。设用户i和用户j在n维项目空间上的评 分分别表示为向量i和向量j,则用户i和用户j之间的相似性sim(i,j)为:
(3)同一性问题。对于Biblioteka Baidu些内容相同但是名称不同的项目,协同过滤是 无法发现它们内在的联系。
(4)扩展性问题。越来越多的用户和电影加入系统后,增加了系统的复 杂性,此时系统准确、高效地推荐都具有一定的挑战性。
4.电影推荐(我们的想法)
电影推荐模块的参与者是用户,用户登录时该模块启动。这个模块的功能 是为登录的用户动态推荐他们感兴趣的电影。这个模块中主要的推荐算法是: 基于用户的协同过滤推荐算法。