本書介紹當前推薦系統(tǒng)領域中的經(jīng)典方法。不僅詳細討論了各類方法,還對同類技術進行了歸納總結,這有助于讀者對當前推薦系統(tǒng)研究領域有全面的了解。書中提供了大量的例子和習題來幫助讀者深入理解和掌握相關技術。此外,本書還介紹了當前新的研究方向,為讀者進行推薦系統(tǒng)技術的研究提供參考。本書既可以作為計算機相關專業(yè)本科生和研究生的教材,也適合開發(fā)人員和研究人員閱讀。
前言Recommender Systems: The Textbook大自然呈現(xiàn)在我們面前的只是一頭獅子的尾巴。但不要懷疑獅子的存在,盡管它因為身型巨大不能馬上現(xiàn)出全身。
——Albert Einstein隨著Web成為商務和電子交易的重要媒介,推薦系統(tǒng)在20世紀90年代變得越來越重要。人們很早就認識到Web為個性化服務提供了空前的機會,這是其他渠道是不可能做到的。特別是Web為數(shù)據(jù)收集提供了便利,并且提供了一種非侵入式地推薦物品的用戶界面。
自此以后,在公眾眼中,推薦系統(tǒng)已經(jīng)得到了顯著的發(fā)展。這一事實的證據(jù)是,有許多會議和研討會專門探討該領域。會議ACM Conference on Recommender Systems特別值得一提,因為它為該領域定期貢獻了許多前沿工作。推薦系統(tǒng)領域非常多樣化,因為它能夠使用各種類型的用戶偏好數(shù)據(jù)和用戶需求數(shù)據(jù)來做推薦。推薦系統(tǒng)中最著名的方法包括協(xié)同過濾方法、基于內(nèi)容的方法和基于知識的方法。這三種方法構成了推薦系統(tǒng)研究領域的基本支柱。近年來,已經(jīng)設計了一些專門的方法來針對不同的數(shù)據(jù)領域和上下文,例如時間、位置和社會信息。針對專門的場景提出了大量高級的方法,這些方法可以調(diào)整用于不同的應用領域,例如查詢?nèi)罩就诰、新聞推薦和計算廣告。本書的結構安排體現(xiàn)了這些重要的話題。本書的章節(jié)可以分為三類:
1)算法和評估:這些章節(jié)討論了推薦系統(tǒng)中的基本算法,包括協(xié)同過濾方法(第2和4章)、基于內(nèi)容的方法(第4章)和基于知識的方法(第5章)。這些方法的混合在第6章中討論。第7章討論了推薦系統(tǒng)評估。
2)特定領域和上下文的推薦:推薦系統(tǒng)的上下文在提供有效推薦方面扮演了至關重要的角色。例如,一個用戶想要用其位置作為附加的上下文(context)來查找飯店。推薦的上下文可以被看作是影響推薦目標的重要輔助信息。不同類型的域,例如時間數(shù)據(jù)、空間數(shù)據(jù)和社會數(shù)據(jù),提供了不同類型的上下文。相關的方法在第8~11章中討論。第11章也討論了利用社會信息來增加推薦過程可信度的話題。最近的話題(如分解機和可信推薦系統(tǒng))在這些章節(jié)中也有涉及。
3)高級話題和應用:在第12章中,我們將從各個角度討論推薦系統(tǒng)的健壯性,例如欺詐(shilling)系統(tǒng)、攻擊模式及其防御。此外,近期的一些話題,例如排名學習、多臂賭博機、組推薦系統(tǒng)、多標準推薦系統(tǒng)和主動學習系統(tǒng),將在第13章中討論。該章的一個重要目標是向讀者介紹當前研究的基本思想和原則。雖然不可能在一本書里對當前所有的研究技術細節(jié)進行討論,但我們希望最后一章能夠在高級話題方面為讀者“破冰”。在這一章中,我們也研究了推薦技術的一些應用環(huán)境,例如新聞推薦、查詢推薦和計算廣告。本章還討論了如何將前面章節(jié)中介紹的方法應用于各個不同的領域。
盡管本書是作為教科書來編寫的,但仍有很多來自于工業(yè)界和學術界的讀者。因此,我們也從應用角度和文獻角度來撰寫此書。書中提供了大量的示例和習題,使得它可以被用作教科書。由于大部分推薦系統(tǒng)課程只涵蓋基礎話題,因此有關基礎話題的章節(jié)和算法著重于課堂教學。另一方面,工業(yè)界人員也許發(fā)現(xiàn)討論上下文敏感的推薦系統(tǒng)的章節(jié)很有用,因為在許多真實的應用中會有大量可用的上下文輔助信息。第13章的應用部分是特別為工業(yè)界人員編寫的,不過教師也許會發(fā)現(xiàn)它在推薦課程中也是有用的。
最后,我們對所使用的符號進行簡要的介紹。本書中一直使用一個m×n的評分矩陣,記為R,其中m是用戶的數(shù)量,n是物品的數(shù)量。矩陣R是不完整的,因為只有一部分項是已觀測的。R的第(i,j)項表示用戶i對物品j的評分,當它是已觀測項時,被記為rij。當項(i,j)是由推薦算法預測得到(而不是用戶指定)時,被記為帶“帽子”符號(即抑揚符號)的r∧ij,表示它是一個預測的值。向量用“上劃線”來表示,例如X或y。
致謝Recommender Systems: The Textbook感謝在撰書期間妻子和女兒給予我的愛和支持,感謝父母給我持續(xù)的愛。
本書得到了很多人直接和間接的幫助,我很感激他們。在撰寫本書時,我收到了許多同事的反饋,他們是Xavier Amatriain、Kanishka Bhaduri、Robin Burke、Martin Ester、Bart Goethals、Huan Liu、Xia Ning、Saket Sathe、Jiliang Tang、Alexander Tuzhilin、Koen Versetrepen和Jieping Ye。感謝他們所提供的建設性反饋。這些年來,我從大量合作者那里受益良多。這些見解直接或間接地影響了本書。首先感謝多年來與我合作的Philip S. Yu。其他重要的合作者還包括Tarek F. Abdelzaher、Jing Gao、Quanquan Gu、Manish Gupta、Jiawei Han、Alexander Hinneburg、Thomas Huang、Nan Li、Huan Liu、Ruoming Jin、Daniel Keim、Arijit Khan、Latifur Khan、Mohammad M. Masud、Jian Pei、Magda Procopiuc、Guojun Qi、Chandan Reddy、Saket Sathe、Jaideep Srivastava、Karthik Subbian、Yizhou Sun、Jiliang Tang、MinHsuan Tsai、Haixun Wang、Jianyong Wang、Min Wang、Joel Wolf、Xifeng Yan、Mohammed Zaki、ChengXiang Zhai和Peixiang Zhao。我也要感謝導師James B. Orlin在早期對我的指導。
還要感謝我的經(jīng)理Nagui Halim在我撰寫此書時所提供的巨大支持。他的專業(yè)支持對我過去和現(xiàn)在的許多書都起著重要的作用。
最后,感謝Lata Aggarwal用微軟PowerPoint軟件幫我繪制了一些圖片。
目錄
Recommender Systems: The Textbook
出版者的話
譯者序
前言
致謝
作者簡介
第1章推薦系統(tǒng)概述
1.1引言
1.2推薦系統(tǒng)的目標
1.2.1推薦系統(tǒng)應用范圍
1.3推薦系統(tǒng)的基本模型
1.3.1協(xié)同過濾模型
1.3.2基于內(nèi)容的推薦系統(tǒng)
1.3.3基于知識的推薦系統(tǒng)
1.3.4人口統(tǒng)計推薦系統(tǒng)
1.3.5混合集成的推薦系統(tǒng)
1.3.6對推薦系統(tǒng)的評價
1.4推薦系統(tǒng)領域特有的挑戰(zhàn)
1.4.1基于上下文的推薦系統(tǒng)
1.4.2時間敏感的推薦系統(tǒng)
1.4.3基于位置的推薦系統(tǒng)
1.4.4社交信息系統(tǒng)
1.5高級論題和應用
1.5.1推薦系統(tǒng)中的冷啟動問題
1.5.2抗攻擊推薦系統(tǒng)
1.5.3組推薦系統(tǒng)
1.5.4多標準推薦系統(tǒng)
1.5.5推薦系統(tǒng)中的主動學習
1.5.6推薦系統(tǒng)中的隱私問題
1.5.7應用領域
1.6小結
1.7相關工作
1.8習題
第2章基于近鄰的協(xié)同過濾
2.1引言
2.2評分矩陣的關鍵性質(zhì)
2.3通過基于近鄰的方法預測評分
2.3.1基于用戶的近鄰模型
2.3.2基于物品的近鄰模型
2.3.3高效的實現(xiàn)和計算復雜度
2.3.4基于用戶的方法和基于物品的方法的比較
2.3.5基于近鄰方法的優(yōu)劣勢
2.3.6基于用戶的方法和基于物品的方法的聯(lián)合
2.4聚類和基于近鄰的方法
2.5降維與近鄰方法
2.5.1處理偏差
2.6近鄰方法的回歸模型視角
2.6.1基于用戶的最近鄰回歸
2.6.2基于物品的最近鄰回歸
2.6.3基于用戶的方法和基于物品的方法的結合
2.6.4具有相似度權重的聯(lián)合插值
2.6.5稀疏線性模型
2.7基于近鄰方法的圖模型
2.7.1用戶物品圖
2.7.2用戶用戶圖
2.7.3物品物品圖
2.8小結
2.9相關工作
2.10習題
第3章基于模型的協(xié)同過濾
3.1引言
3.2決策和回歸樹
3.2.1將決策樹擴展到協(xié)同過濾
3.3基于規(guī)則的協(xié)同過濾
3.3.1將關聯(lián)規(guī)則用于協(xié)同過濾
3.3.2面向物品的模型與面向用戶的模型
3.4樸素貝葉斯協(xié)同過濾
3.4.1處理過擬合
3.4.2示例:使用貝葉斯方法處理二元評分
3.5將任意分類模型當作黑盒來處理
3.5.1示例:使用神經(jīng)網(wǎng)絡作為黑盒分類器
3.6潛在因子模型
3.6.1潛在因子模型的幾何解釋
3.6.2潛在因子模型的低秩解釋
3.6.3基本矩陣分解原理
3.6.4無約束矩陣分解
3.6.5奇異值分解
3.6.6非負矩陣分解
3.6.7理解矩陣因子分解方法族
3.7集成因子分解和近鄰模型
3.7.1基準估計:非個性化偏倚中心模型
3.7.2模型的近鄰部分
3.7.3模型的潛在因子部分
3.7.4集成近鄰和潛在因子部分
3.7.5求解優(yōu)化模型
3.7.6關于精度的一些觀察
3.7.7將潛在因子模型集成到任意模型
3.8小結
3.9相關工作
3.10習題
第4章基于內(nèi)容的推薦系統(tǒng)
4.1引言
4.2基于內(nèi)容的系統(tǒng)的基本組件
4.3預處理和特征提取
4.3.1特征提取
4.3.2特征表示和清洗
4.3.3收集用戶的偏好
4.3.4監(jiān)督特征選擇和加權
4.4學習用戶畫像和過濾
4.4.1最近鄰分類
4.4.2與基于案例的推薦系統(tǒng)的關聯(lián)性
4.4.3貝葉斯分類器
4.4.4基于規(guī)則的分類器
4.4.5基于回歸的模型
4.4.6其他學習模型和比較概述
4.4.7基于內(nèi)容的系統(tǒng)的解釋
4.5基于內(nèi)容的推薦與協(xié)同推薦
4.6將基于內(nèi)容的模型用于協(xié)同過濾
4.6.1利用用戶畫像
4.7小結
4.8相關工作
4.9習題
第5章基于知識的推薦系統(tǒng)
5.1引言
5.2基于約束的推薦系統(tǒng)
5.2.1返回相關結果
5.2.2交互方法
5.2.3排序匹配的物品
5.2.4處理不可接受的結果或空集
5.2.5添加約束
5.3基于案例的推薦系統(tǒng)
5.3.1相似性度量
5.3.2批評方法
5.3.3批評的解釋
5.4基于知識的系統(tǒng)的持久個性化
5.5小結
5.6相關工作
5.7習題
第6章基于集成的混合推薦系統(tǒng)
6.1引言
6.2從分類角度看集成方法
6.3加權型混合系統(tǒng)
6.3.1幾種模型組合的方法
6.3.2對分類中的bagging算法的調(diào)整
6.3.3隨機性注入算法
6.4切換型混合系統(tǒng)
6.4.1為解決冷啟動問題的切換機制
6.4.2桶模型
6.5級聯(lián)型混合系統(tǒng)
6.5.1推薦結果的逐步優(yōu)化
6.5.2boosting算法
6.6特征放大型混合系統(tǒng)
6.7元級型混合系統(tǒng)
6.8特征組合型混合系統(tǒng)
6.8.1回歸分析和矩陣分解
6.8.2元級特征
6.9交叉型混合系統(tǒng)
6.10小結
6.11相關工作
6.12習題
第7章推薦系統(tǒng)評估
7.1引言
7.2評估范例
7.2.1用戶調(diào)查
7.2.2在線評估
7.2.3使用歷史數(shù)據(jù)集進行離線評估
7.3評估設計的總體目標
7.3.1精確性
7.3.2覆蓋率
7.3.3置信度和信任度
7.3.4新穎度
7.3.5驚喜度
7.3.6多樣性
7.3.7健壯性和穩(wěn)定性
7.3.8可擴展性
7.4離線推薦評估的設計要點
7.4.1Netflix Prize數(shù)據(jù)集的案例研究
7.4.2為訓練和測試分解評分
7.4.3與分類設計的比較
7.5離線評估的精確性指標
7.5.1度量預測評分的精確性
7.5.2通過相關性評估排名
7.5.3通過效用評估排名
7.5.4通過ROC曲線評估排名
7.5.5哪種排名方式最好
7.6評估指標的局限性
7.6.1避免評估游戲
7.7小結
7.8相關工作
7.9習題
第8章上下文敏感的推薦系統(tǒng)
8.1引言
8.2多維方法
8.2.1層級的重要性
8.3上下文預過濾:一種基于降維的方法
8.3.1基于集成的改進
8.3.2多級別的估計
8.4后過濾方法
8.5上下文建模
8.5.1基于近鄰的方法
8.5.2潛在因子模型
8.5.3基于內(nèi)容的模型
8.6小結
8.7相關工作
8.8習題
第9章時間與位