This commit is contained in:
louzefeng
2024-07-11 05:50:32 +00:00
parent bf99793fd0
commit d3828a7aee
6071 changed files with 0 additions and 0 deletions

View File

@@ -0,0 +1,614 @@
<audio id="audio" title="加餐 | 推荐系统的参考阅读" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/51/db/5167fdb87e3a5450b0455d9c7acdf3db.mp3"></audio>
专栏主体内容已经结束了,在专栏写作的过程中,我阅读了很多业界公开的资料,我觉得有必要整理出来,供想深入阅读的人继续去找虐。
整体来说,在选择参考文献时,我偏爱那些由公司发表的。因为推荐系统本质上还是一种非常依赖实践的算法应用方向,并且,这些商业公司论文中的技术内容也在他们实际的场景中经过了检验。
另外,更多的内容是来自我自己的大脑中,所以我在下面列出来的只是一部分,在经过反复删减之后,保留了这些,有中文有英文,一般来说英文居多。有较理论化的,如优化理论,更多的是较实践派,可以学完即用。这些资料分成这么几个类型。
1. 论文:以论文形式发表的,期刊数据库中可以下载到。
1. 网络文章就是在网上自由流传的内容或者博客为了方便阅读我将它们保存为PDF格式。
1. 演示文稿:就是作者曾公开演讲过的内容,相对来说不是那么严谨,但是更容易理解。
1. 书:推荐系统相关的书较少,我在专栏中参考过的书只有一本(附件中不提供书的电子文档)。
以上的参考文献我按照章节顺序列在了下面,我还在后面附上一个推荐书单。你可以点击查看。
## 原理篇
## 1.内容推荐
<li>
<h3>题目Bag of Tricks for Efficient Text Classification</h3>
</li>
### **类型**:论文
### **作者**Facebook
### **说明**
Facebook开源的文本处理工具fastText背后原理。可以训练词嵌入向量文本多分类效率和线性模型一样效果和深度学习一样值得拥有。
<li>
<h3>**题目**The Learning Behind Gmail Priority Inbox</h3>
</li>
### **类型**:论文
### **作者**Google
### **说明**
介绍了一种基于文本和行为给用户建模的思路是信息流推荐的早期探索Gmail智能邮箱背后的原理。
<li>
<h3>**题目**Recommender Systems Handbook(第三章,第九章)</h3>
</li>
### **类型**:书
### **作者**Francesco Ricci等
### **说明**
这本书收录了推荐系统很多经典论文,话题涵盖非常广,第三章专门讲内容推荐的基本原理,第九章是一个具体的基于内容推荐系统的案例。
<li>
<h3>**题目**:文本上的算法</h3>
</li>
### **类型**:网络文章(网络免费版,已有成书《文本上的算法:深入浅出自然语言处理》,内容更丰富)
### **作者**:路彦雄
### **说明**
介绍了文本挖掘中常用的算法,及基础概念。内容涉及概率论,信息论,文本分类,聚类,深度学习,推荐系统等。
<li>
<h3>题目LDA数学八卦</h3>
</li>
### 类型:网络文章
### 作者Rickjin(@靳志辉)
### 说明:
由浅入深地讲解LDA原理对于实际LDA工具的使用有非常大的帮助。
## 2.近邻推荐
<li>
<h3>题目Amazon.com recommendations: item-to-item collaborative filtering</h3>
</li>
### 类型:论文
### 作者Amazon
### 说明:
介绍Amazon的推荐系统原理主要是介绍Item-Based协同过滤算法。
<li>
<h3>题目Slope One Predictors for Online Rating-Based Collaborative Filtering</h3>
</li>
### 类型:论文
### 作者Daniel Lemire等
### 说明:
Slope One算法。
<li>
<h3>题目Item-Based Collaborative Filtering Recommendation Algorithms</h3>
</li>
### 类型:论文
### 作者Badrul Sarwar等
### 说明:
GroupLens的研究团队对比了不同的Item-to-Item的推荐算法。
<li>
<h3>题目Collaborative Recommendations Using Item-to-Item Similarity Mappings</h3>
</li>
### 类型:专利
### 作者Amazon
### 说明:
是的Amazon申请了Item-Based算法的专利所以如果在美上市企业小心用这个算法。
<li>
<h3>题目Recommender Systems Handbook第4章</h3>
</li>
### 类型:书
### 作者Francesco Ricci等
### 说明:
第四章综述性地讲了近邻推荐,也就是基础协同过滤算法。
## 3.矩阵分解
<li>
<h3>题目Matrix Factorization and Collaborative Filtering</h3>
</li>
### 类型:演示文稿
### 作者Daryl Lim
### 说明:
从PCA这种传统的数据降维方法讲起综述了矩阵分解和协同过滤算法。矩阵分解也是一种降维方法。
<li>
<h3>题目Factorization Meets the Neighborhood: a Multifaceted Collaborative Filtering Model</h3>
</li>
### 类型:论文
### 作者Yehuda Koren
### 说明:
把矩阵分解和近邻模型融合在一起。
<li>
<h3>题目BPR- Bayesian Personalized Ranking from Implicit Feedback</h3>
</li>
### 类型:论文
### 作者Steffen Rendle等
### 说明:
更关注推荐结果的排序好坏而不是评分预测精度那么BPR模型可能是首选本篇是出处。
<li>
<h3>题目Collaborative Filtering for Implicit Feedback Datasets</h3>
</li>
### 类型:论文
### 作者Yifan Hu等
### 说明:
不同于通常矩阵分解处理的都是评分数据这样的显式反馈,本文介绍一种处理点击等隐式反馈数据的矩阵分解模型。
<li>
<h3>题目Matrix Factorization Techniques For Recommender Systems</h3>
</li>
### 类型:论文
### 作者Yehuda Koren等
### 说明:
本文是大神Yehuda Koren对矩阵分解在推荐系统中的应用做的一个普及性介绍值得一读。
<li>
<h3>题目The BellKor Solution to the Netflix Grand Prize</h3>
</li>
### 类型:论文
### 作者Yehuda Koren
### 说明:
也是一篇综述或者说教程针对Netflix Prize的。
## 4.模型融合
<li>
<h3>题目Adaptive Bound Optimization for Online Convex Optimization</h3>
</li>
### 类型:论文
### 作者Google
### 说明:
FTRL是CTR预估常用的优化算法本文介绍FTRL算法原理。
<li>
<h3>题目:在线最优化求解</h3>
</li>
### 类型:网络文章
### 作者:冯扬
### 说明:
是对FTRL的通俗版解说。
<li>
<h3>题目Ad Click Prediction: a View from the Trenches</h3>
</li>
### 类型:论文
### 作者Google
### 说明:
FTRL工程实现解读。
<li>
<h3>题目Factorization Machines</h3>
</li>
### 类型:论文
### 作者Steffen Rendle
### 说明:
提出FM模型的论文FM用于CTR预估。
<li>
<h3>题目Field-aware Factorization Machines for CTR Prediction</h3>
</li>
### 类型:论文
### 作者Yuchin Juan
### 说明:
FFM模型用于CTR预估。
<li>
<h3>题目Practical Lessons from Predicting Clicks on Ads at Facebook</h3>
</li>
### 类型:论文
### 说明:
提出了LR + GBDT的CTR预估模型。
<li>
<h3>题目Wide &amp; Deep Learning for Recommender Systems</h3>
</li>
### 类型:论文
### 作者Google
### 说明:
提出融合深度和宽度模型的Wide&amp;Deep模型用于CTR预估。
## 5.Bandit算法
<li>
<h3>题目Introduction to Bandits- Algorithms and Theory Part 1- Bandits with small sets of actions</h3>
</li>
### 类型:演示文稿
### 作者Jean-Yves Audibert等
### 说明:
介绍bandit算法概念理论和算法这部分主要针对小的选项候选集。
<li>
<h3>题目Introduction to Bandits- Algorithms and Theory Part 2- Bandits with large sets of actions</h3>
</li>
### 类型:演示文稿
### 作者Jean-Yves Audibert等
### 说明:
介绍Bandit算法概念理论和算法这部分主要针对较大的选项候选集。
<li>
<h3>题目A Contextual-Bandit Approach to Personalized News Article Recommendation</h3>
</li>
### 类型:论文
### 作者Yahoo
### 说明:
Linucb的原始论文考虑上下文的Bandit算法。
<li>
<h3>题目Collaborative Filtering Bandits</h3>
</li>
### 类型:论文
### 作者Shuai Li等
### 说明:
Bandit 算法与协同过滤结合提出COFIBA算法。
## 6.深度学习
<li>
<h3>题目Deep Neural Networks for YouTube Recommendations</h3>
</li>
### 类型:论文
### 作者Google
### 说明:
介绍YouTube视频推荐系统在深度神经网络上的尝试。能从中看到wide&amp;deep模型的影子。
<li>
<h3>题目Efficient Estimation of Word Representations in Vector Space</h3>
</li>
### 类型:论文
### 作者Google
### 说明:
Word2Vec的作者在这篇文章中提出了一种词嵌入向量学习方法也就是把开源工具包Word2Vec背后的模型详细介绍了一次。理论上很简单更多是一些工程技巧的分享。Word2Vec给推荐系统带来了一种新的隐因子向量学习方法深陷评分预测泥潭的矩阵分解被开拓了思路。
<li>
<h3>题目Item2Vec: Neural Item Embedding for Collaborative Filtering</h3>
</li>
### 类型:论文
### 作者Microsoft
### 说明:
这篇就是借鉴了word2vec在语言建模中的思路为推荐系统的行为建模从中为物品学习嵌入向量。
<li>
<h3>题目Learning Representations of Text using Neural Networks</h3>
</li>
### 类型:演示文稿
### 作者Google
### 说明:
理解为word2vec作者写一个教程。
<li>
<h3>题目Long Short-Term Memory</h3>
</li>
### 类型:论文
### 作者Sepp Hochreiter等
### 说明:
可以用来为序列建模的LSTM实际上在1997年就发表论文了只是在十几年后才大火。
<li>
<h3>题目An Empirical Exploration of Recurrent Network Architectures</h3>
</li>
### 类型:论文
### 作者Google
### 说明:
Google在RNN模型使用上的经验分享。
<li>
<h3>题目Recurrent Neural Networks for Collaborative Filtering</h3>
</li>
### 类型:网络文章
### 作者Erik Bernhardsson
### 说明:
这是Erik Bernhardsson在Spotify期间所做的尝试用RNN自动构建音乐播单。Erik Bernhardsson还有一项开源项目Annoy用于稠密向量的近邻搜索在推荐系统中也用得较多。
## 7.其他实用算法
<li>
<h3>题目Detecting Near-Duplicates for Web Crawling</h3>
</li>
### 类型:论文
### 作者Google
### 说明:
在这篇论文中提出了simhash算法用于大规模网页去重。
<li>
<h3>题目Weighted Random Sampling over Data Streams</h3>
</li>
### 类型:论文
### 作者Pavlos S. Efraimidis
### 说明:
对流式数据的加权采样。
<li>
<h3>题目Weighted Sampling Without Replacement from Data Streams</h3>
</li>
### 类型:论文:
### 作者Vladimir Braverman等
### 说明:
介绍了两种对流式数据的加权采样。
## 工程篇
## 1.常见架构
<li>
<h3>题目Activity Feeds Architecture</h3>
</li>
### 类型:演示文稿
### 作者Etsy
### 说明:
本文非常详细地介绍了社交动态信息流的架构设计细节。
<li>
<h3>题目Atom Activity Streams 1.0</h3>
</li>
### 类型:规范文档
### 作者Activity Streams Working Group
### 说明:
这是一份动态信息流数据模型的协议规范文档由Activity Streams Working Group共同发出这个组织包含Google和Microsoft。
<li>
<h3>题目Beyond the 5 starsNetflix Recommendations</h3>
</li>
### 类型:网络文章
### 作者Netflix
### 说明:
Netflix详细宏观上介绍了自家推荐系统的产品形态不只是比赛中的评分预测那么简单的。
<li>
<h3>题目System Architectures for Personalization and Recommendation</h3>
</li>
### 类型:网络文章
### 作者Netflix
### 说明:
Netflix 推荐系统的架构介绍。
<li>
<h3>题目Information Seeking-Convergence of Search, Recommendations and Advertising</h3>
</li>
### 类型:论文
### 作者H Garcia-Molina等
### 说明:
探讨搜索、推荐、广告三者架构统一。
## 2.关键模块
<li>
<h3>题目Overlapping Experiment Infrastructure- More, Better, Faster Experimentation</h3>
</li>
### 类型:论文
### 作者Google
### 说明:
ABTest实验平台的扛鼎之作Google出品值得拥有。
<li>
<h3>题目TencentRecReal-time Stream Recommendation in Practice</h3>
</li>
### 类型:论文
### 作者:腾讯
### 说明:
介绍了腾讯内部的实时推荐系统架构。
<li>
<h3>题目Personalization at Spotify using Cassandra</h3>
</li>
### 类型:网络文章
### 作者Spotify
### 说明:
介绍了Spotify在推荐系统所用到的数据存储中间件。
## 3.效果保证
<li>
<h3>题目Tutorial on Robustness of Recommender Systems</h3>
</li>
### 类型:演示文稿
### 作者Neil Hurley
### 说明:
本文非常详细讨论了对推荐系统的攻击和防护,并有实验模拟。
<li>
<h3>题目Recommender Systems Handbook(第八章)</h3>
</li>
### 类型:书
### 作者Francesco Ricci等
### 说明:
该书第八章介绍了能见到的几乎所有推荐系统评价指标,只是实际上用不到这么多指标。
## 其他书目
1. Pattern Recognization and Machine Learning机器学习基础有此一本足够了
1. 推荐系统实践(国内唯一一本非翻译的推荐系统书籍,入门必选)。
1. 信号与噪声(介绍贝叶斯统计的一本科普书)。
1. 复杂(推荐系统面对的是复杂网络,了解复杂系统和复杂网络的特点,有助于开脑洞)。
1. 信息简史(既然是信息经济,当然要读一本关于信息的历史)。
知道你们不会读的,所以就不推荐太多了。但愿我这个激将法有助于你学习进步。
### 打包资料地址
[https://github.com/xingwudao/36](https://github.com/xingwudao/36)

View File

@@ -0,0 +1,57 @@
<audio id="audio" title="结束语 | 遇“荐”之后,江湖再见" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/28/06/28cdb5b690806d53e094db434dc17706.mp3"></audio>
<img src="https://static001.geekbang.org/resource/image/84/55/849fcdc9afe5529ba77e3b0e2ec07c55.jpg" alt="">
好了,专栏终于写完了,所以我可以承认了:写专栏的过程还是很痛苦的。
如果要说整个过程中的一些感悟和心路,那就概括为三个“如”字吧。这三个“如”字,是三种痛苦,同时,也是三种收获。
## 如相问,写专栏
开始写专栏的时候也刚好是我入职贝壳找房(原链家网)的前后。这几年在小公司自由折腾惯了的我,需要突然适应成熟公司的一板一眼和部门合作,还有接踵而来的各种工作计划,都足以让人有点力不从心。
结果,专栏上线后的第一周,编辑就告诉我每周需要更新三篇,无论她当时是以多么轻松的口吻描述这个事实,我内心都是崩溃的,这不是鸡汤文,不是情感专栏,是硬朗的技术干货。
那还能怎么办?当然是选择原谅他们啊。所以,从写专栏的第一篇开始,我几乎无休地写了三个月,当然,注意这里我很有心机地写的是“几乎”。
这是身体消耗的辛苦之后呢却也让我遇见了另一个自己持续的高强度写作让我更加注意精力分配也比以前更加地自律。这主要得益于Lizzi定期问我“这周作业写完没有”让我仿佛回到小学还有编辑也经常时不时地问候我“什么时候交稿”令我不敢怠慢。
回望这三个月,真的是:洛阳亲友如相问,就说我在写专栏。
## 如来故,不负卿
写专栏以来,就有两个声音在内心互相叫骂。
这一边是要警惕那些博客写得好的工程师啊,不务正业。这个声音源自微信之父,感兴趣的人可以去搜一下原话。
那一边是一些早已是业界常识的算法或技术,很多人竟然第一次听说,或者还从没弄懂过,这就真的很需要有人助一臂之力了。
前面那个声音让我一度怀疑自己是否真的不务正业,后面那个声音时常鞭策我笔耕不辍。
两个声音每天都在对话,结果谁赢了呢,你猜?当然是后者,不然也不会有这个专栏了,这也是开设这个专栏的初心:填平知识的鸿沟,消除知识的信息不对称。
这是内心挣扎的痛苦,无法两全。任何事情,总是应该看待它的价值和闪光点,而不是盯着它的不足和负面。
对于写作这件事亦是如此,有价值,我喜欢,就可以开始,虽然曾经也有身边人对我投来不屑和嗤之以鼻的表情,令我一度深深地怀疑过自己的选择。
今天,写完这个专栏之际,我感觉到前所未有的成就感,因为过程中不断收到订阅者的反馈,大家的反馈让我坚信自己初心的正确,也让我庆幸自己没有因为别人的看法而改变自己的内心所向。
“世间安得两全法,不负如来不负卿。”选择有价值的方向,并沿着它勇往直前。
## 如临渊,如履冰
工作以来我也持续在一些渠道零碎地分享东西这一次写专栏很不同因为大家都是付费阅读。这让我时常处于如履薄冰的心态中非常害怕自己输出的东西不好质量对不起别人付出的软妹币和阅读时间如果订阅者觉得不爽还要付出一定的负面情绪来diss我那我的罪过就十分大了。
这种不放心令我时常表现为拖延症每一篇迟迟不能开始写总觉得准备得不够直到Deadline施施然地走来我才硬着头皮开始落笔。总觉得自己没有写太好就这样念叨着写到了最后一篇。
写完最后一篇之后我写了个Python程序统计全部字数将近十五万字着实把我自己吓了一跳万万没想到我原来是这样的能说。
这是一种战战兢兢的痛苦。但也是一种心怀敬畏的力量,这种力量,让我能在深渊旁边安全前行、在薄冰上也能站稳。
深渊凝视着我,我也凝视着深渊,深渊就在那,我也就在那,和谐地共处天地间。
敬畏会带来质量,敬畏会带来价值。敬畏你的行业,敬畏你的服务对象,敬畏你所要解决的问题,这个世界也许会变得更好一点。
如临深渊,如履薄冰,心若是存有敬畏,冰只会被春天融化。
好了,专栏结束了,但交流并不会就此终止,我们仍然可以一起交流与分享,山高水远,我们江湖再见。

View File

@@ -0,0 +1,14 @@
你好,我是刑无刀。
现在呢,咱们的课程结束了,恭喜你顺利学完《推荐系统三十六式》中所有的内容,不知道你掌握的怎么样呢?
我为你准备了一套结课测试题。它是对你课程学习效果的一个检验,你也可以把它作为一个对于课程的系统性回顾。
我们的测试题目一共包括 10道单项选择题满分 100 分。
当你完成测试以后,也可以看到我为你附上的参考答案和题目解析,希望能够帮助到你。
好了,请开始你的测试吧。加油!
[<img src="https://static001.geekbang.org/resource/image/00/06/00244430e720d587a1f30c84a77a1306.png" alt="">](http://time.geekbang.org/quiz/intro?act_id=193&amp;exam_id=472)