本書除了介紹推薦系統(tǒng)的一般框架、典型應(yīng)用和評測方法外,還圖文并茂地介紹了各種典型推薦系統(tǒng)與算法的思想、原理、設(shè)計、實現(xiàn)和應(yīng)用場景。除了介紹基于協(xié)同過濾的推薦、基于內(nèi)容的推薦、基于知識的推薦等經(jīng)典推薦系統(tǒng)與算法外,還介紹了基于排序?qū)W習(xí)的推薦、基于異質(zhì)信息網(wǎng)絡(luò)的推薦、基于圖神經(jīng)網(wǎng)絡(luò)的推薦等新型推薦系統(tǒng)與算法。此外,為便于讀者快速入門并開展相關(guān)工程實踐,本書還提供了配套的講解視頻和實驗內(nèi)容。
本書可作為計算機科學(xué)與技術(shù)、軟件工程、數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)、人工智能等專業(yè)高年級本科生和研究生的推薦系統(tǒng)、數(shù)據(jù)挖掘、人工智能等相關(guān)課程的教材或參考書,也可作為從事推薦系統(tǒng)、搜索引擎、數(shù)據(jù)挖掘等研發(fā)工作相關(guān)人員的參考書。
本書配有電子課件、源代碼等教學(xué)資源,歡迎選用本書作教材的老師登錄www.cmpedu.com注冊后獲取。
本書遵循教指委相關(guān)指導(dǎo)文件和高等院校學(xué)生學(xué)習(xí)規(guī)律編寫而成。踐行四新理念,融入思政元素,注重理論與實踐相結(jié)合。
由于具有廣泛的應(yīng)用價值同時又面臨諸多挑戰(zhàn),推薦系統(tǒng)一直備受各界關(guān)注。自本書第1版出版以來,收到了很多讀者和授課老師的積極反饋和寶貴建議。在此基礎(chǔ)上,結(jié)合我們多年的教學(xué)與科研積累,從主體內(nèi)容、內(nèi)容組織與表現(xiàn)形式、配套資源等多方面對本書進(jìn)行了修訂和升級。
在主體內(nèi)容方面,通過對各種推薦系統(tǒng)的思想、原理和實現(xiàn)進(jìn)行系統(tǒng)性抽象與總結(jié),提煉出了推薦系統(tǒng)的統(tǒng)一框架,包括用戶建模(畫像)、項目建模(畫像)、推薦算法等主要模塊。在第1版重點介紹各種推薦算法的基礎(chǔ)上,進(jìn)一步給出了各種典型推薦系統(tǒng)中用戶畫像和項目畫像的思路與方法,并相應(yīng)地給出各種實用推薦系統(tǒng)的設(shè)計與實現(xiàn)。此外,還增加了一些近年提出并被學(xué)界認(rèn)可或業(yè)界應(yīng)用驗證的推薦算法與框架,例如融合深度神經(jīng)網(wǎng)絡(luò)與因子分解機的推薦算法、基于注意力機制的推薦算法、基于圖神經(jīng)網(wǎng)絡(luò)的推薦框架等。
在內(nèi)容組織與表現(xiàn)形式方面,采用問題引導(dǎo)與示例展示相結(jié)合的方式,增加大量可視化圖表,通過原理示意圖、系統(tǒng)框圖、業(yè)務(wù)流程圖等可視化方式直觀展示各種推薦算法與系統(tǒng)的思想、設(shè)計、實現(xiàn)和應(yīng)用;引導(dǎo)讀者層層遞進(jìn)地深入思考問題,不斷優(yōu)化解決方案,以培養(yǎng)其精益求精的工匠精神。
在配套資源方面,錄制了配套的講解視頻,并在中國大學(xué)MOOC、學(xué)堂在線等平臺上開設(shè)了免費在線課程,便于讀者線上線下聯(lián)合學(xué)習(xí),進(jìn)一步提升學(xué)習(xí)效率。此外,為配合國務(wù)院、等部門發(fā)布的關(guān)于新工科建設(shè)的多項規(guī)劃,開發(fā)并開源了書中各種算法、系統(tǒng)和實驗配套的源代碼,便于讀者開展相關(guān)的課程實驗和工程實踐活動,以幫助讀者快速入門并不斷提高實踐動手能力。
本書在編寫和相關(guān)配套資源的建設(shè)過程中,得到了多方支持并獲得了一些榮譽,包括獲得產(chǎn)學(xué)合作協(xié)同育人項目資助,榮獲北京大學(xué)教學(xué)成果獎,入選首批工程類專業(yè)在線示范課程,入選中國機械工業(yè)教育協(xié)會十四五普通高等教育規(guī)劃教材等。
在本書的編寫過程中,操懿、杜鷹鵬、王新陽等幾位北京大學(xué)研究生幫助完成了部分資料的整理工作,在此對他們表示感謝。此外,還要感謝使用本書作為教材或參考書的各位老師以及他們所提出的寶貴意見與建議。
由于學(xué)識水平有限,書中難免有一些不足之處,敬請廣大讀者批評指正。
目錄
第2版前言
第1版前言
第1章概述1
1.1推薦系統(tǒng)簡介1
1.1.1信息超載1
1.1.2長尾效應(yīng)2
1.1.3推薦系統(tǒng)的價值3
1.2推薦系統(tǒng)的發(fā)展歷史4
1.3典型應(yīng)用場景5
1.3.1電商5
1.3.2新聞6
1.3.3音樂7
1.4推薦系統(tǒng)框架8
1.4.1用戶畫像9
1.4.2項目畫像10
1.5推薦算法分類11
1.5.1基于算法思想的分類11
1.5.2基于應(yīng)用問題的分類14
習(xí)題15
第2章基于鄰域的協(xié)同過濾16
2.1協(xié)同過濾簡介16
2.1.1基本思想16
2.1.2算法分類17
2.1.3一般流程17
2.2基于用戶的協(xié)同過濾18
2.2.1TopN推薦20
2.2.2評分預(yù)測23
2.3基于項目的協(xié)同過濾25
2.3.1TopN推薦26
2.3.2評分預(yù)測29
2.4基于距離的相似度度量30
2.5鄰域的選取32
2.6Slope One算法33
2.7基于二部圖的協(xié)同過濾34
2.7.1激活擴散模型35
2.7.2物質(zhì)擴散模型37
2.7.3熱傳導(dǎo)模型39
2.7.4基于圖擴散的推薦系統(tǒng)42
習(xí)題43
第3章基于模型的協(xié)同過濾44
3.1基于關(guān)聯(lián)規(guī)則的協(xié)同過濾44
3.1.1基本概念45
3.1.2關(guān)聯(lián)規(guī)則度量45
3.1.3Apriori關(guān)聯(lián)規(guī)則挖掘算法47
3.1.4關(guān)聯(lián)規(guī)則的相關(guān)分析48
3.1.5基于關(guān)聯(lián)規(guī)則的推薦系統(tǒng)49
3.2基于矩陣分解的評分預(yù)測50
3.2.1奇異值分解50
3.2.2隱語義模型52
3.2.3概率矩陣分解57
3.2.4SVD 模型61
3.3基于矩陣分解的TopN推薦62
3.3.1基于正樣本過采樣的矩陣分解62
3.3.2基于負(fù)樣本欠采樣的矩陣分解63
習(xí)題64
第4章基于內(nèi)容和知識的推薦65
4.1基于內(nèi)容的推薦系統(tǒng)框架65
4.2基于詞向量空間模型的文本表示67
4.2.1詞袋模型67
4.2.2TFIDF模型68
4.2.3模型改進(jìn)71
4.2.4向量相似度度量71
4.3基于語義的內(nèi)容相似度72
4.3.1基于本體的文本相似度72
4.3.2基于網(wǎng)絡(luò)知識的文本相似度73
4.3.3基于語料庫的文本相似度75
4.4基于知識的推薦77
4.4.1基于約束的推薦78
4.4.2基于效用的推薦81
4.4.3基于實例的推薦82
4.4.4基于知識庫的推薦84
習(xí)題86
第5章混合推薦系統(tǒng)87
5.1混合推薦實例Netflix百萬美金公開賽87
5.2混合/組合推薦的動機89
5.2.1實踐經(jīng)驗89
5.2.2理論依據(jù)90
5.3混合/組合方法分類92
5.3.1有監(jiān)督組合和無監(jiān)督組合92
5.3.2基推薦器間依賴關(guān)系93
5.4并行式混合推薦94
5.4.1加權(quán)式混合94
5.4.2切換式混合95
5.4.3排序混合96
5.5串行式混合推薦97
5.5.1級聯(lián)過濾97
5.5.2級聯(lián)學(xué)習(xí)98
5.6整體式混合推薦99
5.6.1特征組合99
5.6.2特征擴充100
5.6.3基于圖模型的混合100
習(xí)題102
第6章推薦系統(tǒng)評測103
6.1評測視角103
6.2實驗方法104
6.2.1在線實驗104
6.2.2用戶調(diào)查105
6.2.3離線實驗106
6.3評分預(yù)測評價指標(biāo)107
6.3.1MAE和MSE107
6.3.2RMSE、NMAE和NRMSE108
6.4TopN推薦評價指標(biāo)109
6.4.1分類準(zhǔn)確度指標(biāo)109
6.4.2ROC曲線和AUC值111
6.4.3基于排序的評價指標(biāo)113
6.4.4其他常用評價指標(biāo)115
6.5公開實驗數(shù)據(jù)集116
習(xí)題118
第7章基于排序?qū)W習(xí)的推薦119
7.1排序?qū)W習(xí)模型分類119
7.2對級排序?qū)W習(xí)模型121
7.2.1基本框架121
7.2.2貝葉斯個性化排序123
7.2.3協(xié)同對級排序?qū)W習(xí)125
7.3列表級排序?qū)W習(xí)模型129
7.3.1PPush CR算法129
7.3.2CofiRank算法131
習(xí)題133
第8章基于情境感知的推薦134
8.1情境信息的定義134
8.2情境信息的獲取136
8.3基于情境感知的推薦系統(tǒng)框架136
8.3.1數(shù)據(jù)立方體137
8.3.2基于樹的層次信息表達(dá)138
8.4融合情境信息的推薦模型139
8.4.1情境預(yù)過濾140
8.4.2情境后過濾141
8.5情境建模141
8.5.1基于鄰域的方法142
8.5.2基于模型的方法143
習(xí)題146
第9章基于時空信息的推薦147
9.1基于時間信息的推薦147
9.1.1最近最熱門推薦算法148
9.1.2基于時間的項目協(xié)同過濾148
9.1.3基于時間的用戶協(xié)同過濾149
9.1.4基于會話的推薦150
9.2基于序列感知的推薦151
9.2.1基于馬爾可夫模型的序列預(yù)測152
9.2.2基于循環(huán)神經(jīng)網(wǎng)絡(luò)的序列預(yù)測155
9.2.3基于注意力機制的序列預(yù)測157
9.3基于空間信息的推薦160
9.3.1位置信息的獲取與推理161
9.3.2基于位置信息的推薦161
9.3.3融合其他信息的推薦163
習(xí)題163
第10章基于社交關(guān)系的推薦164
10.1社交關(guān)系數(shù)據(jù)164
10.2基于鄰域的社交化推薦166
10.2.1基于用戶的協(xié)同過濾166
10.2.2基于圖擴散的推薦167
10.3基于模型的社交化推薦169
10.3.1基于潛在社交因子學(xué)習(xí)的推薦169
10.3.2基于顯式社交關(guān)系的推薦171
10.4基于社會曝光的協(xié)同過濾174
習(xí)題176
第11章基于異質(zhì)信息網(wǎng)絡(luò)的推薦177
11.1基本概念177
11.2基于鄰域的HIN推薦算法178
11.2.1基于隨機游走的相關(guān)度度量178
11.2.2基于元路徑的相關(guān)度度量179
11.2.3基于元路徑和隨機游走混合的相關(guān)度度量183
11.3基于模型的HIN推薦算法183
11.3.1兩階段融合模型183
11.3.2端到端的學(xué)習(xí)模型188
習(xí)題191
第12章基于圖神經(jīng)網(wǎng)絡(luò)的推薦192
12.1圖神經(jīng)網(wǎng)絡(luò)簡介192
12.1.1任務(wù)分類與定義193
12.1.2一般流程與框架194
12.1.3采樣模塊195
12.1.4池化模塊196
12.1.5傳播模塊198
12.2圖神經(jīng)網(wǎng)絡(luò)典型算法202
12.2.1GCN算法202
12.2.2GraphSAGE算法204
12.2.3GAT算法205
12.3基于圖神經(jīng)網(wǎng)絡(luò)的推薦算法207