推荐系统学习笔记(1)

1 什么是推荐系统?

  

  推荐系统的任务是联系用户和信息,一方面帮助用户发现对自己有价值的信息,另一方面让信息能够展现对它感兴趣的用户面前,从而实现信息消费者和信息生产者的双赢。

 

  推荐系统和搜索引擎不同的是,推荐系统不需要用户提供明确的需求,而是通过分析用户的历史行为给用户的兴趣建模,从而主动给用户推荐能够满足他们兴趣和需求的信息。

 

  推荐系统通过发掘用户的行为,找到用户的个性化需求,从而将长尾商品准确地推荐给需要它的用户,帮助用户发现那些他们感兴趣但很难发现的商品。

2 推荐系统的方法

  

  推荐系统的方法:

    社会化推荐(social recommendation

    基于内容的推荐(content-based filtering

    基于协同过滤(collaborative filtering

  推荐算法的本质是通过一定的方式将用户和物品联系起来,而不同的推荐系统利用了不同的方式。

 

3 推荐系统的应用

  

个性化推荐系统在网站中的主要作用是通过分析大量用户行为日志,给不同用户提供不同的个性化页面展示,来提高网络的点击率和转化率。

1. 电子商务:例如亚马逊

2. 电影和视频网站:例如Netflix

3. 个性化音乐网络电台:例如Last.fm

4. 社交网络:例如Facebook

5. 个性化阅读:例如Digg

6. 基于位置的服务:例如Foursquare

7. 个性化邮件:例如Tapestry

8. 个性化广告:例如Facebook

 

 4 如何测评

  

一个完整的推荐系统一般存在3个参与者:用户、物品提供者和提供推荐系统的网站,在评测一个推荐算法时,需要同时考虑三方的利益,一个好的推荐系统是能够令三方共赢的系统。

 

推荐系统实验方法

1离线实验

步骤:

① 通过日志系统获得用户行为数据,并按照一定格式生成一个标准的数据集;

② 将数据集按照一定的规则分成训练集合测试集;

③ 在训练集上训练用户兴趣模型,在测试集上进行预测;

④ 通过事先定义的离线指标评测算法在测试集上的预测结果。

 

优点:不需要有对实际系统的控制权;不需要用户参与实验;速度快,可以测试大量算法

缺点:无法计算商业上关心的指标,如点击率、转化率等;离线实验的指标和商业指标存在差距。

 

2用户调查

真实用户在测评的推荐系统上完成一些任务,在完成任务时,需要观察和记录他们的行为,并让他们回答一些问题,通过分析他们的行为和答案了解测试系统的性能。

优点:可以获得很多体现用户主观感受的指标,相对在线实验风险很低,出现错误后很容易弥补。

缺点:招募测试用户代价较大,很难组织大规模的测试用户,因此会使测试结果的统计意义不足。

 

3在线实验

在完成离线实验和必要的用户调查后,可以将推荐系统上线做AB测试,将它和旧的算法进行比较。

AB测试是一种很常用的在线评测算法的实验方法。http://www.abtests.com/

一般来说,一个新的推荐算法最终上线,需要完成3个实验:

首先,需要通过离线实验证明他在很多离线指标上由于现有的算法。

然后,需要通过用户调查确定它的用户满意度不低于现有的算法。

最后,通过在线的AB测试确定它在我们关心的指标上由于现有的算法。

 

 

 

评测指标

1.用户满意度:通过用户调查或者在线实验获得。

2.预测准确度:评分预测(均方根误差和平均绝对误差),TopN推荐

3.覆盖率:信息熵,尼基系数

4.多样性

5.新颖性:平均流行度

6.惊喜度

7.信任度:增加推荐系统的透明度,提供推荐解释;考虑用户的社交网络信息

8.实时性

9.健壮性

10.商业目标

11.目标

测评维度

用户维度:主要包括用户的人口统计学信息、活跃度以及是不是新用户等

物品维度:包括物品的属性信息、流行度、平均分以及是不是新加入的物品等

事件维度:包括季节、是工作日还是周末,是白天还是晚上等。

 

posted @ 2013-08-20 15:02  94julia  阅读(988)  评论(1编辑  收藏  举报