如何评价「深度学习推荐系统」这本书?

大家好,我是《深度学习推荐系统》的作者王喆,欢迎在这个问题下面给出你对本书的反馈,欢迎所有拍砖、鲜花、批评、建议! 《深度学习推荐系统(全彩)》(王喆…
关注者
630
被浏览
240,748

61 个回答

大家好,我是《深度学习推荐系统》的作者王喆,当初开这个问题主要是为了收集一下大家对这本书的反馈,以便再版的时候查漏补缺,积极改进,现在看来效果基本达到了。问题至今收到了50多个答案,几乎涵盖了书中的方方面面,在此一并感谢各位有心的读者。

当初许诺过选出优秀的、有价值的评价,向答主赠书,在此不能食言。但既然都已经给出认真的评价了,肯定是认真看过书了,所以咱们就临时改成送钱吧。在此选出五位评价答主,每人送出60元感谢红包,奖励会从我设立的勘误和奖励基金里面出。以下列出五位优秀答主:

@胡津铭 zhihu.com/question/3874

书的优点和缺点总结都非常到位。

@一块小蛋糕 zhihu.com/question/3874

整理了全书的读书笔记,我在多个地方看到相关的总结,非常清晰明了。

@呼广跃 zhihu.com/question/3874

把书的侧重点把握的很准,符合我的创作初衷。

@网格 zhihu.com/question/3874

当你合上这本书时,这不是结束,而是另一个开始,共勉。

@Kaufman zhihu.com/question/3874

喜欢这种不仅自己看,还联合同事一起下单的。。鼓励一下!

借这个机会也总结一下书中存在的一些问题(优点就不说了,我想大家再各个地方都能看到本书的特点),为大家做一个统一的回复:

1、纸张质量和图清晰度的问题:

个别读者反应纸张质量和图清晰度有点问题,除了个别书印刷质量确实有可能有问题外,主要原因是选择了有点泛黄的护眼纸张,不如煞白的那种纸的锐度高。另外已经跟编辑协商再版的时候会重绘所有图,相信会有质量上的提升。

2、代码和实践:

有读者反应本书缺乏代码和demo。首先要说明的是本书不是一本从0开始的入门书,也不想通过大段贴代码来挤占篇幅,贴代码不应该是一个负责任的作者做的事情。

但针对实践部分的不足,有计划在下一版中多添加一些开源项目的引用,相关代码资源的整理,来丰富本书的延展内容,在不挤占篇幅的前提下多给大家一些实践上的指导。也可能会基于本书做一门延伸的实践课程,还在策划中。

3、知识的更新和迭代

作为一名算法工程师,我们都深知这个行业的迭代之快,诚然,书中的内容不可能包含全部的业界热点。比如最近学界和业界都很热门的图神经网络,知识蒸馏和模型压缩等内容。

所以我希望这本书是迭代更新的,我也会持续在我的专栏(zhuanlan.zhihu.com/wang)和公众号(王喆的机器学习笔记)中跟大家分享最近的学界业界知识,并阶段性的将这些前沿内容不断迭代更新到下一版之中,期待这个周期是一年半到两年。希望在这个过程中跟大家一同提高。

4、知识的详细程度

有读者只看目录担心这本书仅仅是知识点的罗列,每个模型没有深入介绍。这里再次重申一下这本书的定位,它是为了帮助推荐系统领域相关的初中级工程师,研究生们建立深度学习推荐系统知识体系的,关键在于建立框架,熟悉各关键点之间的关系,脉络,发展过程。它不是一本深入到一个模型里,把原来的paper逐字逐句重新阐释一遍的技术书。

书中的知识点都是各paper中的创新点,关键点,大部分也都是我自己实践过的。所以在读一篇新的paper的时候,也建议大家去发掘一篇paper中新知识和已有知识的联系,有经验的同行也清楚一篇paper中的闪光点也仅仅是一两页就能描述清楚的。

以上。

最后欢迎大家继续在这个问题下进行评价和反馈,如果发现书中的错误也请到勘误问题中反馈问题:

会不定期从勘误和奖励基金中发红包给大家,多谢!

购书链接:

工作之余抽时间读了一遍。其实自己现在的工作内容与推荐系统无关,甚至与机器学习、深度学习都没什么关系,但是出于一些兴趣与好奇,买来通读了一遍。先说结论:我认为这是一本良心之作,强烈建议推荐系统领域的从业者或者是对其感兴趣的同学阅读一遍;即便是不做推荐系统而是做其他机器学习、深度学习相关领域的同学,我也建议读一读,他山之石也许可以攻玉。下面写一点相对详细的看法。

先说优点:

  1. 全书有比较清晰的脉络。从经典的推荐算法如CF, MF, FM, LR, GBDT等讲起,到现在火热的各种深度学习模型,再到embedding等,脉络清晰,让读者能够领会到推荐系统技术这些年的发展进步的motivation与主线。在我看来,领会motivation与主线是几乎与技术本身同等重要(甚至更重要)的事情。
  2. 在介绍完推荐系统的算法之后,作者还介绍了一些非常实用的相关知识,如推荐系统中的特征工程、实时性、优化目标、评估、对业务的理解、冷启动等等。这些实用的知识在实际应用推荐系统的时候也同样非常重要,甚至很多时候会比模型本身更加重要。
  3. 最后,作者还介绍了推荐系统的工程实现的相关知识。实际上,我认为推荐系统在实践应用中永远是一个工程味道非常重的问题,因此了解其工程实现的知识是非常非常重要的。书上的这部分内容可以给读者一个相对全局的认识,了解推荐系统的工程主要由哪些部分组成,每部分的目的、作用是什么,这样在工作的时候碰到也不会惊慌失措。同时,大家也可以去进行一些针对性的学习。当然我认为直接去工业界实习、工作会是更好的学习这些工程知识的方式。

再简单说说我认为存在的一些缺点:

有些缺点别的回答也已经指出了,我这边就在啰嗦一遍好了。

  1. Embedding章节介绍了快速近似最近邻检索(Approximate Nearest Neighbor Search or ANNS),主要介绍了LSH这种方法。LSH的确是非常经典好用的方法。但同样如其他回答所指出的,LSH由于其recall较低,很多时候也不是首选的ANNS算法了。其他常用的ANNS方法如PQ-based的方法和Graph-based的方法也可以在该章节做一个简单的介绍。尤其是facebook开源的faiss(PQ-based),其实可以在工程实现部分给一个简单的介绍。
  2. 推荐系统的评估指标介绍得比较少。这部分大家可以参考项亮的《推荐系统实践》的相应内容,有更为全面的介绍。同样,如何获得用户数据这块也介绍得比较少,有时如何获得大量又可靠的标签、监督数据也是推荐系统实际使用中的一个重要问题。这部分内容同样推荐项亮的《推荐系统实践》的相应内容。或者说,我认为《深度学习推荐系统》与《推荐系统实践》都很值得大家一读,且二者内容也有些互补。
  3. 一个小建议,工程部分可以考虑在每个部分最后给点推荐的学习资料,供有兴趣进一步了解的读者查阅。
  4. 最后吐槽一个小的缺点,书中的图有些糊,感觉应该不是矢量图。这个小缺点可以改进一下,不然看图上的字实在有些累。

最后感谢王喆能够花这么多时间写出这么一本良心之作。