編者按:Tryolabs軟件設(shè)計師、烏拉圭共和國大學(xué)數(shù)學(xué)教授Gastón Rodríguez最近撰寫的推薦系統(tǒng)最新入門指南。
眾多電商網(wǎng)站和零售商通過推薦系統(tǒng)來提升其銷售成績。
簡單來說,推薦系統(tǒng)的目標(biāo)是預(yù)測用戶的興趣,向用戶推薦可能感興趣的物品。
推薦系統(tǒng)所需的數(shù)據(jù)包括用戶評分、搜索查詢、購買歷史,以及其他關(guān)于用戶/物品的知識。
Spotify、YouTube、Netflix等站點(diǎn)大量使用推薦系統(tǒng),向用戶推薦感興趣的信息。
這篇文章將介紹最流行的推薦系統(tǒng)類型,通過一些例子解釋它們的工作機(jī)制。
為了給這一主題增加一些動機(jī),我們將介紹一些真實(shí)世界的案例,討論實(shí)現(xiàn)推薦系統(tǒng)的高層需求,還有如何公平地評估推薦系統(tǒng)。
實(shí)現(xiàn)推薦系統(tǒng)的優(yōu)勢
推薦系統(tǒng)可以通過非常個性化的推銷和增強(qiáng)的用戶體驗(yàn)增加銷售。
推薦系統(tǒng)通??梢约铀偎阉?,讓用戶更容易訪問感興趣的內(nèi)容,并給用戶帶來驚喜。
商家可以通過發(fā)送包含感興趣內(nèi)容鏈接的郵件來吸引新顧客,留存老顧客。
開始感覺自己被理解的用戶更可能購買更多商品,消費(fèi)更多內(nèi)容。了解用戶所需,使商家領(lǐng)先于競爭者,減少客戶流失的風(fēng)險,同時逐漸提高利潤。
推薦系統(tǒng)的類型
推薦系統(tǒng)利用兩種信息:
特性信息,關(guān)于物品的信息(關(guān)鍵詞,類別等)和用戶的信息(偏好,畫像等)。
用戶-物品交互,例如評分、購買數(shù)、喜歡,等等。
因此,我們可以將推薦系統(tǒng)分為兩類:
基于內(nèi)容(content-based),主要使用特性信息;
協(xié)同過濾(collaborative filtering),主要基于用戶-物品交互。
混合系統(tǒng)(hybrid system)結(jié)合了兩類信息,目標(biāo)是避免單獨(dú)使用一種信息引發(fā)的問題。
下面,我們將深入介紹下基于內(nèi)容的系統(tǒng)和協(xié)同過濾系統(tǒng)。
基于內(nèi)容的系統(tǒng)
這類系統(tǒng)主要基于物品相似性和用戶畫像。背后的假說是,如果用戶過去曾對某物感興趣,那么以后也會對類似物品感興趣。通常根據(jù)物品的特效歸類相似物品。用戶畫像的構(gòu)建則根據(jù)用戶的歷史行為,或者明確詢問用戶其興趣所在。另一些不被認(rèn)為純基于內(nèi)容的系統(tǒng),還會利用用戶的個人數(shù)據(jù)和社交數(shù)據(jù)。
這類系統(tǒng)的一大問題是建議過于專門(用戶A對類別B、C、D表示了興趣,系統(tǒng)無法向其推薦這些類別之外的其他可能感興趣的物品)。
另一個問題是新用戶沒法定義畫像(除非明確詢問其興趣)。相比新增用戶,新增物品倒是容易得多,只需確保我們根據(jù)新物品特性將其分到了合適的分組即可。
協(xié)同過濾系統(tǒng)
這類系統(tǒng)利用用戶的交互來過濾感興趣物品。我們可以將交互的集合可視化為一個矩陣,其中每一項(xiàng)(i, j)代表用戶i和物品j的交互。有意思的是,我們可以將協(xié)同過濾看作是對分類和回歸的推廣。在分類和回歸中,我們的目標(biāo)是預(yù)測直接依賴其他變量(特征)的變量,而在協(xié)同過濾中,并不存在特征變量和分類變量的區(qū)別。
從下圖可以看到,我們并不打算預(yù)測某列的值,而是預(yù)測任何給定項(xiàng)的值。
圖片來源:《推薦系統(tǒng)》
簡單來說,協(xié)同過濾系統(tǒng)基于這樣一個假定,如果用戶喜歡物品A,另一個用戶也喜歡物品A,而且另一個用戶同時喜歡物品B,那么第一個用戶可能也對物品B感興趣。因此,協(xié)同過濾系統(tǒng)基于歷史交互信息預(yù)測新的交互。為了達(dá)到這一目標(biāo),有兩類方法:基于內(nèi)存(memory-based)和基于模型(model-based)。
基于內(nèi)存
有兩種方法:第一種識別用戶的聚類,并利用某一特定用戶的交互預(yù)測其他類似用戶的交互。第二種方法識別用戶A評分的物品的聚類,并基于此預(yù)測用戶A和不同但相似的物品B的交互。這些方法通常會遇到的主要問題是巨大的稀疏矩陣,因?yàn)橛脩?物品交互的數(shù)量可能會過低,無法生成高質(zhì)量的矩陣。
基于模型
這些方法基于機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘技術(shù)。其目標(biāo)是訓(xùn)練可以做出預(yù)測的模型。例如,我們可以使用現(xiàn)有的用戶-物品交互來訓(xùn)練一個模型,預(yù)測一個用戶可能最喜歡的5項(xiàng)物品。這些方法的一個優(yōu)勢是,和基于內(nèi)存的方法相比,可以向大量用戶推薦大量物品。我們認(rèn)為,即便配合大型稀疏矩陣使用,這些方法仍有更大的覆蓋面(coverage)。
協(xié)同過濾系統(tǒng)的問題
協(xié)同過濾系統(tǒng)面對的兩個主要挑戰(zhàn)為:
冷啟動:我們需要有足夠的用戶-物品交互信息,才能讓系統(tǒng)工作。如果我們新建了一家電商網(wǎng)站,在用戶和相當(dāng)多數(shù)量的物品交互之前,我們無法給出推薦。
新增用戶/物品:無論是新用戶還是新物品,我們都沒有關(guān)于它們的先驗(yàn)知識,因?yàn)樗鼈冞€不存在交互。
在注冊時詢問用戶的其他數(shù)據(jù)(性別、年齡、興趣,等等),根據(jù)物品的元信息將其與數(shù)據(jù)庫中的現(xiàn)有物品相關(guān)聯(lián),可以緩解上面提到的兩個問題。
協(xié)同過濾實(shí)例
協(xié)同過濾是當(dāng)前最常用的方法之一,并且通常能提供比基于內(nèi)容的系統(tǒng)更好的結(jié)果。YouTube、Netflix、Spotify的推薦系統(tǒng)就用到了協(xié)同過濾。下面我們將介紹創(chuàng)建協(xié)同過濾系統(tǒng)的兩種技術(shù)。
一個經(jīng)典方法是矩陣分解。其目標(biāo)是補(bǔ)全評分矩陣(R)中的未知用戶-物品交互。想象一下,我們通過某種方式,魔法般地得到了兩個矩陣U和I,滿足U × I和R的所已知項(xiàng)相等。那么,U × I也為我們提供了R中未知項(xiàng)的值,這些值可以用來生成推薦。
圖片來源:Soumya Ghosh
找到U和I的一種時髦的方法是使用神經(jīng)網(wǎng)絡(luò)。
首先,我們需要將用戶和物品映射為向量,維度分別為M和N。這意味著我們需要學(xué)習(xí)用戶和物品的表示,通常稱為嵌入(因?yàn)槲覀儗⑦@些概念嵌入一個向量空間)。由于我們尚不清楚這些向量的值,我們需要從隨機(jī)初始值開始。
接著,對每個用戶-物品交互(u, x)而言,我們將連接用戶嵌入u和物品嵌入x為單個向量。由于我們已經(jīng)知道了這一用戶-物品交互的值,我們可以迫使網(wǎng)絡(luò)對這一向量的輸出等于已知值。接著,網(wǎng)絡(luò)使用反向傳播調(diào)整其權(quán)重以及嵌入,使得結(jié)果符合我們的預(yù)期。因此,網(wǎng)絡(luò)將學(xué)習(xí)表示用戶和物品的最佳方式,并通過傳入所得嵌入以預(yù)測未見交互。
例如,假設(shè)上圖中的用戶矩陣和物品矩陣的值是隨機(jī)初始化的嵌入。對交互(A, X)而言,我們將傳入向量[1.2, 0.8, 1.2, 0.6],并迫使輸出等于4.5。在這個例子中,我們可以使用MSE作為損失函數(shù)。如果我們的交互矩陣是二值矩陣,那么使用分類問題中常見的損失函數(shù)要更合適,比如交叉熵。
這一方法非常有趣的結(jié)果是嵌入通常包含特定的語義信息。因此,我們最后得到的并不僅僅是未知交互的預(yù)測。例如,相似用戶在用戶向量空間中會很接近,這有助于研究用戶行為。
Item2vec
Item2vec是借鑒Word2vec思想提出的用于協(xié)同過濾的物品嵌入表示。它利用購買訂單作為上下文信息,暗示在類似情況下購買的物品比較相似(相應(yīng)的嵌入表示在向量空間中占據(jù)相近的位置)。
這一方法既不直接牽涉用戶,也不在做出推薦時考慮用戶。不過,如果我們的目標(biāo)是顯示用戶所選物品的替代選擇,那么這個方法可能非常有用(“你買了這個電視,你也許也對這些感興趣”)。
這一方法的主要問題在于,我們需要海量數(shù)據(jù)來生成良好的嵌入。Item2vec論文用到了兩個數(shù)據(jù)集,其中一個數(shù)據(jù)集包含九百萬交互,七十三萬二千用戶,四萬九千物品,另一個數(shù)據(jù)集包含三十七萬九千交互,1706物品,用戶數(shù)未知。
何時實(shí)現(xiàn)推薦系統(tǒng)?
既然我們現(xiàn)在已經(jīng)對推薦系統(tǒng)有所了解,是時候考慮下何時值得實(shí)現(xiàn)推薦系統(tǒng)。
如果你的業(yè)務(wù)運(yùn)行得不錯,即使沒有推薦系統(tǒng),你大概也不難生存。然而,如果你想要借助數(shù)據(jù)的力量創(chuàng)建更好的用戶體驗(yàn)并增加利潤,你應(yīng)該好好考慮下實(shí)現(xiàn)一個推薦系統(tǒng)。
投資一個良好的推薦系統(tǒng)是否值得?回答這一問題的一個好辦法是看看實(shí)現(xiàn)了這樣的系統(tǒng)的公司取得了怎樣的效果:
亞馬遜上35%的購買源自其推薦系統(tǒng)(數(shù)據(jù)來源:麥肯錫)。
2016年的雙11期間,阿里巴巴的個性化到達(dá)頁面對轉(zhuǎn)化率的提升高達(dá)20%
YouTube上的用戶觀看視頻時長的70%來自推薦。
Netflix上的用戶觀看視頻的75%來自推薦(來源:麥肯錫)。
Netflix的VP和CPO發(fā)表的論文說個性化和推薦系統(tǒng)為Netflix每年節(jié)約十億美元。
交叉銷售和類別滲透技術(shù)增長了20%銷售額,提高了30%利潤(來源:麥肯錫)。
構(gòu)建推薦系統(tǒng)的先決條件
數(shù)據(jù)是唯一最重要的資產(chǎn)?;旧希阈枰私庥脩艉臀锲返囊恍┘?xì)節(jié)。如果你只有元信息,那么你可以從基于內(nèi)容的方法開始。如果你有大量用戶交互信息,你可以試驗(yàn)更強(qiáng)大的協(xié)同過濾方法。
你所擁有的數(shù)據(jù)集越大,你的系統(tǒng)工作得就越好。此外,你需要確保你的團(tuán)隊能夠理解數(shù)據(jù),并正確地處理數(shù)據(jù),讓數(shù)據(jù)可以被你將采用的技術(shù)所用。
關(guān)于用戶-物品交互,你需要了解:
你應(yīng)該根據(jù)你的系統(tǒng)定義交互種類,以提取數(shù)據(jù)。例如,如果你運(yùn)行的是一個電商網(wǎng)站,那么交互可能包括對物品的點(diǎn)擊,搜索,訪問,收藏夾,購買,評分,購物車中的物品,甚至是剔除掉的物品,等等。
交互可以分為顯式和隱式兩類。顯式交互中,用戶表明正面或負(fù)面的興趣,例如評分或撰寫評論。隱式交互是從用戶的行為中推導(dǎo)出的興趣,比如搜索或購買某物。
每個用戶和物品的交互數(shù)量越多,最終結(jié)果就越好。
典型的情況是,有些非常流行的物品有大量的用戶交互行為,而其他物品就沒有那么多交互了,也就是長尾效應(yīng)。推薦系統(tǒng)通常在流行物品上效果相當(dāng)出色,盡管用戶對此大概不是非常感興趣,因?yàn)橛脩艉芸赡芤呀?jīng)知道這些物品了。長尾中的物品是最感興趣的,因?yàn)槿绻麤]有推薦,用戶可能甚至不會考慮到它們。
圖片來源:dataminingapps.com
在運(yùn)行一項(xiàng)新產(chǎn)品的同時,從頭實(shí)現(xiàn)一個推薦系統(tǒng)并非易事?;趦?nèi)容的方法比較方便,或者你也可以明確詢問用戶的興趣。當(dāng)用戶和交互的數(shù)量增長時,就到了設(shè)想?yún)f(xié)同過濾方法的時候,從而增強(qiáng)你的系統(tǒng)的潛能。
最后,評估系統(tǒng)表現(xiàn),思考提升其表現(xiàn)的不同方法,可能會是最艱巨的任務(wù)。但別打退堂鼓,你幾乎一定能從中得到樂趣,同時你也將欣賞到利潤的增長,對吧?
如何評估推薦系統(tǒng)?
取決于不同的目的,有不同的評估推薦系統(tǒng)的方法。比如,如果你只對推薦的前5項(xiàng)物品感興趣(用戶最可能交互的物品),那你在評估的時候就無需考慮其余的推薦。再比如,推薦的順序?qū)δ銇碚f可能非常重要,所以你在評估的時候需要考慮它??偟膩碚f,推薦系統(tǒng)的評估方法分為兩類:在線和離線。
在線方法
在線方法,又稱A/B測試,通過用戶對給定推薦的反應(yīng)衡量推薦系統(tǒng)的表現(xiàn)。例如,你可以衡量用戶是否點(diǎn)擊推薦的物品——以及相應(yīng)的轉(zhuǎn)化率。這個評估方法很理想,不過難以實(shí)施。因?yàn)槲ㄒ贿M(jìn)行試驗(yàn)的方法是和部署到生產(chǎn)環(huán)境的系統(tǒng)交互。而任何失敗的試驗(yàn)很可能會對利潤和用戶體驗(yàn)造成直接影響。此外,使用真實(shí)客戶進(jìn)行試驗(yàn),要比使用事先準(zhǔn)備的數(shù)據(jù)慢很多。
離線方法
離線方法是試驗(yàn)階段的離線方法,因?yàn)槠渲胁⒉恢苯訝可嬗脩?,和在線方法不同,系統(tǒng)無需部署到生產(chǎn)環(huán)境。數(shù)據(jù)被分為訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集,也就是說,部分?jǐn)?shù)據(jù)用來構(gòu)建系統(tǒng),其余數(shù)據(jù)用來評估系統(tǒng)。使用離線方法時,需要小心,因?yàn)橛行]有恰當(dāng)表示的因素可能會影響結(jié)果。例如,時令因素(季節(jié)、氣候,等等)在推薦中可能非常重要,甚至客戶在某一特定時刻的心情也可能影響結(jié)果。
結(jié)語
正如你在這篇文章中看到的那樣,在系統(tǒng)中加入推薦是一個很有吸引力的選擇。從用戶的視角來說,它提升了體驗(yàn)和參與度。從業(yè)務(wù)的角度來說,它能創(chuàng)造更多利潤。
用戶量較小時,使用一個基本的推薦系統(tǒng),當(dāng)用戶基數(shù)增加時,再投入更強(qiáng)的技術(shù),這是比較好的做法。
最不可或缺的資源是數(shù)據(jù)。如果你沒有恰當(dāng)?shù)毓芾怼Υ鏀?shù)據(jù),是時候采取必要措施了。一旦到達(dá)實(shí)現(xiàn)階段,深入相關(guān)主題當(dāng)然是很有必要的。
業(yè)務(wù)目標(biāo)將指示你需要首先關(guān)注的推薦系統(tǒng)類型:它是要提高已活躍用戶的參與度,還是讓那些稀客變得更活躍。
除了定義業(yè)務(wù)目標(biāo),能夠分析和理解你的站點(diǎn)生成的信息至關(guān)重要。有了這些,應(yīng)該沒什么能夠阻止你成功實(shí)現(xiàn)你的推薦系統(tǒng)。
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4797瀏覽量
102412 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8481瀏覽量
133876 -
推薦系統(tǒng)
+關(guān)注
關(guān)注
1文章
44瀏覽量
10175
原文標(biāo)題:2018年推薦系統(tǒng)入門指南
文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
電磁兼容與電磁干擾快速評估系統(tǒng)

EE-175: 仿真器與EZ-KIT Lite評估系統(tǒng)問題解決指南

DLPLCRC964評估模塊快速入門指南

評論