《推薦系統(tǒng)實戰(zhàn)寶典》主要圍繞推薦系統(tǒng)進行講解,全面介紹了掌握推薦系統(tǒng)技術(shù)所需要學(xué)習(xí)的算法及步驟。書中描述了基于點擊率評估、RBM的推薦,基于標(biāo)簽的推薦,基于用戶行為、內(nèi)容、模型、流行度、鄰域、圖的推薦,以及基于上下文的推薦,還有使用自然語言處理或者矩陣分解的推薦,包括算法原理的介紹,對于每一種推薦方式也做了細(xì)粒度的分析及場景化的應(yīng)用。還分享了作者在實際應(yīng)用中的解決方案及擴展思路。除此之外,本書還會涉及一些基礎(chǔ)算法及數(shù)學(xué)知識,并且包括對于推薦算法的一些模型評估以及校驗的描述。閱讀本書可以幫助讀者學(xué)習(xí)基礎(chǔ)算法和推薦算法的原理及實際應(yīng)用,同時還能學(xué)習(xí)到推薦系統(tǒng)開發(fā)的設(shè)計思想、設(shè)計模式、開發(fā)流程等。這些對于讀者全面提高自己的推薦系統(tǒng)開發(fā)水平有很大的幫助。
《推薦系統(tǒng)實戰(zhàn)寶典》為讀者提供了全部案例源代碼下載和超過1100分鐘的高清學(xué)習(xí)視頻,讀者可直接掃描二維碼觀看。
《推薦系統(tǒng)實戰(zhàn)寶典》適合從事推薦系統(tǒng)相關(guān)領(lǐng)域研發(fā)的人員、高年級本科生或研究生、熱衷于推薦系統(tǒng)開發(fā)的讀者閱讀。
1. 內(nèi)容實用:以推薦系統(tǒng)開發(fā)工程師的視角講解算法知識和實操流程,同時包含了推薦算法的全新思想(如融合Match中協(xié)同過濾思想的深度排序模型)。
2. 資源豐富:附贈113段、超過1100分鐘的高清視頻教程和全部案例的源代碼。
由于技術(shù)知識領(lǐng)域特別廣,我們不可能針對所有的技術(shù)都了解得特別通透,因此只有選好了一個領(lǐng)域,才可以對某項技術(shù)有更深入的研究,學(xué)習(xí)的內(nèi)容才會更加系統(tǒng)化,而推薦系統(tǒng)就是筆者持續(xù)研究的技術(shù)領(lǐng)域。我將社區(qū)上一些比較有意思的東西積累起來,針對一些疑難問題也會將它們記錄下來,在這樣的不斷閱讀、寫作過程中,我得到了快速成長。目前,推薦系統(tǒng)領(lǐng)域?qū)崙?zhàn)類相關(guān)的書籍并不是很多,所以我將關(guān)于推薦系統(tǒng)方面的知識進行整理、改進,同時也加入了一些工作中積累的知識。本書的內(nèi)容不局限于理論知識的講解,還包括了實戰(zhàn)項目的開發(fā)環(huán)節(jié)。
《推薦系統(tǒng)實戰(zhàn)寶典》不是僅僅關(guān)于推薦算法的分析書籍,書中還囊括了很多實例。首先,本書會先講解算法,然后針對每一個算法都會有一個實戰(zhàn)的項目,該項目可以是一個小例子,也可以是一個工作中遇到的大型項目。其次,本書會是一個比較新的書,這里的新并不是指所分析的代碼或者是講解的算法新,它的新包含了兩點,第一點是會帶領(lǐng)讀者了解到要成為一名推薦系統(tǒng)開發(fā)工程師都需要掌握什么知識,還有實現(xiàn)推薦系統(tǒng)都需要什么流程,書中提到的知識不一定會有詳細(xì)的講解,比如數(shù)學(xué)章節(jié),由于本書的重點不在于數(shù)學(xué)知識的學(xué)習(xí),因此只會略微提及,并且會使用實例來幫助讀者理解,這么做的目的是讓讀者在集中學(xué)習(xí)推薦算法的同時,認(rèn)識到基礎(chǔ)是非常重要的,很多關(guān)于機器學(xué)習(xí)領(lǐng)域更深層次的研究或者工作,正是由于基礎(chǔ)知識的積累,才可以達(dá)到想要的高度;第二點的新指的是本書還包含了推薦系統(tǒng)在一些新領(lǐng)域的應(yīng)用實例,以及一些關(guān)于推薦算法的全新思想(如融合Match中協(xié)同過濾思想的深度排序模型)。讀者將在本書中領(lǐng)略到一些在機器學(xué)習(xí)中經(jīng)常被提到的算法是怎么應(yīng)用在推薦系統(tǒng)中的。期待本書能給廣大讀者帶來更多的啟發(fā)。
《推薦系統(tǒng)實戰(zhàn)寶典》適合具有一定Java語言、Python語言基礎(chǔ)的讀者,尤其適合以下讀者朋友:
1)大數(shù)據(jù)開發(fā)工程師、機器學(xué)習(xí)開發(fā)工程師、推薦系統(tǒng)開發(fā)工程師。
2)高年級本科生或研究生。
3)熱衷于推薦系統(tǒng)開發(fā)的技術(shù)愛好者。
《推薦系統(tǒng)實戰(zhàn)寶典》分為五大部分:推薦系統(tǒng)介紹篇(第1章)包括推薦系統(tǒng)概述;推薦系統(tǒng)基礎(chǔ)篇(第2~3章)包括機器學(xué)習(xí)準(zhǔn)備工作、機器學(xué)習(xí)基礎(chǔ)讓推薦系統(tǒng)更懂你;推薦系統(tǒng)進階篇(第4~7章)包括基于點擊率預(yù)估、RBM的推薦,基于標(biāo)簽的推薦,推薦算法,推薦系統(tǒng)冷啟動及召回方法;推薦系統(tǒng)強化篇(第8~11章)包括基于上下文的推薦、文本處理、使用矩陣分解的推薦、推薦模型預(yù)估與選擇;推薦系統(tǒng)實戰(zhàn)篇(第12~17章)包括搭建一個簡易版的生產(chǎn)環(huán)境推薦系統(tǒng)、新聞資訊推薦系統(tǒng)開發(fā)、電影推薦系統(tǒng)開發(fā)、基于hbase spark的廣告精準(zhǔn)投放及推薦系統(tǒng)開發(fā)、基于推薦功能的搜索引擎開發(fā)、基于卷積神經(jīng)網(wǎng)絡(luò)提取特征構(gòu)建推薦系統(tǒng)。
最后感謝我的家人、朋友、同事以及機械工業(yè)出版社的編輯,你們在工作、生活和寫作中不斷給予我?guī)椭椭С,協(xié)助我解決各種各樣的問題。正因如此才有了本書中所展現(xiàn)的精彩內(nèi)容。
由于編者水平有限,書中難免會有錯漏之處,懇請讀者批評指正。各位讀者可以將關(guān)于本書的意見和建議發(fā)送到郵箱:1697312000@qq.com。本書涉及的源碼可通過郵件獲取。
1. 呂倩倩,女,2018年畢業(yè)于沈陽航空航天大學(xué)軟件工程專業(yè),獲工學(xué)學(xué)士學(xué)位。原商品交易所大數(shù)據(jù)開發(fā)工程師,現(xiàn)任花旗銀行大數(shù)據(jù)開發(fā)工程師。2015年獲得ACM-ICPC大賽三等獎;2016年獲得美國數(shù)學(xué)建模競賽一等獎、亞太數(shù)學(xué)建模二等獎,并多次獲得全國大學(xué)生數(shù)學(xué)建模競賽一等獎、二等獎;2018年獲得阿里云ACA認(rèn)證證書。
2. 陳欣,女,華南農(nóng)業(yè)大學(xué)電子工程學(xué)院/人工智能學(xué)院副教授,碩士研究生導(dǎo)師,華南農(nóng)業(yè)大學(xué)高層次引進人才。主持多項國家自然科學(xué)基金、廣東省自然科學(xué)基金項目,在國內(nèi)外學(xué)術(shù)期刊上發(fā)表論文20余篇,在步態(tài)識別方面的研究成果被央視專題報道,圍繞該成果錄制的《極客出發(fā)》節(jié)目在央視黃金時段播出。
第1部分 推薦系統(tǒng)介紹篇
第1章 推薦系統(tǒng)概述/2
1.1 什么是推薦系統(tǒng)/2
1.2 推薦系統(tǒng)的架構(gòu)/3
1.3 推薦系統(tǒng)架構(gòu)治理/4
1.4 推薦引擎的架構(gòu)/5
1.5 推薦系統(tǒng)的應(yīng)用/9
1.5.1 電影和視頻網(wǎng)站/9
1.5.2 個性化音樂電臺/10
1.5.3 個性化廣告及搜索廣告/10
1.5.4 多業(yè)務(wù)融合推薦策略實踐與思考/11
1.6 推薦系統(tǒng)評測/11
1.6.1 推薦系統(tǒng)實驗方法/12
1.6.2 評測指標(biāo)/13
1.6.3 評測維度/14
1.7 推薦系統(tǒng)知識儲備/14
第2部分 推薦系統(tǒng)基礎(chǔ)篇
第2章 機器學(xué)習(xí)準(zhǔn)備工作/16
2.1 機器學(xué)習(xí)緒論/18
2.1.1 數(shù)據(jù)積累/18
2.1.2 特征(過濾法、包裝法、嵌入法)/18
2.1.3 模型的不可解釋性/22
2.2 數(shù)學(xué)基礎(chǔ)知識/23
2.2.1 微積分/23
2.2.2 統(tǒng)計學(xué)/29
2.2.3 線性代數(shù)/35
2.2.4 信息論基礎(chǔ)/36
2.2.5 凸優(yōu)化/37
2.3 Python編程/39
第3章 機器學(xué)習(xí)基礎(chǔ)讓推薦系統(tǒng)更懂你/49
3.1 貝葉斯分類器/49
3.1.1 貝葉斯決策論/53
3.1.2 大似然估計/57
3.1.3 EM算法/59
3.1.4 垃圾郵件過濾實戰(zhàn)/62
3.2 決策樹/65
3.3 支持向量機(SVM)/70
3.3.1 SVM介紹/70
3.3.2 半監(jiān)督SVM/71
3.4 KNN算法/71
3.5 線性回歸/73
3.6 邏輯回歸/77
3.7 Spark MLlib/79
3.7.1 Spark MLlib簡介/79
3.7.2 Spark MLlib矩陣計算/80
3.7.3 Spark MLlib實現(xiàn)分類算法/81
3.7.4 Spark MLlib實現(xiàn)回歸算法/81
3.7.5 Spark MLlib實現(xiàn)聚類算法/82
3.8 聚類任務(wù)/82
3.8.1 k均值聚類算法/82
3.8.2 高斯混合聚類/85
第3部分 推薦系統(tǒng)進階篇
第4章 基于點擊率預(yù)估、RBM的推薦/94
4.1 傳統(tǒng)推薦算法的局限和應(yīng)用/94
4.1.1 傳統(tǒng)推薦算法的局限/94
4.1.2 傳統(tǒng)推薦算法的應(yīng)用/95
4.1.3 點擊率預(yù)估在推薦系統(tǒng)中的應(yīng)用/95
4.2 集成學(xué)習(xí)(Ensemble Learning)/95
4.2.1 GBDT/96
4.2.2 XgBoost/97
4.2.3 Bagging與隨機森林/98
4.3 實例:基于RBM的推薦算法/102
第5章 基于標(biāo)簽的推薦/104
5.1 基于標(biāo)簽系統(tǒng)的應(yīng)用/104
5.2 數(shù)據(jù)標(biāo)注與關(guān)鍵詞提。104
5.2.1 推薦系統(tǒng)中的數(shù)據(jù)標(biāo)注/104
5.2.2 推薦系統(tǒng)中的關(guān)鍵詞提。105
5.2.3 標(biāo)簽的分類/106
5.3 基于標(biāo)簽的推薦系統(tǒng)/106
5.3.1 標(biāo)簽評分算法/106
5.3.2 標(biāo)簽評分算法改進/107
5.3.3 標(biāo)簽基因/107
5.3.4 用戶興趣建模/107
5.4 實例:使用標(biāo)簽推薦算法實現(xiàn)藝術(shù)家的推薦/108
5.4.1 了解實現(xiàn)思路/108
5.4.2 準(zhǔn)備數(shù)據(jù)/108
5.4.3 選擇算法/109
5.4.4 模型訓(xùn)練/109
5.4.5 效果評估/110
第6章 推薦算法/112
6.1 基于內(nèi)容的推薦算法/112
6.2 基于用戶行為特征的推薦算法/113
6.2.1 User-Based CF詳解及優(yōu)化/114
6.2.2 Item-Based CF詳解及優(yōu)化/115
6.2.3 融合Match中協(xié)同過濾思想的深度排序模型/116
6.3 基于模型的推薦算法/117
6.4 基于流行度的推薦算法/118
6.5 混合算法/119
6.6 基于圖的模型/120
6.6.1 用戶行為數(shù)據(jù)的二分圖表示/120
6.6.2 基于圖的推薦算法/121
6.7 基于社交網(wǎng)絡(luò)的推薦/121
6.7.1 基于鄰域的社會化推薦算法/121
6.7.2 基于圖的社會化推薦算法/122
6.8 Slope-one推薦算法/122
6.9 基于DNN的推薦算法介紹/123
6.10 基于TF實現(xiàn)稀疏自編碼和在推薦中的應(yīng)用/124
6.11 聯(lián)邦推薦算法及應(yīng)用/127
第7章 推薦系統(tǒng)冷啟動及召回方法/131
7.1 冷啟動問題簡介/131
7.2 選擇合適的物品啟動用戶的興趣/131
7.3 利用物品的內(nèi)容信息/132
7.4 Multi-View DNN模型解決用戶冷啟動/132
第4部分 推薦系統(tǒng)強化篇
第8章 基于上下文的推薦/134
8.1 基于時間特征的推薦/134
8.1.1 時間效應(yīng)介紹/134
8.1.2 推薦系統(tǒng)的實時性/135
8.1.3 協(xié)同過濾中的時間因子/135
8.2 實例:增加時間衰減函數(shù)的協(xié)同過濾算法/136
8.2.1 在UserCF算法中增加時間衰減函數(shù)/136
8.2.2 在ItemCF算法中增加時間衰減函數(shù)/137
第9章 文本處理/139
9.1 Word2Vec/139
9.1.1 Word2Vec簡介/139
9.1.2 詞向量/141
9.1.3 分層優(yōu)化語言模型/147
9.1.4 連續(xù)詞袋模型/147
9.2 fastText/150
9.2.1 模型架構(gòu)/150
9.2.2 層次Softmax/151
9.2.3 N-Gram子詞特征/151
9.2.4 fastText和Word2Vec的區(qū)別/152
9.2.5 使用fastText分類/152
9.3 Gensim/154
9.3.1 Gensim基本概念/154
9.3.2 Gensim的安裝及簡單使用/154
9.3.3 主題向量的轉(zhuǎn)化:TF-IDF(詞頻逆文檔頻率)/156
9.3