推荐系统读书笔记(推荐系统实战)
第1章 好的推薦系統(tǒng)
1.1 什么是推薦系統(tǒng)
解決信息過(guò)載的三種方式:
- 分類目錄(雅虎)
- 搜索引擎(谷歌)
- 推薦系統(tǒng)?
搜索引擎需要用戶主動(dòng)給出需求,推薦系統(tǒng)不需要用戶提供明確的需求,而是通過(guò)分析用戶的歷史行為給用戶的興趣建模,從而主動(dòng)給用戶推薦能夠滿足他們興趣和需求的信息。但是推薦系統(tǒng)需要依賴用戶行為數(shù)據(jù)。
從某種意義上說(shuō),推薦系統(tǒng)和搜索引擎對(duì)于用戶來(lái)說(shuō)是兩個(gè)互補(bǔ)的工具。搜索引擎滿足了用戶有明確目的時(shí)的主動(dòng)查找需求,而推薦系統(tǒng)能夠在用戶沒(méi)有明確目的的時(shí)候幫助他們發(fā)現(xiàn)感興趣的新內(nèi)容。推薦系統(tǒng)可以更好的發(fā)掘商品的長(zhǎng)尾
- 傳統(tǒng)2/8理論收到挑戰(zhàn)。互聯(lián)網(wǎng)條件下,由于貨架成本極端低廉,電子商務(wù)網(wǎng)站往往能出售比傳統(tǒng)零售店更多種類的商品。與傳統(tǒng)零售業(yè)相比,電商的長(zhǎng)尾商品數(shù)量極其龐大,這些長(zhǎng)尾的總銷售額甚至能超過(guò)熱門商品。
- 推薦系統(tǒng)通過(guò)發(fā)掘用戶的行為,找到用戶的個(gè)性化需求,從而將長(zhǎng)尾商品準(zhǔn)確地推薦給需要它的用戶,幫助用戶發(fā)現(xiàn)那些他們感興趣但很難發(fā)現(xiàn)的商品。
- 推薦算法的本質(zhì)是通過(guò)一定的方式將用戶和物品聯(lián)系起來(lái),不同的推薦系統(tǒng)利用了不同的方式。
1.2 個(gè)性化推薦系統(tǒng)的應(yīng)用
推薦系統(tǒng)由前臺(tái)展示頁(yè)面、后臺(tái)的日志系統(tǒng)以及推薦算法3部分構(gòu)成 。
- 電子商務(wù)
- 主要應(yīng)用有:
- 個(gè)性化商品推薦列表
- 相關(guān)商品推薦列表(cross selling)
個(gè)性化音樂(lè)網(wǎng)絡(luò)電臺(tái)
個(gè)性化推薦成功應(yīng)用的兩個(gè)因素
- 存在信息過(guò)載
- 用戶大部分時(shí)候沒(méi)有明確需求
個(gè)性化網(wǎng)絡(luò)電臺(tái)非常符合上訴兩項(xiàng)
- 主要應(yīng)用:
- 利用用戶的社交網(wǎng)絡(luò)信息對(duì)用戶進(jìn)行個(gè)性化的物品推薦
- 信息流的會(huì)話推薦(推薦評(píng)論、好友狀態(tài)等)
- 給用戶推薦好友
- 個(gè)性化閱讀同樣符合前面提出的需要個(gè)性化推薦的兩個(gè)因素:用戶面臨信息過(guò)載的問(wèn)題;其次,用戶很多時(shí)候并沒(méi)有必須看某篇具體文章的需求。
- 新聞?lì)惖拈喿x要有很強(qiáng)的時(shí)效性
- 個(gè)性化廣告投放技術(shù):
- 上下文廣告:通過(guò)分析用戶正在瀏覽的網(wǎng)頁(yè)內(nèi)容,投放和網(wǎng)頁(yè)內(nèi)容相關(guān)的廣告。代表系統(tǒng)是谷歌的Adsense。
- 搜索廣告:通過(guò)分析用戶在當(dāng)前會(huì)話中的搜索記錄,判斷用戶的搜索目的,投放和用戶目的相關(guān)的廣告。
- 個(gè)性化展示廣告: 根據(jù)用戶的興趣標(biāo)簽,對(duì)不同用戶投放不同的展示廣告.
一個(gè)完整的推薦系統(tǒng)一般存在3個(gè)參與方:用戶、網(wǎng)站、內(nèi)容提供方。
- 推薦系統(tǒng)實(shí)驗(yàn)方法:
- 離線實(shí)驗(yàn)
- 用戶調(diào)查
- 在線 A/B test
可以以問(wèn)卷的形式;一般情況下用點(diǎn)擊率、用戶停留時(shí)間和轉(zhuǎn)化率等指標(biāo)度量用戶的滿意度。
- 評(píng)分預(yù)測(cè): RMSE / MAE
http://www.kdd.org/exploration_files/7-Netflix-2.pdf - TopN 推薦:準(zhǔn)確率 、召回率, 準(zhǔn)確率、召回率曲線
- 描述一個(gè)推薦系統(tǒng)對(duì)物品長(zhǎng)尾的發(fā)掘能力。覆蓋率有不同的定義方法,最簡(jiǎn)單的定義為推薦系統(tǒng)能夠推薦出來(lái)的物品占總物品集合的比例。
- 覆蓋率是一個(gè)內(nèi)容提供商會(huì)關(guān)心的指標(biāo)。
- 覆蓋率的其它定義: P27?
- 參考資料
https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/EvaluationMetrics.TR_.pdf - 推薦系統(tǒng)的馬太效應(yīng)
推薦系統(tǒng)的初衷是希望消除馬太效應(yīng),使得各種物品都能被展示給對(duì)它們感興趣的某一類人群。可以使用基尼系數(shù)來(lái)判斷是否有明顯的馬太效應(yīng)。
為了滿足用戶廣泛的興趣,推薦列表需要能夠覆蓋用戶不同的興趣領(lǐng)域。多樣性描述了推薦列表中物品兩兩之間的不相似性。
http://mtg.upf.edu/static/media/PhD_ocelma.pdf
提高推薦系統(tǒng)信任度的方式有增加推薦系統(tǒng)的透明度(提供推薦的解釋);考慮用戶的社交網(wǎng)絡(luò)信息,利用好友信息給用戶做推薦,并且用好友進(jìn)行推薦解釋。
- 反作弊
指標(biāo)總結(jié)
在推薦系統(tǒng)評(píng)測(cè)報(bào)告中包含不同維度下的系統(tǒng)評(píng)測(cè)指標(biāo),能幫我們?nèi)娴亓私馔扑]系統(tǒng)性能。
- 用戶維度:主要包括用戶的人口統(tǒng)計(jì)學(xué)信息、活躍度以及是不是新用戶等。
- 物品維度:包括物品的屬性信息、流行度、平均分以及是不是新加入的物品等。
- 時(shí)間維度:包括季節(jié),是工作日還是周末,是白天還是晚上等。
第2章 利用用戶行為數(shù)據(jù)
- 2.1 用戶行為數(shù)據(jù)簡(jiǎn)介
- 用戶行為數(shù)據(jù)可分為顯性反饋行為和隱性反饋行為
- 用戶數(shù)據(jù)的統(tǒng)一表示
- 2.2 用戶行為分析
在設(shè)計(jì)推薦算法之前需要對(duì)用戶行為數(shù)據(jù)進(jìn)行分析,了解數(shù)據(jù)中蘊(yùn)含的一般規(guī)律可以對(duì)算法的設(shè)計(jì)起到指導(dǎo)作用。- 用戶活躍度和物品流行度
- 均近似符合長(zhǎng)尾分布:
- e.g. 物品流行度定義:對(duì)用戶產(chǎn)生過(guò)行為的總數(shù)
e.g. 用戶活躍度定義:對(duì)物品產(chǎn)生過(guò)行為的總數(shù)
- 均近似符合長(zhǎng)尾分布:
- 活躍度和流行度的關(guān)系:
一般新用戶傾向于瀏覽熱門的物品,因?yàn)樗麄儗?duì)網(wǎng)站還不熟悉,只能點(diǎn)擊首頁(yè)的熱門物品,而老用戶會(huì)逐漸開(kāi)始瀏覽冷門的物品。 - 協(xié)同過(guò)濾算法:僅基于用戶行為數(shù)據(jù)設(shè)計(jì)的算法
- 方法有基于領(lǐng)域的方法(最廣泛)、基于圖的隨機(jī)游走算法、隱語(yǔ)義算法。
- 基于領(lǐng)域的方法可分為基于用戶的協(xié)同過(guò)濾算法和基于物品的協(xié)同過(guò)濾算法。
- 用戶活躍度和物品流行度
- 2.3 實(shí)驗(yàn)設(shè)計(jì)和算法評(píng)測(cè)
P41 - 2.4 基于鄰域的算法
- 基于用戶的協(xié)同過(guò)濾算法
- 基礎(chǔ)算法
- 找到和目標(biāo)用戶興趣相似的用戶集合
- 量化相似: Jaccard 相似度 / 余弦相似度 / 歐式距離
- 找到這個(gè)集合中的用戶喜歡的,且目標(biāo)用戶沒(méi)有聽(tīng)說(shuō)過(guò)的物品推薦給目標(biāo)用戶
- 參考指標(biāo)
- 準(zhǔn)確率 / 召回率
- 覆蓋度
- 流行度
- 用戶相似度計(jì)算的改進(jìn)
- 兩個(gè)用戶冷門物品采取過(guò)同樣的行為更能說(shuō)明他們興趣的相似度:用物品熱門度進(jìn)行懲罰
- UserCF缺點(diǎn)
- 計(jì)算量大;運(yùn)算時(shí)間復(fù)雜度和空間復(fù)雜度的增長(zhǎng)和用戶數(shù)的增長(zhǎng)近似于平方關(guān)系
- 基于用戶的協(xié)同過(guò)濾算法
- 基于物品的協(xié)同過(guò)濾算法
- 基礎(chǔ)算法
- 與基于用戶的協(xié)同過(guò)濾算法相似
- 也需考慮對(duì)商品的熱門度進(jìn)行懲罰
- 用戶活躍度對(duì)物品相似度的影響
- 活躍用戶對(duì)物品相似度的貢獻(xiàn)應(yīng)該小于不活躍的用戶
- 物品相似度的歸一化
- 基礎(chǔ)算法
- UserCF 與 ItemCF 的綜合比較
UserCF的推薦結(jié)果著重于反映和用戶興趣相似的小群體的熱點(diǎn),而ItemCF的推薦結(jié)果著重于維系用戶的歷史興趣。換句話說(shuō),UserCF的推薦更社會(huì)化,反映了用戶所在的小型興趣群體中物品的熱門程度,而ItemCF的推薦更加個(gè)性化,反映了用戶自己的興趣傳承。?- 考慮實(shí)際業(yè)務(wù)需求與場(chǎng)景
- 基礎(chǔ)算法(LFM)
核心思想是通過(guò)隱藏特征(latent factor)聯(lián)系用戶興趣和物品- 損失函數(shù)
- 可用隨機(jī)梯度下降法求解
- 重要參數(shù):
- 隱特征個(gè)數(shù) / 學(xué)習(xí)速率 / 正則化系數(shù) / 負(fù)正樣本比例?
- LFM的關(guān)鍵之一:如何生成負(fù)樣本
- 對(duì)于一個(gè)用戶,從他沒(méi)有過(guò)行為的物品中采樣出一些物品作為負(fù)樣本,使得正負(fù)樣本數(shù)相等
- 采樣負(fù)樣本時(shí),要選取那些很熱門,而用戶卻沒(méi)有行為的物品。
- 損失函數(shù)
- LFM和基于領(lǐng)域的方法的比較
- 理論基礎(chǔ)
LFM通過(guò)優(yōu)化一個(gè)指標(biāo)來(lái)建立最佳模型;基于領(lǐng)域的方法更多是基于一種統(tǒng)計(jì)的方法。 - 離線計(jì)算的空間復(fù)雜度
LFM:O(MF + FN)
UserCF: O(MM)
ItemCF: O(NN) - 離線計(jì)算的時(shí)間復(fù)雜度
LFM: O(KFS)
UserCF: O(M(K/M)^2)
ItemCF: O(N(K/N)^2) - 在線實(shí)時(shí)推薦
LFM實(shí)現(xiàn)在線實(shí)時(shí)推薦難度較高 - 推薦解釋
ItemCF有較好的解釋性,LFM較難解釋
- 理論基礎(chǔ)
第3章 推薦系統(tǒng)冷啟動(dòng)問(wèn)題
- 3.1 冷啟動(dòng)問(wèn)題簡(jiǎn)介
- 問(wèn)題分類
- 用戶冷啟動(dòng)
- 物品冷啟動(dòng)
- 系統(tǒng)冷啟動(dòng)
- 常用解決方案
- 利用熱銷榜進(jìn)行推薦
- 利用用戶注冊(cè)時(shí)的年齡、性別等數(shù)據(jù)做粗粒度的個(gè)性化
- 利用用戶社交數(shù)據(jù)為其推薦好友喜歡的物品
- 要求用戶在登錄時(shí)對(duì)一些物品進(jìn)行反饋,收集用戶對(duì)這些物品的興趣信息并推薦相似產(chǎn)品
- 對(duì)于新加入的物品,可以利用內(nèi)容信息,將它們推薦給喜歡過(guò)和它們相似的物品的用戶
- 在系統(tǒng)冷啟動(dòng)時(shí),可以引入專家的知識(shí),通過(guò)一定的高效方式迅速建立起物品的相關(guān)度表
- 問(wèn)題分類
- 3.2 利用用戶注冊(cè)信息
- 基于用戶注冊(cè)信息的推薦算法其核心問(wèn)題是計(jì)算每種特征的用戶喜歡的物品。(P82)
- 3.3 選擇合適的物品啟動(dòng)用戶的興趣
- 物品需要具備的特點(diǎn)
- 比較熱門:讓用戶對(duì)一個(gè)物品進(jìn)行反饋,前提是用戶知道這個(gè)物品是什么
- 具有代表性和區(qū)分性: 可以區(qū)分用戶個(gè)性化興趣
- 啟動(dòng)物品集合需要有多樣性:用戶興趣的可能性非常多,需要提供具有很高覆蓋率的啟動(dòng)物品集合
- 利用決策樹選擇啟動(dòng)物品集合:P87
- 物品需要具備的特點(diǎn)
- 3.4 利用物品的內(nèi)容信息
- 通過(guò)物品內(nèi)容(文本)計(jì)算物品相似性,基于內(nèi)容的過(guò)濾算法
第4章 利用用戶標(biāo)簽數(shù)據(jù)
標(biāo)簽應(yīng)用一種是讓作者或?qū)<医o物品打標(biāo)簽;另一種是讓普通用戶給物品打標(biāo)簽(UGC)。當(dāng)一個(gè)用戶對(duì)一個(gè)物品打上標(biāo)簽,這個(gè)標(biāo)簽一方面描述了用戶的興趣,另一方面則表示了物品的語(yǔ)義,從而將用戶和物品聯(lián)系了起來(lái)。
- 4.1 UGC標(biāo)簽系統(tǒng)的代表應(yīng)用
- Delicious / CiteLike / 豆瓣 / Hulu
- 4.2 標(biāo)簽系統(tǒng)中的推薦問(wèn)題
主要問(wèn)題有:1. 如何利用用戶打標(biāo)簽的行為為其推薦物品(基于標(biāo)簽的推薦)2. 如何在用戶給物品打標(biāo)簽時(shí)為其推薦適合該物品的標(biāo)簽(標(biāo)簽推薦)- 用戶為什么進(jìn)行標(biāo)注
- 分享,發(fā)表觀點(diǎn)
- 標(biāo)準(zhǔn),用于檢索
- 用戶如何打標(biāo)簽
- 用戶打什么樣的標(biāo)簽
- 用戶為什么進(jìn)行標(biāo)注
- 4.3 基于標(biāo)簽的推薦系統(tǒng)
- 算法的改進(jìn)
- TF-IDF思路對(duì)熱門標(biāo)簽進(jìn)行懲罰
- 數(shù)據(jù)稀疏性:常用話題模型進(jìn)行標(biāo)簽拓展
- 標(biāo)簽清理
- 基于標(biāo)簽的推薦解釋
- 標(biāo)簽云:提高推薦結(jié)果多樣性;提供解釋功能
- 算法的改進(jìn)
- 4.4 給用戶推薦標(biāo)簽
- 作用
- 方便用戶輸入標(biāo)簽
- 提高標(biāo)簽質(zhì)量
- 方法
- 推薦物品上最熱門的標(biāo)簽
- 推薦用戶常使用的標(biāo)簽
- 將前兩項(xiàng)進(jìn)行加權(quán)融合
- 作用
第5章 利用上下文信息
準(zhǔn)確了解用戶的上下文信息(包括時(shí)間、地點(diǎn)、心情等),對(duì)于提升推薦效果有重要作用。
- 5.1 時(shí)間上下文信息
- 時(shí)間效應(yīng)
- 用戶的興趣是變化的
- 物品也有生命周期
- 季節(jié)效應(yīng)
- 系統(tǒng)時(shí)間特性的分析
- 數(shù)據(jù)集每天獨(dú)立用戶數(shù)的增長(zhǎng)情況
- 系統(tǒng)物品的變化情況
- e.g. 物品平均在線天數(shù)
- e.g. 相隔T天系統(tǒng)物品流行度向量的平均相似度?
- 用戶訪問(wèn)情況
- 推薦系統(tǒng)的實(shí)時(shí)性
- 推薦算法需要平衡考慮用戶的近期行為和長(zhǎng)期行為(即要讓推薦列表反應(yīng)出用戶近期行為所體現(xiàn)的興趣變化,又不能讓推薦列表完全受用戶近期行為的影響)
- 推薦算法的時(shí)間多樣性
- 推薦系統(tǒng)每天推薦結(jié)果的變化程度被定義為推薦系統(tǒng)的時(shí)間多樣性。時(shí)間多樣性高的推薦系統(tǒng)中用戶會(huì)經(jīng)常看到不同的推薦結(jié)果(首先保證推薦的精度,在此基礎(chǔ)上適當(dāng)?shù)乜紤]時(shí)間多樣性)
- 時(shí)間效應(yīng)
- 5.2 地點(diǎn)上下文信息
第6章 利用社交網(wǎng)絡(luò)數(shù)據(jù)
- 6.1 獲取社交網(wǎng)絡(luò)數(shù)據(jù)的途徑
- 電子郵件 / 用戶注冊(cè)信息 / 用戶的位置數(shù)據(jù) / 論壇和討論組 / 即時(shí)聊天工具 / 社交網(wǎng)站
- 社會(huì)圖譜(Facebook)和興趣圖譜(Twitter)
第7章 推薦系統(tǒng)實(shí)例
- 7.1 外圍架構(gòu)
- 7.2 推薦系統(tǒng)架構(gòu)
- 推薦系統(tǒng)聯(lián)系用戶和物品的主要方式
- 基于特征的推薦系統(tǒng)架構(gòu)
- 用戶喜歡的物品、用戶相似的用戶也可以抽象成特征
- 基于特征的推薦系統(tǒng)核心任務(wù)就被拆解成兩部分,一個(gè)是如何為給定用戶生成特征,另一個(gè)是如何根據(jù)特征找到物品
- 用戶特征種類
- 屬性特征
- 行為特征
- 話題特征:可應(yīng)用主題模型生成
- 推薦系統(tǒng)架構(gòu)構(gòu)成
- 推薦系統(tǒng)可由多個(gè)推薦引擎組成,每個(gè)推薦引擎負(fù)責(zé)一類特征或一種任務(wù),而推薦系統(tǒng)的任務(wù)只是將推薦引擎的結(jié)果按照一定權(quán)重或者優(yōu)先級(jí)進(jìn)行合并、排序然后返回
- 方便增/刪引擎,控制不同引擎對(duì)推薦結(jié)果的影響
- 可對(duì)不同的用戶給出不同的引擎組合權(quán)重
- 推薦系統(tǒng)聯(lián)系用戶和物品的主要方式
- 7.3 推薦引擎架構(gòu)
- 用戶特征向量生成模塊
特征向量由特征和特征權(quán)重組成,計(jì)算時(shí)需要考慮:- 用戶行為的總類:一般標(biāo)準(zhǔn)就是用戶付出代價(jià)越大的行為權(quán)重越高。
- 用戶行為產(chǎn)生的時(shí)間
- 用戶行為次數(shù)
- 物品的熱門程度:冷門物品權(quán)重較高(用戶對(duì)很熱門的物品產(chǎn)生的行為往往不能代表用戶個(gè)性,因?yàn)橛脩艨赡苁窃诟L(fēng))
- 特征 — 物品相關(guān)推薦模塊
- 可以用不同方式計(jì)算多張相關(guān)表,然后在配置表中配置表與權(quán)重,最終應(yīng)用時(shí)加權(quán)組合。
- 過(guò)濾模塊
- 用戶已經(jīng)產(chǎn)生過(guò)行為物品
- 候選物品以外的物品
- 由于業(yè)務(wù)需求或者用戶自己限定
- 低質(zhì)量/評(píng)論物品
- 排名模塊
- 新穎性排名
- 多樣性排名
- 時(shí)間多樣性
- 用戶反饋:通過(guò)分析用戶之前和推薦結(jié)果的交互日志,預(yù)測(cè)用戶會(huì)對(duì)什么樣的推薦結(jié)果比較感興趣(點(diǎn)擊預(yù)測(cè)模型)
總結(jié)
以上是生活随笔為你收集整理的推荐系统读书笔记(推荐系统实战)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 学点数学(5)--线性规划对偶形式的理解
- 下一篇: Pytorch(2)-tensor常用操