如何学习推荐系统?

最近在学习推荐系统,了解了一些概念和方法,工作中也完成过职位协同的工作,但是对于推荐系统相关知识的了解依然很少,想系统的学习,却苦于不知从何入手,还望有这方面经验的同学帮帮忙,指点迷津,将不胜感激!
关注者
910
被浏览
63904

16 个回答

推荐系统是个复杂的系统工程,依赖数据、架构、算法、人机交互等环节的有机结合,是数据挖掘技术、信息检索技术、计算统计学等悠久学科的智慧结晶,也关联到认知科学、预测理论、营销学等相关学科。所以,推荐系统的学习也是循序渐进的过程,由浅入深,层层递进。

首先,必须进行基础知识的储备,掌握相关的基本概念、推荐算法等理论知识,活学活用。这方面有很多书籍可以参考,如《集体智慧编程》《推荐系统实践》《推荐系统》。还有殿堂级大作《Recommender systems handbook》,里面不仅对推荐系统方方面面有详细介绍,还给出了引用的论文,值得投入更多的时间和精力不断钻研。

其次,实践出真知。只有亲自动手实践才能深入体会推荐系统的各个环节,才能对各种推荐算法的优缺点有真切感受。一方面可以很熟练的完成简单的推荐算法,如content-based、item-based CF等。另一方面要掌握一些常见的推荐算法库,如SvdFeature、LibFM、Mahout、MLib等。

再者,推荐系统的方方面面提现了很多很多学科的智慧,如信息检索、数据挖掘和机器学习等。掌握这些知识,对推荐效果提升、性能优化都有极大的帮助,也会不断的拓展推荐系统的业务场景。
最后,技术的发展日新月异,要时刻保持对业界最新动态的关注。阅读相关的paper是免不了的,Recsys、KDD、SIGIR等都有推荐系统方面的论文在更新。还可以通过关注技术相关的微博账号、微信公众号及各大论坛的相关动态,了解推荐系统在各大公司的实践情况及最新进展。

推荐系统的构建和实际的业务场景是强相关的,效果提升之道和推荐算法的选择也是需要不断的尝试慢慢摸索。针对实际情况,分析bad case,不断迭代开发,才能打造一流的推荐系统。
入门的话, 可以看以下书籍:
  1. Segaran T. Programming collective intelligence: building smart web 2.0 applications[M]. O’Reilly Media, 2007.寓教于乐的一本入门教材,附有可以直接动手实践的toy级别代码
  2. Shapira B. Recommender systems handbook[M]. Springer, 2011. 推荐系统可做枕头,也应该放在枕边的书籍,看了半本多。如果将该书及其中的参考文献都看完并理解,那恭喜你,你已经对这个领域有深入理解了
  3. Jannach D, Zanker M, Felfernig A, et al. Recommender systems: an introduction[M]. Cambridge University Press, 2010. 可以认为是2010年前推荐系统论文的综述集合
  4. Celma O. Music recommendation and discovery[M]. Springer, 2010. 主要内容集中在音乐推荐,领域非常专注于音乐推荐,包括选取的特征,评测时如何考虑音乐因素
  5. Word sense disambiguation: Algorithms and applications[M]. Springer Science+ Business Media, 2006. 如果涉及到关键词推荐,或是文本推荐, 则可以查阅该书

需要深入研究的话,结合之前这方面的工作及交流整理了一些论文及业界应用, 可以参见:semocean.com/%E6%8E%A8%
为什么?