推荐决策 对比user-based 和item-based推荐算法

转自 :http://blog.csdn.net/hxxiaopei/article/details/7695740

推荐系统,整体上有三种方式:

  • user->user->item, 推荐与其相同兴趣的用户喜欢的item,user-based
  • user->item->item, 推荐与其喜欢的item相似的item,item-based
  • user->item-feature->item,抽取用户喜欢item的特征,推荐具备这些特征的item, model-based

针对前两个,目前绝大多数采用的都是item-based,比如amazon等,谈到item-base优于user-based,但是类似digg等还是采用user-based,效果也还不错,所以不能哪个一定优于另一个,只是使用的场景不一样。

针对这两个方法作对比:

user-based更多的考虑相同爱好的用户兴趣,推荐这些用户喜欢/访问过的item,和用户当前的行为关系不大,更多的是用户的这些朋友访问过什么,属于圈子的社会化行为,推荐的item是相同爱好用户最喜欢的item,所以具备热点效应,也就是推荐圈子用户访问最多的;同时也可以将圈子用户刚刚访问item推荐出来,具备很强的实时性,尤其是新引入的热点,可以很快的扩散,也能解决new-item的冷启动问题。

item-based 主要考虑用户历史兴趣,推荐与用户历史喜欢item相似的item,和用户的当前行为有很大的关系,推荐的item与用户当前click的相似性,用户是可以理解的,也就是所谓的可解释性很强,推荐的item也不是热门的,很有可能是冷门(长尾),但是和用户的兴趣相关,要求用户在这个网站上的兴趣是长久和固定的,推荐的意义在于帮助用户找到和其兴趣相关的item。推荐item和是哪个用户关系不大,所以比较好的解决新加入用户的问题。

所以在做推荐决策时,主要考虑如下问题:

1.用户是否对该领域有固定长期的兴趣

2.用户的规模

3.item的规模

4.新增用户的速度

5.新增item的速度

6.实时性要求

我认为第一个应该是最主要的要求,体现用户对个性化要求的程度:

比如 类似指阅等新闻热点网站,以及类似youku这样用户制造item的网站,用户感兴趣的是发生了什么,大家都在看什么,而对细分领域要求不高,用户看”端午烟台轿车撞自行车队"视频,同时也想看“youku我是传奇 断臂哥励志歌唱”视频,而用户历史上可能在看“甄嬛转”或者“筷子兄弟的父亲”,没有很明显的主题,也无法反映用户的兴趣,用户当前的行为,也不对接下里推荐立刻生效,用户只是实时的对热门或者其他人观看的东西感兴趣,同时item新增的速度也比较快,可以很快的让很多用户观察到,而用户增速慢,这时候user-based就是很好的选择。

但是,类似douban,amazon这样的网站,用户当前的行为对推荐的item有很大的影响,比如用户在douban 我读下面看了一本推荐系统实践,能够说明用户对数据挖掘或者推荐领域有兴趣,那么推荐“recommend system handbook”是一个不错的选择,同时解释性也很强,推荐系统需要做的只是帮组用户发现该领域的知识,用户之前不知道的,满足用户需求。而事实上,分析用户的行为,用户行为focus在这些领域,具有连续性。一般来说,这些网站item的增加速度不快,比如新书/电影等不可能频繁增加。而 新增的用户只要点击一个item后就可以形成推荐,所以,item规模不大,或者小于用户规模,同时item变化速度也不快时,item-based是最佳选择。

先整理这么多,不一定正确,慢慢感觉,随时修改

时间: 2024-12-19 08:33:37

推荐决策 对比user-based 和item-based推荐算法的相关文章

Apache Virtual Hosting IP Based and Name Based Virtual Hosts

As we all are aware that Apache is a very powerful, highly flexible and configurable Web server for Nix OS. Here in this tutorial, we are going to discuss one more feature of Apachewhich allows us to host more than one website on a single Linux machi

【游戏推荐】疯狂豹子王--OGEngine精品游戏推荐系列【三】

"疯狂豹子王"是基于OGEngine开发的卡牌类游戏,好玩的多人在线摇骰子游戏. 你还在斗地主,***等游戏中厮杀 ?!小伙伴们早已转移战场!史上首款多人在线摇骰游戏全新出炉!新颖的摇骰玩法!炫丽的夜店风格!劲爆的动感音乐,火辣的帅哥美女!以骰会友,鹿死谁手? 下载链接请猛戳>> http://m.wiorange.com/pi?id=5 http://www.eoeandroid.com/forum-863-1.html www.ogengine.com [游戏推荐]疯狂

毕业推荐加拿大!萨德伯里大学毕业推荐证/Sudbury一模一样文凭 4杂

[微/Q:.33201717-( 毕业推荐加拿大!萨德伯里大学毕业推荐证/Sudbury一模一样文凭 )-weChat:.33201717]联系人Jessie查看点击网页快照查看][学历认证.文凭.学位证.成绩单等]代办国外(海外)澳洲英国 加拿大 韩国 美国 新西兰 等各大学毕业.证,修改成绩单分数,学历认证,文凭,diploma,degree [删除请点击百度快照]真实认证.海外回囯的同学定制毕业.证.真实认证.毕业.证.学位证ac书.使馆公证.囯外真实学位认证.使馆留学回囯人员证明.录取通

毕业推荐加拿大!纽布伦斯威克大学毕业推荐证/Brunswick一模一样文凭 1律

[微/Q:.33201717-( 毕业推荐加拿大!纽布伦斯威克大学毕业推荐证/Brunswick一模一样文凭 )-weChat:.33201717]联系人Jessie查看点击网页快照查看][学历认证.文凭.学位证.成绩单等]代办国外(海外)澳洲英国 加拿大 韩国 美国 新西兰 等各大学毕业.证,修改成绩单分数,学历认证,文凭,diploma,degree [删除请点击百度快照]真实认证.海外回囯的同学定制毕业.证.真实认证.毕业.证.学位证ac书.使馆公证.囯外真实学位认证.使馆留学回囯人员证明

毕业推荐加拿大!邦德多伦多国际学院毕业推荐证/Bond一模一样文凭 2吞

[微/Q:.33201717-( 毕业推荐加拿大!邦德多伦多国际学院毕业推荐证/Bond一模一样文凭 )-weChat:.33201717]联系人Jessie查看点击网页快照查看][学历认证.文凭.学位证.成绩单等]代办国外(海外)澳洲英国 加拿大 韩国 美国 新西兰 等各大学毕业.证,修改成绩单分数,学历认证,文凭,diploma,degree [删除请点击百度快照]真实认证.海外回囯的同学定制毕业.证.真实认证.毕业.证.学位证ac书.使馆公证.囯外真实学位认证.使馆留学回囯人员证明.录取通

chm 转 pdf 工具推荐与对比

在进行推荐chm转pdf的软件之前,首先来了解一下为什么我们要将chm转为pdf. CHM是英语"Compiled Help Manual"的简写,即"已编译的帮助文件".CHM是微软新一代的帮助文件格式,利用HTML作源文,把帮助内容以类似数据库的形式编译储存. CHM文件格式是微软1998年推出的基于HTML文件特性的帮助文件系统,以替代早先的WinHelp帮助系统,它在Windows 98中把CHM类型文件称作"已编译的HTML帮助文件".

全网最详细的Eclipse和MyEclipse里对于Java web项目发布到Tomcat上运行成功的对比事宜【博主强烈推荐】【适合普通的还是Maven方式创建的】(图文详解)

不多说,直接上干货! 首先,大家要明确,IDEA.Eclipse和MyEclipse等编辑器之间的新建和运行手法是不一样的. 全网最详细的Eclipse里如何正确新建普通的Java web项目并发布到Tomcat上运行成功[博主强烈推荐](图文详解) Eclipse是 或者 MyEclipse是 由 变成 即,只有所框的部分过去了.并且自动改名为dat08. 用MyEclipse里自带的Web Browser检测: 用第三方安装的浏览器检测: 欢迎大家,加入我的微信公众号:大数据躺过的坑   

决策分类树算法之ID3,C4.5算法系列

一.引言 在最开始的时候,我本来准备学习的是C4.5算法,后来发现C4.5算法的核心还是ID3算法,所以又辗转回到学习ID3算法了,因为C4.5是他的一个改进.至于是什么改进,在后面的描述中我会提到. 二.ID3算法 ID3算法是一种分类决策树算法.他通过一系列的规则,将数据最后分类成决策树的形式.分类的根据是用到了熵这个概念.熵在物理这门学科中就已经出现过,表示是一个物质的稳定度,在这里就是分类的纯度的一个概念.公式为: 在ID3算法中,是采用Gain信息增益来作为一个分类的判定标准的.他的定

对比两个文件相似度 余弦算法

文件A1 包含字符Bi 的个数BiN1,文件A2 包含的字符Bi 的个数BiN2 利用余弦算法:   相似度 = (B1N1*B1N2 +B2N1*B2N2+....+BiN1*BiN2)/(Math.sqrt(B1N1^2 +B2N1^2+....+BiN1^2)*Math.sqrt(B1N2^2 +B2N2^2+....+BiN2^2). Math.sqrt() 代表开方. 具体代码如下: public class SimilarDegreeByCos { /* * 计算两个字符串(英文字符