本書圍繞電商、資訊等眾多實際應(yīng)用背后的內(nèi)核,即智能推薦技術(shù),系統(tǒng)介紹經(jīng)典和前沿技術(shù),包括基于鄰域、矩陣分解、深度學(xué)習、遷移學(xué)習、聯(lián)邦學(xué)習等的建模方法和推薦算法。 本書圍繞用戶行為數(shù)據(jù)的建模問題組織內(nèi)容,全書共分6部分: 第1部分(第1章)為背景和基礎(chǔ); 第2部分(第2~4章)為單行為推薦,是指僅對一種顯式反饋(如評分)或一種隱式反饋(如瀏覽)數(shù)據(jù)進行建模; 第3部分(第5~6章)為多行為推薦,是指同時考慮瀏覽和購買等包含多種行為的數(shù)據(jù); 第4部分(第7~8章)為序列推薦,是指同時關(guān)注用戶行為和這些行為的先后順序; 第5部分(第9~10章)為聯(lián)邦推薦,更加關(guān)注用戶行為中的隱私和數(shù)據(jù)安全問題; 第6部分(第11章)為總結(jié)與展望。全書綜合梳理了多個智能推薦問題和相關(guān)技術(shù),分析了方法的優(yōu)缺點和內(nèi)在聯(lián)系,并在每章結(jié)束時提供了詳細的參考文獻和有針對性的習題。 本書可以作為計算機科學(xué)與技術(shù)、軟件工程等相關(guān)專業(yè)的研究生和高年級本科生的教材,也可以作為推薦系統(tǒng)工程師的參考手冊。
本書綜合梳理了多個智能推薦問題和相關(guān)技術(shù),分析了方法的優(yōu)缺點和內(nèi)在聯(lián)系,并在每章結(jié)束時提供了詳細的參考文獻和有針對性的習題。本書可以作為計算機科學(xué)與技術(shù)、軟件工程等相關(guān)專業(yè)的研究生和高年級本科生的教材,也可以作為推薦系統(tǒng)工程師的參考手冊。為了方便讀者查閱資料和擴展閱讀,本書附錄給出了部分知名學(xué)術(shù)期刊和學(xué)術(shù)會議的列表、推薦系統(tǒng)國際會議(ACM RecSys)歷年征文通知中的研究話題和研討會的主題以及書中涉及的中英文術(shù)語對照表。
在大數(shù)據(jù)和人工智能時代,智能推薦技術(shù)作為一種應(yīng)對信息過載問題和提供個性化服務(wù)的有效手段,在學(xué)術(shù)研究和商業(yè)應(yīng)用方面受到了廣泛關(guān)注,并取得了巨大成功,甚至被稱為一個互聯(lián)網(wǎng)應(yīng)用系統(tǒng)的標配。
從學(xué)術(shù)研究的角度來看,科研人員對用戶的各種行為數(shù)據(jù)進行了深入的研究,包括顯式反饋數(shù)據(jù)(如用戶對物品的評分行為)、隱式反饋數(shù)據(jù)(如用戶對物品的瀏覽行為)、包含多種用戶行為的異構(gòu)反饋數(shù)據(jù)以及用戶的序列反饋數(shù)據(jù)等。此外,深度學(xué)習、遷移學(xué)習和聯(lián)邦學(xué)習等前沿技術(shù)也被引入用戶行為的建模中,以提升推薦的性能和隱私安全。
從商業(yè)應(yīng)用的角度來看,通過對系統(tǒng)中的用戶行為(或反饋)數(shù)據(jù)的建模,相關(guān)算法和技術(shù)能較為有效地挖掘和學(xué)習用戶的真實偏好,進而為用戶提供精準的個性化服務(wù),因此具有非常廣闊的應(yīng)用場景。近年來,在電子商務(wù)、新聞資訊、視頻點播、開放課程、智慧出行和人才招聘等應(yīng)用領(lǐng)域都有許多非常成功的案例。
本書圍繞這些應(yīng)用背后的內(nèi)核,即智能推薦技術(shù),系統(tǒng)介紹經(jīng)典和前沿技術(shù),包括基于鄰域、矩陣分解、深度學(xué)習、遷移學(xué)習、聯(lián)邦學(xué)習等的建模方法和推薦算法。本書圍繞用戶行為數(shù)據(jù)的建模問題組織內(nèi)容,主要包括單行為推薦、多行為推薦、序列推薦和聯(lián)邦推薦四方面。其中,單行為是指僅對一種顯式反饋(如評分)或一種隱式反饋(如瀏覽)數(shù)據(jù)進行建模; 多行為是指同時考慮瀏覽和購買等包含多種行為的數(shù)據(jù); 序列是指同時關(guān)注用戶行為和這些行為的先后順序; 而聯(lián)邦則更加關(guān)注用戶行為中的隱私和數(shù)據(jù)安全問題。
本書綜合梳理了多個智能推薦問題和相關(guān)技術(shù),分析了方法的優(yōu)點、缺點和內(nèi)在聯(lián)系,并在每章章末提供了詳細的參考文獻和有針對性的習題。本書可以作為高等學(xué)校計算機科學(xué)與技術(shù)、軟件工程等相關(guān)專業(yè)的教材,也可以作為推薦系統(tǒng)工程師的參考手冊。為了方便讀者查閱資料和擴展閱讀,本書的附錄部分給出了部分知名學(xué)術(shù)期刊和學(xué)術(shù)會議的列表、推薦系統(tǒng)國際會議(ACM RecSys)歷年征文通知中的研究話題和研討會的主題以及書中涉及的中英文術(shù)語對照表。
書中的大部分內(nèi)容來自智能推薦研究組以往整理的課件或技術(shù)報告,介紹了研究組近年來學(xué)習和研究的一些比較經(jīng)典和基礎(chǔ)或比較有代表性的推薦方法。本書按照從問題描述,到方法詳解、推導(dǎo),再到實驗和討論等的較為統(tǒng)一的框架介紹大部分方法,這是本書的一大特色。鑒于研究組研究方向和寫作時間等的限制,很多優(yōu)秀的推薦技術(shù)和算法尚未被包含進來。書中難免有疏漏之處,懇請讀者和專家批評指正。
需要特別說明的是,智能推薦技術(shù)的研發(fā)和部署,可能會帶來一定的負面影響,因此必須在遵守有關(guān)法律法規(guī)和符合計算機倫理要求等的前提下開展工作。
后,希望本書能起到拋磚引玉的作用,也期待更多有關(guān)智能推薦系統(tǒng)和技術(shù)的書籍問世。
潘微科林晶明仲深圳大學(xué)計算機與軟件學(xué)院
2021年12月
第1章概述
1.1推薦技術(shù)簡介
1.2推薦問題分類
1.3數(shù)學(xué)基礎(chǔ)知識
1.3.1線性代數(shù)
1.3.2概率論
1.3.3神經(jīng)網(wǎng)絡(luò)中的激活函數(shù)
1.4常用數(shù)據(jù)集和驗證方法
1.4.1常用數(shù)據(jù)集
1.4.2驗證方法
1.5常用評價指標
1.5.1面向評分預(yù)測的評價指標
1.5.2面向物品排序的評價指標
1.6深度學(xué)習平臺簡介
1.7本章小結(jié)
1.8參考文獻
1.9習題
第2章基于顯式反饋的評分預(yù)測
2.1協(xié)同過濾(CF)問題
2.2基于均值填充的方法
2.2.1預(yù)測公式
2.2.2討論
2.3基于鄰域的方法
2.3.1基于用戶的協(xié)同過濾
2.3.2基于物品的協(xié)同過濾
2.3.3混合協(xié)同過濾
2.3.4討論
2.4基于矩陣分解的方法
2.4.1概率矩陣分解
2.4.2改進的奇異值分解
2.4.3結(jié)合多類偏好上下文的矩陣分解
2.4.4因子分解機
2.5基于深度學(xué)習的方法
2.5.1受限玻爾茲曼機
2.5.2自編碼器
2.6本章小結(jié)
2.7參考文獻
2.8習題
第3章基于顯式反饋的物品排序
3.1協(xié)同排序(CR)問題
3.2粗精遷移排序
3.2.1模型介紹
3.2.2算法流程
3.2.3代碼實現(xiàn)
3.2.4實驗設(shè)置
3.2.5討論
3.3上下文感知協(xié)同排序
3.3.1模型介紹
3.3.2算法流程
3.3.3代碼實現(xiàn)
3.3.4實驗設(shè)置
3.3.5討論
3.4整全遷移排序
3.4.1模型介紹
3.4.2基于模型的整全遷移排序
3.4.3基于鄰域的整全遷移排序
3.4.4代碼實現(xiàn)
3.4.5實驗設(shè)置
3.4.6討論
3.5本章小結(jié)
3.6參考文獻
3.7習題
第4章基于隱式反饋的物品排序
4.1單類協(xié)同過濾(OCCF)問題
4.2基于熱度的方法
4.3基于鄰域的方法
4.3.1相似度度量
4.3.2預(yù)測公式
4.4基于矩陣分解的方法
4.4.1貝葉斯個性化排序
4.4.2分解的物品相似度
4.4.3基于對數(shù)幾率損失的矩陣分解
4.4.4基于元素的交替小二乘
4.5基于深度學(xué)習的方法
4.5.1神經(jīng)協(xié)同過濾
4.5.2協(xié)同降噪自編碼器
4.5.3變分自編碼器
4.6本章小結(jié)
4.7參考文獻
4.8習題
第5章基于異構(gòu)反饋的評分預(yù)測
5.1異構(gòu)協(xié)同過濾(HCF)問題
5.2遷移共同分解
5.2.1技術(shù)細節(jié)
5.2.2算法流程
5.2.3代碼實現(xiàn)
5.2.4實驗設(shè)置
5.2.5討論
5.3偏好感知遷移
5.3.1技術(shù)細節(jié)
5.3.2算法流程
5.3.3代碼實現(xiàn)
5.3.4實驗設(shè)置
5.3.5討論
5.4本章小結(jié)
5.5參考文獻
5.6習題
第6章基于異構(gòu)反饋的物品排序
6.1異構(gòu)單類協(xié)同過濾(HOCCF)問題
6.2基于全量的異構(gòu)反饋建模
6.2.1技術(shù)細節(jié)
6.2.2算法流程
6.2.3代碼實現(xiàn)
6.2.4實驗設(shè)置
6.2.5討論
6.3基于角色的異構(gòu)反饋建模
6.3.1技術(shù)細節(jié)
6.3.2算法流程
6.3.3代碼實現(xiàn)
6.3.4實驗設(shè)置
6.3.5討論
6.4基于關(guān)系的異構(gòu)反饋建模
6.4.1技術(shù)細節(jié)
6.4.2代碼實現(xiàn)
6.4.3實驗設(shè)置
6.4.4討論
6.5其他異構(gòu)反饋建模方法
6.5.1基于矩陣分解的方法
6.5.2基于遷移學(xué)習的方法
6.5.3基于深度學(xué)習的方法
6.6本章小結(jié)
6.7參考文獻
6.8習題
第7章單行為序列推薦
7.1序列單類協(xié)同過濾(SOCCF)問題
7.2基于分解馬爾可夫鏈的FPMC算法
7.2.1預(yù)測公式和優(yōu)化目標
7.2.2梯度、更新公式和算法流程
7.2.3實驗設(shè)置
7.2.4討論
7.3基于分解高階馬爾可夫鏈的Fossil算法
7.3.1預(yù)測公式和優(yōu)化目標
7.3.2梯度、更新公式和算法流程
7.3.3實驗設(shè)置
7.3.4討論
7.4基于雙向物品相似度的BIS算法
7.4.1BIS算法的原理
7.4.2BIS算法的實現(xiàn)
7.4.3討論
7.5基于循環(huán)神經(jīng)網(wǎng)絡(luò)的GRU4Rec算法
7.5.1GRU4Rec算法的原理
7.5.2GRU4Rec算法的實現(xiàn)
7.5.3討論
7.6基于卷積神經(jīng)網(wǎng)絡(luò)的Caser算法
7.6.1Caser算法的原理
7.6.2Caser算法的實現(xiàn)
7.6.3討論
7.7基于自注意力網(wǎng)絡(luò)的SASRec算法
7.7.1SASRec算法的原理
7.7.2SASRec算法的實現(xiàn)
7.7.3討論
7.8基于平移空間的TransRec算法
7.8.1預(yù)測公式與優(yōu)化目標
7.8.2梯度、更新公式與算法流程
7.8.3實驗設(shè)置
7.8.4討論
7.9本章小結(jié)
7.10參考文獻
7.11習題
第8章多行為序列推薦
8.1序列異構(gòu)單類協(xié)同過濾(SHOCCF)問題
8.2基于循環(huán)神經(jīng)網(wǎng)絡(luò)的方法
8.2.1RLBL算法
8.2.2RIB算法
8.2.3BINN算法
8.2.4討論
8.3基于圖神經(jīng)網(wǎng)絡(luò)的方法
8.3.1MSR算法
8.3.2MGNNSPred算法
8.3.3討論
8.4本章小結(jié)
8.5參考文獻
8.6習題
第9章跨用戶聯(lián)邦推薦
9.1跨用戶聯(lián)邦推薦(CUFR)問題
9.2隱私敏感的評分預(yù)測
9.2.1FedRec算法
9.2.2FedRec 算法
9.2.3SFSL算法
9.3隱私敏感的物品排序
9.3.1FCF算法
9.3.2PIOCCF算法
9.4本章小結(jié)
9.5參考文獻
9.6習題
第10章跨組織聯(lián)邦推薦
10.1跨組織聯(lián)邦推薦(COFR)問題
10.2共同矩陣分解
10.2.1技術(shù)細節(jié)
10.2.2討論
10.3聯(lián)邦矩陣分解
10.3.1技術(shù)細節(jié)
10.3.2討論
10.4聯(lián)邦共同矩陣分解
10.4.1技術(shù)細節(jié)
10.4.2算法流程
10.4.3討論
10.5本章小結(jié)
10.6參考文獻
10.7習題
第11章總結(jié)與展望
11.1總結(jié)
11.2展望
11.3參考文獻
11.4習題
附錄A學(xué)術(shù)期刊論文數(shù)量統(tǒng)計
附錄B學(xué)術(shù)會議論文數(shù)量統(tǒng)計
附錄C推薦系統(tǒng)國際會議研究話題
附錄D推薦系統(tǒng)國際會議研討會主題
附錄E中英文術(shù)語對照表
后記
致謝