【推荐系统实践】读书总结

零零散散地看完了全书,确实很有启发性,对小白非常友好。里面的代码有点鸡肋,不过可以在github或者其它网站的找来看。下载了别人的代码之后发现比自己的写的好得多,所以我的就不贴出来贻笑大方了。

下面总结一下我看整本书的笔记。

 

 

什么是推荐系统?

信息过载/没有明确需求的情况下,为用户提供感兴趣信息的一种思路。推荐系统通过一定的方式,将用户和物品联系起来。

从后面的内容中我们可以看到,这样的方式可能是通过其他用户、其他物品、其他时间等。

 

 

推荐的基本思想有哪些?

基于用户的协同过滤

找到和目标用户相似的用户集合,推荐他们喜欢的物品。

改进:惩罚热门物品

基于物品的协同过滤

找到和用户喜欢过的物品相似的物品,推荐给他们

【衡量相似的依据:不是根据物品的内容,而是根据“一起被购买过”这样的行为】

改进:惩罚热门物品

 

 

有哪些老生常谈的问题?

冷启动

用户刚加进来,怎么推荐?物品刚加进来,推荐给谁?系统刚开发出来,界面咋写?

冷启动问题的核心在于,推荐是需要信息的,而我们没有这些信息。

所以,我们要想办法获取这些信息。

比如对于新用户,我们可以在注册的时候让他填写兴趣,可以从社交账号查看好友的兴趣。

对新物品,我们可以换一种方法考察它和其他物品的相似度,比如说用内容和标签,我们还可以引入大名鼎鼎的LDA模型来计算物品的内容相似度。

我们还可以发挥专家的作用,用domain knowledge来干扰结果。

忘记冷启动的问题。不断地创新,互联网上有任何你想要的数据。

 

 

除了操作记录,还有哪些可以利用的常见信息?

UGC(用户生成)标签

标签系统的最大优势在于可以发挥群体的智能,获得对物品内容信息比较准确的关键词描述。标签最直观的应用,就是作为隐语义模型中的话题,搭起物品、用户和内容之间的桥梁,同时基于标签的推荐还可以具有更好的解释性。

所以,我们希望用户多多地打标签,最好打的清晰明了,整齐划一。

推荐用户打标签和推荐用户买东西的思路相似,可以有各种协同过滤、基于图的推荐。

时间上下文

你一年前喜欢的东西,现在还喜欢吗?

你一天前喜欢的东西,现在还喜欢吗?

假如我们有时间信息,那么我们一定会认为,动作发生的时间越近,月有说服力。

时间上下文方面,可以关注两个问题:

  1. 时间多样性。这个其实就是及时更新推荐列表,别让人家每次打开都看着一样的东西。
  2. 时间加权。前面我们讲过的所有算法,都可以用上时间加权。用户相似度和物品相似度的计算,都可以加上时间加权函数,使得最近的行为有着更大的影响。

地点上下文

如果我们知道了用户位置,应当考虑临近用户具有更大的相似性。

如果我们知道了物品位置,那么在对用户进行推荐时,用户和物品的距离是一个减分项。

社交网络数据

基于社交网络的推荐有着得天独厚的优势,因为用户可能不信任AI的推荐,但是大多都会信任熟人、好友的推荐。而且,当一个新用户通过社交账号登录网站时,我们可以直接通过好友列表来做用户协同过滤之类的内容,部分解决了推荐系统的冷启动问题。

在使用社交好友搭建桥梁时,需要考虑我跟这个人有多熟和这个人有多喜欢某个物品。两个用户熟悉和相似程度的衡量可以用共同好友个数和共同爱好的个数综合起来衡量。

另外,还要给用户推荐好友,毕竟用户好友多了,我们才好做数据。确定两个人能否成为好友,可以看他们的共同关注、共同关注他们的人、两者的结合等。

 

 

学术界的焦点:评分预测

实践中,我们关注TopN,但在学术中,我们也很关注用户对物品的评分。

最简单的思路当然是平均值:全局平均值,用户评分平均值,物品评分平均值,用户分类对物品分类的平均值

或者我们借助协同过滤的思路,参考和这个用户兴趣相似的用户对该物品的评分或者参考用户对和物品i相似的其他物品的评分

除此之外,还有一个主流的方法是利用数学方法,比如矩阵分解。

最后,我们用不同方法得到了很多结果,我们可以做一个事情就是模型融合。机器学习里边我们怎么做,这里就可以怎么做。

 

 

这本书的内容大概就是这些。其实我们可以看到,钓无常法,招无定式。有时间数据我们就考虑时间,有地点数据我们就把它用进去,我们知道用户的好友信息,就拿过来做协同过滤。任何搭建用户和物品之间的桥梁,只要理论上是可行而且合理的都可以拿来试一试。我们要创新,要跳出框架,要无所不用其极。我们还要综合地考虑可能影响结果的每一个因素,比如推荐好友的时候又要考虑熟悉程度,又要考虑相似程度。

All the models are wrong, only yours are useful.

 

 

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值