對於推薦系統,本文總結內容,以下圖所示:算法
文章很長,你能夠跳着看你感興趣的部分。數據庫
結論是,爲了解決互聯網時代下的信息超載問題。緩存
看個數據:服務器
據IDC《數字宇宙》的研究報告代表,2020 年全球新建和複製的信息量將超過40ZB,是2012年的12倍;中國的數據量在2020年超過8ZB,比2012年增加22倍。網絡
單位換算是這樣的:
1ZB = 1024 EB;
1EB = 1024 PB;
1PB = 1024 TB;
1TB = 1024 GB;
1GB = 1024 MB;架構
即使坐擁海量信息,用戶卻沒法找到真正對本身有用的,可見效率之低。機器學習
從前,人們是這樣解決信息超載問題的:ide
現實中,我有個東西想買(有明確目的)工具
不知道買啥(沒有明確目的)佈局
引伸到互聯網,有明確目的時
沒有明確目的時
信息超載,不是互聯網獨有的,在現實生活也會存在這樣的問題,畢竟人的大腦同時可以處理的信息只有4-7個,咱們面對的問題歷來沒有變過,區別在於當下的狀況,所處的環境。
正如《大數據時代》中做者所言,這僅僅是一個開始,人們與世界的交流方式,從原來對因果關係的渴求,轉變爲如今對相關關係的發現和使用上。
衆所周知,解決信息過載問題,最有表明性的解決方案是【分類目錄】和【搜索引擎】,這兩種解決方案分別催生了互聯網領域的兩家著名公司--雅虎和谷歌。
但隨着互聯網規模不斷擴大,分類目錄網站只能涵蓋少數熱門網站,已沒法知足用戶需求。所以,搜索引擎誕生了。
可是,用戶必須主動提供準確的關鍵詞,才能找到信息。因此用戶的其餘需求,好比用戶沒法找到準確描述本身需求的關鍵詞時,搜索引擎就無能爲力了。
而且,推薦系統可以很好的發掘物品的長尾,挑戰傳統的2/8原則(80%的銷售額來自20%的熱門品牌)。
從技術角度來看,搜索引擎和推薦系統的區別在於:
1)搜索引擎,注重搜索結果之間的關係和排序;
2)推薦系統,須要研究用戶的興趣模型,利用社交網絡的信息進行個性化的計算;
3)搜索引擎,由用戶主導,須要輸入關鍵詞,自行選擇結果。若是結果不滿意,須要修改關鍵詞,再次搜索;
4)推薦系統,由系統主導,根據用戶的瀏覽順序,引導用戶發現本身感興趣的信息;
推薦系統經過發掘用戶的行爲,找到用戶的個性化需求,從而將長尾物品準確推薦給須要它的用戶,幫助用戶找到他們感興趣但很難發現的物品。
高質量的推薦系統會使用戶對系統產生依賴,所以,推薦系統不只能爲用戶提供個性化服務,還能與用戶創建長期穩定的關係,提升用戶忠誠度,防止用戶流失。
如何斷定什麼是好的推薦系統?這是評測須要解決的首要問題。
通常推薦系統的參與方有3個:
所以,評測一個推薦系統時,須要考慮3方的利益,一個好的推薦系統是可以令三方雙贏的系統。
推薦系統評測,總結圖以下:
得到評測指標的實驗方法,一般分3種:
咱們分別介紹3種實驗方法的優缺點。
離線實驗的方法的步驟以下:
a)經過日誌系統得到用戶行爲數據,並按照必定格式生成一個標準的數據集;
b)將數據集按照必定的規則分紅訓練集和測試集;
c)在訓練集上訓練用戶興趣模型,在測試集上進行預測;
d)經過事先定義的離線指標,評測算法在測試集上的預測結果。
從以上步驟看出,離線實驗的都是在數據集上完成的。意味着,它不須要一個實際的系統做爲支撐,只須要有一個從日誌中提取的數據集便可。
離線實驗的優勢是:
用戶調查須要一些真實的用戶,讓他們在須要測試的推薦系統上完成一些任務。在他們完成任務時,須要觀察和記錄用戶的行爲,並讓他們回答一些問題。
最後,咱們經過分析他們的行爲和答案,瞭解測試系統的性能。
用戶調查的優勢是:
缺點是:
在完成離線實驗和用戶調查以後,能夠將系統上線作AB測試,將它和舊算法進行比較。
在線實驗最經常使用的評測算法是【A/B測試】,它經過必定的規則將用戶隨機分紅幾組,對不一樣組的用戶採用不一樣的算法,而後經過統計不一樣組的評測指標,比較不一樣算法的好壞。
它的核心思想是:
a) 多個方案並行測試;
b) 每一個方案只有一個變量不一樣;
c) 以某種規則優勝劣汰。
其中第2點暗示了A/B 測試的應用範圍:A/B測試必須是單變量。
對於推薦系統的評價中,惟一變量就是--推薦算法。
有個很棒的網站,http://www.abtests.com,裏面有不少經過實際AB測試提升網站用戶滿意度的例子。
AB測試的優勢是:
缺點是:
大型網站作AB測試,可能會由於不一樣團隊同時進行各類測試對結果形成干擾,因此切分流量是AB測試中的關鍵。
不一樣的層以及控制這些層的團隊,須要從一個統一的地方得到本身AB測試的流量,而不一樣層之間的流量應該是正交的。
通常來講,一個新的推薦算法最終上線,須要完成上述的3個實驗。
評測指標用於評測推薦系統的性能,有些能夠定量計算,有些只能定性描述。
用戶滿意度是評測推薦系統的重要指標,沒法離線計算,只能經過用戶調查或者在線實驗得到。
調查問卷,須要考慮到用戶各方面的感覺,用戶才能針對問題給出準確的回答。
在線系統中,用戶滿意度經過統計用戶行爲獲得。好比用戶若是購買了推薦的商品,就表示他們在必定程度上滿意,能夠用購買率度量用戶滿意度。
通常狀況,咱們能夠用用戶點擊率、停留時間、轉化率等指標度量用戶的滿意度。
預測準確度,度量的是推薦系統預測用戶行爲的能力。 是推薦系統最重要的離線評測指標。
大部分的關於推薦系統評測指標的研究,都是針對預測準確度的。由於該指標能夠經過離線實驗計算,方便了學術界的研究人員。
因爲離線的推薦算法有不一樣的研究方向,準確度指標也不一樣,根據研究方向,可分爲:預測評分準確度和TopN推薦。
預測評分的準確度,衡量的是算法預測的評分與用戶的實際評分的貼近程度。
這針對於一些須要用戶給物品評分的網站。
預測評分的準確度指標,通常經過如下指標計算:
平均絕對偏差(MAE)
MAE因其計算簡單、通俗易懂獲得了普遍的應用。但MAE指標也有必定的侷限性,由於對MAE指標貢獻比較大的每每是那種很難預測準確的低分商品。
因此即使推薦系統A的MAE值低於系統B,極可能只是因爲系統A更擅長預測這部分低分商品的評分,即系統A比系統B能更好的區分用戶很是討厭和通常討厭的商品,顯然這樣區分的意義不大。
均方根偏差(RMSE)
Netflix認爲RMSE加大了對預測不許的用戶物品評分的懲罰(平方項的懲罰),於是對系統的評測更加苛刻。
研究代表,若是評分系統是基於整數創建的(即用戶給的評分都是整數),那麼對預測結果取整數會下降MAE的偏差。
網站提供推薦服務時,通常是給用戶一個個性化的推薦列表,這種推薦叫作TopN推薦。
TopN推薦的預測準確率,通常經過2個指標度量:
準確率(precision)
召回率(recall)
R(u)是根據用戶在訓練集上的行爲給用戶作出的推薦列表,T(u)是用戶在測試集上的行爲列表。
TopN推薦更符合實際的應用需求,好比預測用戶是否會看一部電影,比預測用戶看了電影以後會給它什麼評分更重要。
覆蓋率(coverage)是描述一個推薦系統對物品長尾的發掘能力。
最簡單的定義是,推薦系統推薦出來的物品佔總物品的比例。
假設系統的用戶集合爲U,推薦系統給每一個用戶推薦一個長度爲N的物品列表R(u),覆蓋率公式爲:
覆蓋率是內容提供者關心的指標,覆蓋率爲100%的推薦系統能夠將每一個物品都推薦給至少一個用戶。
除了推薦物品的佔比,還能夠經過研究物品在推薦列表中出現的次數分佈,更好的描述推薦系統的挖掘長尾的能力。
若是分佈比較平,說明推薦系統的覆蓋率很高;若是分佈陡峭,說明分佈系統的覆蓋率較低。
信息論和經濟學中有兩個著名指標,能夠定義覆蓋率:
p(i)是物品i的流行度除以全部物品流行度之和。
基尼係數(Gini Index)
p(ij)是按照物品流行度p()從小到大排序的物品列表中第j個物品。
馬太效應,是指強者越強,弱者越弱的效應。推薦系統的初衷是但願消除馬太效應,使得各物品都能被展現給對它們感興趣的人羣。
可是,不少研究代表,如今的主流推薦算法(協同過濾)是具備馬太效應的。評測推薦系統是否具備馬太效應可使用基尼係數。
如,G1是從初始用戶行爲中計算出的物品流行度的基尼係數,G2是從推薦列表中計算出的物品流行度的基尼係數,那麼若是G1<G2,就說明推薦算法具備馬太效應。
爲了知足用戶普遍的興趣,推薦列表須要可以覆蓋用戶不一樣興趣的領域,即須要具備多樣性。
多樣性描述了推薦列表中物品兩兩之間的不類似性。假設s(i,j)在[0,1]區間定義了物品i和j之間的類似度,那麼用戶u的推薦列表R(u)的多樣性定義以下:
推薦系統總體多樣性能夠定義爲全部用戶推薦列表多樣性的平均值:
新穎性也是影響用戶體驗的重要指標之一。它指的是向用戶推薦非熱門非流行物品的能力。
評測新穎度最簡單的方法,是利用推薦結果的平均流行度,由於越不熱門的物品,越可能讓用戶以爲新穎。
此計算比較粗糙,須要配合用戶調查準確統計新穎度。
推薦結果和用戶的歷史興趣不類似,但卻讓用戶滿意,這樣就是驚喜度很高。
目前驚喜度尚未公認的指標定義方式,最近幾年研究的人不少,深刻研究能夠參考一些論文。
若是用戶信任推薦系統,就會增長用戶和推薦系統的交互。
提升信任度的方式有兩種:
增長系統透明度
提供推薦解釋,讓用戶瞭解推薦系統的運行機制。
利用社交網絡,經過好友信息給用戶作推薦
經過好友進行推薦解釋
度量信任度的方式,只能經過問卷調查。
推薦系統的實時性,包括兩方面:
任何能帶來利益的算法系統都會被攻擊,最典型的案例就是搜索引擎的做弊與反做弊鬥爭。
健壯性(robust,魯棒性)衡量了推薦系統抗擊做弊的能力。
2011年的推薦系統大會專門有一個推薦系統健壯性的教程,做者總結了不少做弊方法,最著名的是行爲注入攻擊(profile injection attack)。
就是註冊不少帳號,用這些帳號同時購買A和本身的商品。此方法針對亞馬遜的一種推薦方法,「購買商品A的用戶也常常購買的其餘商品」。
評測算法的健壯性,主要利用模擬攻擊:
a)給定一個數據集和算法,用算法給數據集中的用戶生成推薦列表;
b)用經常使用的攻擊方法向數據集中注入噪聲數據;
c)利用算法在有噪聲的數據集上再次生成推薦列表;
d)經過比較攻擊先後推薦列表的類似度評測算法的健壯性。
提升系統健壯性的方法:
設計推薦系統時,須要考慮最終的商業目標。不一樣網站具備不一樣的商業目標,它與網站的盈利模式息息相關。
總結:
做者認爲,對於能夠離線優化的指標,在給定覆蓋率、多樣性、新穎性等限制條件下,應儘可能優化預測準確度。
增長評測維度的目的,就是知道一個算法在什麼狀況下性能最好。
通常評測維度分3種:
若是推薦系統的評測報告中,包含了不一樣維度下的系統評測指標,就能幫咱們全面瞭解系統性能。
推薦系統有3個重要的模塊:
通用的推薦系統模型流程如圖,技術一點的描述過程以下:
a)推薦系統經過用戶行爲,創建用戶模型;
b)經過物品的信息,創建推薦對象模型;
c)經過用戶興趣匹配物品的特徵信息,再通過推薦算法計算篩選,找到用戶可能感興趣的推薦對象,而後推薦給用戶。
用戶建模模塊
創建用戶模型以前,須要考慮下面幾個問題:
(1)模型的輸入數據有哪些,如何獲取模型的輸入數據。
(2)如何考慮用戶的興趣及需求的變化。
(3)建模的對象是誰。
(4)如何建模。
(5)模型的輸出是什麼。
獲取用戶信息就是解決模型輸入數據的問題,輸入數據主要有如下幾種:
(1)用戶屬性:人口統計學信息;
(2)用戶手動輸入的信息:包括用戶在搜索引擎中輸入的關鍵詞,用戶反饋的信息,對推薦對象的喜愛程度等;
(3)用戶的瀏覽行爲和瀏覽內容:包括瀏覽次數、頻率、停留時間等,瀏覽頁面時的操做(收藏、保存、複製等)等。服務器端保存的日誌也能較好地記錄用戶的瀏覽行爲和內容。
(4)推薦對象的屬性特徵:不一樣的推薦對象,用戶建模的輸入數據也不一樣。網頁等推薦對象一般考慮對象的內容和用戶之間的類似性,而產品等推薦對象一般考慮用戶對產品的評價。
爲提升推薦質量,推薦對象的相關的屬性也要考慮進去,好比除網頁內容之外,還要考慮網頁的發佈人、時間等。
產品類的對象還要考慮產品的品牌、價格、出售時間等。
獲取模型輸入數據的方式有顯式獲取、隱式獲取和啓發式獲取三種方式。
用戶模型的建模方法主要有遺傳算法、基於機器學習的 方法,例如 TF-IDF、自動聚類、貝葉斯分類器、決策樹概括和神經網絡方法等。
考慮如下幾個問題:
(1)提取推薦對象的什麼特徵,如何提取,提取的特徵用於什麼目的。
(2)對象的特徵描述和用戶文件描述之間有關聯。
(3)提取到的每一個對象特徵對推薦結果會有什麼影響。
(4)對象的特徵描述文件可否自動更新。
目前主要的推薦算法,以下圖所示。
推薦算法是整個推薦系統中最核心的部分,在很大程度上決定了推薦系統類型和性能的優劣。
原理是基於用戶感興趣的物品A,找到和A內容信息相近的物品B。
利用用戶和物品自己的內容特徵,如用戶的地理位置、性別、年齡,電影物品的導演、演員、發佈時間等。
好比你喜歡看《怪奇物語I》,系統會給你推薦《怪奇物語II》。
因此提取推薦對象的特徵,是內容推薦算法的關鍵。可是對於多媒體內容,如視頻、音樂,很難找到它們之間的特性關聯性。
基於內容的推薦的優勢以下:
(1) 簡單、有效,推薦結果直觀,容易理解,不須要領域知識。
(2) 不須要用戶的歷史數據,如對對象的評價等。
(3) 沒有關於新推薦對象出現的冷啓動問題。
(4) 沒有稀疏問題。
(5) 算法成熟,如數據挖掘、聚類分析等。
基於內容的推薦的缺點以下:
(1) 受到了推薦對象特徵提取能力的限制。
好比圖像、視頻,沒有有效的特徵提取方法。即使是文本資源,特徵提取也只能反應一部份內容,難以提取內容質量,會影響用戶滿意度。
(2) 很難出現新的推薦結果。
根據用戶興趣的喜愛進行推薦,很難出現驚喜。對於時間敏感的內容,如新聞,推薦內容基本相同,體驗度較差。
(3)存在新用戶出現時的冷啓動問題。
當新用戶出現時, 系統較難得到該用戶的興趣偏好,沒法進行有效推薦。
(4) 推薦對象內容分類方法須要的數據量較大。
僅僅基於用戶行爲數據設計的推薦算法,稱爲協同過濾算法。此方法主要根據用戶對物品的歷史行爲,尋找用戶或物品的近鄰集合,以此計算用戶對物品的偏好。
主要的算法分3種,最普遍應用的是基於領域的方法:
主要包含兩種算法:
i) 基於用戶的協同過濾算法(UserCF)
這種算法給用戶推薦和他興趣類似的其餘用戶喜歡的物品。
算法的關鍵是計算兩個用戶的興趣類似度。協同過濾計算用戶興趣類似度是利用用戶行爲的類似度。
計算用戶興趣類似度時,要避免熱門物品自帶馬太效應的影響。換句話說,兩個用戶對冷門物品採起過一樣行爲,更能說明他們的興趣類似。
ii) 基於物品的協同過濾算法(ItemCF)
這種算法給用戶推薦和他以前喜歡的物品類似的物品。
該算法是目前業界應用最多的算法,如亞馬遜、Netflix、YouTube,都是以該算法爲基礎。
ItemCF 與 基於內容的推薦算法的區別
算法步驟:
(1) 根據用戶的歷史行爲,計算物品之間的類似度;
(2) 根據物品的類似度和用戶的歷史行爲給用戶生成推薦列表。
兩個物品產生類似度,是由於它們共同被不少用戶喜歡,也就是說,每一個用戶均可以經過它們的歷史興趣列表給物品「貢獻」類似度。
用戶活躍度對物品類似度的影響
IUF(Inverse User Frequence),用戶活躍度對數的倒數的參數。
論文提出的觀點是,活躍用戶對物品類似度的貢獻應該小於不活躍的用戶。用IUF修正物品類似度的計算。
物品類似度的歸一化
研究代表,將ItemCF的類似度矩陣按最大值歸一,能夠提升推薦的準確率。
UserCF 與 ItemCF 的優缺點
LFM(latent factor model)隱語義模型是最近幾年推薦系統領域最熱門的話題,它的核心思想是經過隱含特徵聯繫用戶興趣和物品。
i)隱語義模型解決了什麼問題
好比,用戶A的興趣列表裏,有關於偵探小說、科普圖書和計算機技術圖書。用戶B的興趣列表集中在數學和機器學習方面。
如何給用戶A和B推薦圖書?
除了UserCF與ItemCF,還能夠對書和物品的興趣進行分類。對於某個用戶,首先獲得他的興趣分類,而後從分類中挑選他可能喜歡的物品。
基於興趣分類的方法,大概須要解決的問題:
人工編輯分類存在的問題:
隱語義分析技術解決了上述5個問題:
隱語義技術有不少著名的模型和方法,其中耳熟能詳的名詞有pLSA、LDA、隱含類別模型、隱含主題模型、矩陣分解。這些技術和方法在本質上是相同的,均可以用於個性化推薦系統。
ii)LFM算法詳解
推薦系統的用戶行爲分爲顯性反饋和隱性反饋,LFM在顯性反饋數據(評分數據)上解決評分預測問題達到了很好的精度。
對於隱性反饋數據,這種數據集的特色是,只有正樣本(用戶喜歡什麼物品),沒有負樣本(用戶對什麼物品不感興趣)。
在隱性反饋數據集上應用LFM解決TopN推薦,第一個關鍵問題是如何給每一個用戶生成負樣本。
對於1),它的明顯缺點是負樣本太多,正負樣本數目相差懸殊,於是計算複雜度很高,最終結果的精度也不好。另外三種方法的效果,做者表示,3)> 2)> 4)。
經過離線實驗對比LFM在TopN推薦中的性能,在LFM中,有4個重要參數:
iii)基於LMF的實際系統的例子
雅虎的研究人員公佈過一個使用LFM進行雅虎首頁個性化設計的方案。
LFM的缺點是,很難實現實時的推薦。
經典的LFM模型每次訓練時,須要掃描全部用戶的行爲記錄,這樣才能計算出用戶隱類向量和物品隱類向量。因此通常天天只訓練一次。
雅虎的解決方案是:
iiii)LFM和基於領域的方法區別
總結以下圖:
用戶行爲很容易用二分圖表示,所以不少圖的算法均可以用到推薦系統中。也能夠把基於領域的模型看作是基於圖的模型的簡單形式。
i)用戶行爲數據的二分圖表示
基於圖的模型(graph-based model)是推薦系統中的重要內容,其基本思想是將用戶行爲數據表示爲一系列的二元組。
每個二元組(u,i)表明用戶u對物品 i 產生過行爲,這樣即可以將這個數據集表示爲一個二分圖。
下圖是一個簡單的用戶物品二分圖模型,其中圓形節點表明用戶,方形節點表明物品,圓形節點和方形節點之間的邊表明用戶對物品的行爲。好比圖中用戶節點A和物品節點a、b、d相連,說明用戶A對物品a、b、d產生過行爲。
ii)基於圖的推薦算法
基於用戶行爲二分圖,給用戶u推薦物品,能夠轉化爲計算用戶頂點u和與全部物品頂點之間的相關性,而後取與用戶沒有直接邊相連的物品,按照相關性的高低生成推薦列表。
其實,這是一個圖上的排名問題,最著名的就是Google的pageRank算法。
度量圖中兩個頂點之間相關性,通常取決於3個因素:
相關性高的兩個頂點,通常具備如下特徵:
iii)PageRank算法簡介
PageRank是Larry Page 和 Sergey Brin設計的,用來衡量特定網頁相對於搜索引擎中其餘網頁的重要性的算法,其計算結果做爲Google搜索結果中網頁排名的重要指標。
網頁之間經過超連接相互鏈接,互聯網上不可勝數的網頁就構成了一張超大的圖。
PageRank假設用戶從全部網頁中隨機選擇一個網頁進行瀏覽,而後經過超連接在網頁直接不斷跳轉。到達每一個網頁後,用戶有兩種選擇:到此結束或者繼續選擇一個連接瀏覽。
算法令用戶繼續瀏覽的機率爲d,用戶以相等的機率在當前頁面的全部超連接中隨機選擇一個繼續瀏覽。
這是一個隨機遊走的過程。
當通過不少次這樣的遊走以後,每一個網頁被訪問用戶訪問到的機率就會收斂到一個穩定值。這個機率就是網頁的重要性指標,被用於網頁排名。算法迭代關係式以下所示:
上式中PR(i)是網頁i的訪問機率(也就是重要度),d是用戶繼續訪問網頁的機率,N是網頁總數。in(i)表示指向網頁i的網頁集合,out(j)表示網頁j指向的網頁集合。
iiii)PersonalRank算法簡介
對於推薦系統,咱們須要計算的是物品節點相對於某一個用戶節點u的相關性。
Standford的Haveliwala於2002年在他《Topic-sensitive pagerank》一文中提出了PersonalRank算法,該算法可以爲用戶個性化的對全部物品進行排序。它的迭代公式以下:
咱們發現PersonalRank跟PageRank的區別只是用ri替換了1/N,也就是說從不一樣點開始的機率不一樣。
咱們從新描述一下算法的過程:
假設要給用戶u進行個性化推薦,能夠從用戶u對應的節點Vu開始在用戶物品二分圖上進行隨機遊走。
遊走到任何一個節點時,首先按照機率α決定是繼續遊走,仍是中止此次遊走並從Vu節點開始從新遊走。若是決定繼續遊走,那麼就從當前節點指向的節點中按照均勻分佈隨機選擇一個節點做爲遊走下次通過的節點。
這樣,通過不少次隨機遊走後,每一個物品節點被訪問到的機率會收斂到一個數。最終的推薦列表中物品的權重就是物品節點的訪問機率。
主要用於購物車分析。
(如下內容摘自網絡)
關聯規則是反映一個事物與其餘事物之間的相互依存性和關聯性,經常使用於實體商店或在線電商的推薦系統:經過對顧客的購買記錄數據庫進行關聯規則挖掘,最終目的是發現顧客羣體的購買習慣的內在共性。
例如購買產品A的同時也連帶購買產品B的機率,根據挖掘結果,調整貨架的佈局陳列、設計促銷組合方案,實現銷量的提高,最經典的應用案例莫過於<啤酒和尿布>。
關聯規則分析中的關鍵概念包括:支持度(Support)、置信度(Confidence)與提高度(Lift)。首先,咱們簡單溫故下這3個關鍵指標~
一、支持度 (Support):支持度是兩件商品(A∩B)在總銷售筆數(N)中出現的機率,即A與B同時被購買的機率。相似於中學學的交集,須要原始同時知足條件。
公式:
例子說明:
好比某超市2016年有100w筆銷售,顧客購買可樂又購買薯片有20w筆,顧客購買可樂又購買麪包有10w筆,那可樂和薯片的關聯規則的支持度是20%,可樂和麪包的支持度是10%。
二、置信度 (Confidence):置信度是購買A後再購買B的條件機率。簡單來講就是交集部分C在A中比例,若是比例大說明購買A的客戶很大指望會購買B商品。
公式:
例子說明:
某超市2016年可樂購買次數40w筆,購買可樂又購買了薯片是30w筆,顧客購買可樂又購買麪包有10w筆,則購買可樂又會購買薯片的置信度是75%,購買可樂又購買麪包的置信度是25%,這說明買可樂也會買薯片的關聯性比麪包強,營銷上能夠作一些組合策略銷售。
三、提高度 (Lift):提高度表示先購買A對購買B的機率的提高做用,用來判斷規則是否有實際價值,即便用規則後商品在購物車中出現的次數是否高於商品單獨出如今購物車中的頻率。若是大於1說明規則有效,小於1則無效。
公式:
例子說明:
可樂和薯片的關聯規則的支持度是20%,購買可樂的支持度是3%,購買薯片的支持度是5%,則提高度是1.33>1, A-B規則對於商品B有提高效果。
基於知識的推薦(Knowledge-based Recommendation),主要應用於知識型的產品中,主要解決的問題是,爲你量身定製升級打怪的進階路線圖。
好比你想學習鋼琴,若是你是剛入門的小白,那你最好從簡單的譜子學起。但這樣帶來一個問題,是由於你的歷史行爲都在初級範圍以內,根據興趣偏好,推薦給你的信息也都在初級範圍。沒法知足你的升級需求。
這個時候就須要基於知識的推薦。推薦系統知道你如今所處的知識級別(用戶知識),也知道學習鋼琴全部的級別(產品知識),而後根據你如今的狀況爲你推薦適合你進階的信息。
以上爲我的理解,百度百科的解釋爲:
使用用戶知識和產品知識, 經過推理什麼產品能知足用戶需求來產生推薦。這種推薦系統不依賴於用戶評分等關於用戶偏好的歷史數據, 故其不存在冷啓動方面的問題。基於知識的推薦系統響應用戶的即時需求, 當用戶偏好發生變化時不須要任何訓練。
舉例:
針對海量習題帶來的信息過載致使學習針對性不強、效率不高等問題,提出了基於知識點層次圖的個性化習題推薦算法(A Personalized Exercises Recommendation Algorithm based on Knowledge Hierarchical Graph,ReKHG)。
首先,借鑑課程知識點體系結構的特色,構建了表徵知識點層次關係的權重圖,該權重圖有效反映知識點間的層次關係。
而後,根據學生對知識點的掌握狀況,在知識點層次圖的基礎上提出了一種個性化習題推薦算法。該算法經過更新學生-知識點失分率矩陣,獲取學生掌握薄弱的知識點,以此實現習題推薦。
ps:以上舉例來自於某論文,沒有用於實際案例中。關於知識推薦,沒有找到太多實際案例,國外的論文論述的比較多一些。
每一個算法都不是完美的,所以實際應用中,能夠混合使用各類推薦算法,各取所長。
用戶行爲數據通常存於日誌中。
用戶行爲能夠分爲:顯性反饋行爲和隱性反饋行爲。
互聯網上的不少數據分佈知足一種稱爲Power Law的分佈,稱爲長尾分佈。
推薦系統的目的是聯繫用戶的興趣和物品,這種聯繫須要依賴不一樣的媒介。目前流行的有3種方式:物品、用戶、特徵。
前兩種咱們都很熟悉,特徵有不一樣的表現形式,能夠是物品的屬性集合,能夠是隱語義向量,這裏咱們用標籤表示。
以豆瓣爲例,打標籤做爲一種用戶重要的行爲,蘊含了豐富的用戶興趣信息。
標籤推薦系統算法
算法改進:
給用戶推薦標籤
推薦的好處
推薦方法
冷啓動物品的推薦方法
用戶所處的上下文,包括用戶訪問推薦系統的時間、地點、心情等,有助於提升推薦系統的性能。
好比,用戶夏天喜歡過的T恤,冬天再推薦就不合適了。
用戶在中關村,打開美食推薦,若是給的結果是國貿是不合適了。
時間對用戶興趣的影響:
推薦系統的實時性
用戶興趣是不斷變化的,其變化體如今用戶不斷增長的新行爲中。一個實時的推薦系統須要可以實時響應用戶新的行爲,讓推薦列表不斷變化,從而知足用戶不斷變化的興趣。
實現推薦系統的實時性除了對用戶行爲的存取有實時性要求,還要求推薦算法自己具備實時性,而推薦算法自己的實時性意味着:
推薦算法的時間多樣性
推薦系統天天推薦結果的變化程度被定義爲推薦系統的時間多樣性。時間多樣性高的推薦系統中用戶會常常看到不一樣的推薦結果。
提升推薦結果的時間多樣性須要分兩步解決:
若是用戶沒有行爲,推薦思路:
協同過濾算法能夠利用時間信息提升預測的準確度。
時間上下文相關的ItemCF算法
時間上下文相關的UserCF算法
獲取社交網絡數據的途徑
社交網絡數據的分類
社會化推薦的優勢
1)冷啓動主要分3類:
2)解決方案:
3)冷啓動,啓動用戶興趣的物品須要具備如下特色:
4)選擇啓動物品集合的系統
如何設計一個選擇啓動物品集合的系統?Nadav Golbandi在論文中提出用一個決策樹解決。
首先,給定一羣用戶,用這羣用戶對物品評分的方差度量這羣用戶興趣的一致程度。若是方差很小,說明這一羣用戶的興趣不太一致,也就是物品具備比較大的區分度,反之則說明這羣用戶的興趣比較一致。
再根據用戶的評分方差計算物品的區分度。
也就是說,對於物品i,將用戶分爲3類--喜歡物品i的用戶,不喜歡物品i的用戶和不知道物品i的用戶。若是這3類用戶集合內的用戶對其餘的物品興趣很不一致,說明物品i具備較高的區分度。
算法首先從全部用戶中找到具備最高區分度的物品i,而後將用戶分紅3類。而後在每類用戶中再找到最具區分度的物品,而後將每一類用戶又各自分爲3類,也就是將總用戶分爲9類,而後繼續這樣下去,最終能夠經過對一系列物品的見解將用戶進行分類。
在冷啓動時,從根節點開始詢問用戶對該節點物品的見解,而後根據用戶的選擇將用戶放到不一樣的分枝,直到進入最後的葉子節點,此時對用戶的興趣有了比較清楚的瞭解,從而能夠開始對用戶進行比較準確地個性化推薦。
5)利用物品的內容信息
就是基於內容的推薦,很適合解決物品冷啓動問題。
物品冷啓動對諸如新聞網站等時效性很強的網站的推薦很是重要,由於那些網站中時時刻刻都有新加入的物品,並且每一個物品必須可以在第一時間展示給用戶,不然通過一段時間後,物品的價值就大大下降了。
通常來講,物品的內容能夠經過向量空間模型表示,該模型會將物品表示成一個關鍵詞向量。
若是物品的內容是諸如導演、演員等實體,能夠直接將實體做爲關鍵詞。
若是內容是文本,須要引入天然語言的技術抽取關鍵詞。如何創建文章、話題和關鍵詞的關係是話題模型研究的重點,表明性的話題模型有LDA。
LDA有3種元素,文檔、話題、詞語。詳細內容可參考相關論文。
向量空間模型的優勢是簡單,缺點是丟失了一些信息,好比關鍵詞之間的關係信息。
3)推薦系統架構
推薦系統須要由多個推薦引擎組成,每一個推薦引擎負責一類特性和一種任務,推薦系統的任務是將推薦引擎的結果按照必定權重或者優先級合併,排序而後返回。以下圖:
4)推薦引擎架構
生成用戶特性向量
過濾模塊過濾掉如下物品
以上,就是全部內容的總結。內容主要來自於《推薦系統實踐》,以及相關論文、博客。
《推薦系統實踐》中提到的papaer總結:
https://book.douban.com/review/5514664/
參考論文:
http://t.cn/RjXktmC
http://t.cn/RjXkiFP
http://blog.csdn.net/qingqingpiaoguo/article/details/60882309
https://www.zhihu.com/question/27141495/answer/161027882
最後,想成爲一名AI產品經理,求推薦~
做者:rui_liu連接:https://www.jianshu.com/p/319e4933c5ba來源:簡書簡書著做權歸做者全部,任何形式的轉載都請聯繫做者得到受權並註明出處。