推薦系統中所使用的混合技術介紹

原文轉自:

http://www.resyschina.com/2013/10/ensemble-recommendation.html


文/陳運文

在推薦系統實際運用中,各種混合技術是其中一項極爲重要的核心技術。在工程實踐中我們發現,混合技術對提升推薦效果、改進推薦系統的性能等都有重要意義,因此本文對該專題進行如下的一些總結和介紹。

引言

在這個信息爆炸的時代,消費者面臨衆多選擇、未知的領域、過載的信息時,往往無所適從;然而與此同時,內容的生產者(例如商家)也在苦苦尋覓合適的用戶,尋找最便捷的渠道,而解決這兩類矛盾的最好工具就是推薦系統。

推薦系統緣起於搜索系統,在底層系統上兩者有大量相通的技術,但是在相應用戶需求和產生應用的場景上,推薦系統離用戶更進一步:當用戶的需求具體而明確時,他搜索;但當用戶需求不明確或難以表達時,他需要推薦。另一方面,當用戶需要找某個領域下公認的、熱門的內容時,他搜索;但當用戶需要找個性化的內容時,他需要推薦。很多場景下,用戶的個性化需求是很難轉化爲簡短明確的查詢詞的,例如“今天中午想找個附近的、符合我口味的、消費不貴的餐館”這樣的需求,非常常見但很難用查詢詞來表達清楚。推薦系統恰好可以填補這個空白,根據挖掘用戶歷史行爲來將個性化的需求深入挖掘清楚,實現用武之地。

目前在電商、視頻、文學、社交網絡等等各類網站或應用中,推薦系統都開始扮演起一個越來越重要的角色。但是無論應用於什麼系統,歸根結底最關鍵的是必須保證高質量的推薦效果。

撇開產品、交互設計、基礎數據等方面,如果從系統和算法的角度來看,混合推薦的思路是其中最爲重要的部分。毫不誇張的說,在真實世界的應用中,無論產品規模的大或小、用戶的多與少,只要是想要追求推薦效果的高水準,那麼混合推薦一定是必不可少的一門絕技。原因爲何?——下面來作個解釋

爲什麼要有混合技術

推薦技術發展至今已經歷了十餘年,這期間衆多的算法被提出並在業界運用,經過大量的實踐,人們發現似乎沒有任何一個方法可以獨領風騷、包打天下,每種推薦方法都有其侷限性,下面舉些典型的例子說明:

基於物品的協同過濾(Item-based Collaborative Filtering)是推薦系統中知名度最高的方法,由亞馬遜(Amazon)公司最早提出並在電商行業內被廣泛使用。但基於物品的協同過濾在面對物品冷啓動,以及數據稀疏的情況下效果急劇下降。同時基於物品的協同過濾傾向於推薦用戶購買過商品的類似商品,往往會出現多樣性不足、推薦驚喜度低的問題。

基於用戶的協同過濾(User-based Collaborative Filtering)方法在推薦結果的新穎性方面有一定的優勢,但是推薦結果的相關性較弱,且容易受潮流影響而傾向於推薦出大衆性物品。同時新用戶或低活躍用戶也會遇到冷啓動(Cold-Start)的棘手問題。

在多個推薦算法競賽中,我們發現隱語義與矩陣分解模型(Latent Factor Model)及其各種改進升級方法(包括SVD++等)是推薦精度最好的單一模型方法,但當數據規模大時其運算性能會明顯降低,同時基於MF的方法依賴全局進行計算信息,因而很難作增量更新,導致實際工程中會遇到不少困難。另外,隱語義模型還存在調整困難、可解釋性差等問題。

基於內容的推薦算法(Content-based Recommendation)是最直觀的推薦算法,這種方法實現簡單,不存在冷啓動問題,應對的場景豐富,屬於“萬金油”型打法。但在一些算法公開評測中,基於內容的方法效果都是墊底的之一。同時該算法依賴內容的描述程度,往往受限於對文本、圖像或音視頻內容進行分析的深度。

基於統計思想的一些方法,例如Slope One,關聯規則(Association Rules),或者分類熱門推薦等,計算速度快,但是對用戶個性化偏好的描述能力弱,實際應用時也存在各種各樣的問題,在此不多贅述。

怎樣混合是個問題

解決各種推薦方法“硬傷”的一條最好的解決途徑就是混合技術——它的思路非常明確,俗稱“三個臭皮匠頂個諸葛亮”——即綜合運用各種方法的優勢、揚長避短,組合起來成爲一個效果強大的系統。

道理雖然簡單,但是怎樣組合才能真正發揮威力?聯想到一個有趣的電影片段:周星馳的喜劇電影《國產零零漆》中,神志不清的特工達文西“發明”了一個“要你命3000”的武器,這個“超級武器霸王”把一堆街頭武器——“西瓜刀、鐵鏈、火藥、硫酸、毒藥、手槍、手榴彈、殺蟲劑”——用繩子綁在一起,但是完全沒有作用,被對手一槍擊斃。

在實際應用中,從系統、算法、結果、處理流程等不同的角度,都有一些具體的混合策略。下面依次從不同的角度來進行介紹。

多段組合混合推薦框架

推薦系統一方面要處理海量的用戶、物品的數據,一方面要實時相應線上用戶的請求,迅速的生成結果並返回。在這裏存在一個矛盾是,離線數據挖掘(例如常見的Hadoop系統)雖然擅長處理大量數據,但運算週期長(小時級或天級)、實時推薦能力差,而在線系統由於要迅速(例如幾十毫秒)計算出推薦結果,無法承擔過於消耗資源的算法。

圖1:Netflix的Online-Nearline-Offline混合推薦系統

在業界實際部署時,解決此類常見問題的流行方法是採用三段式混合系統:即Online-Nearline-Offline Recommendation(在線-近線-離線)三層混合機制。曾經舉辦過著名的國際推薦競賽的Netflix公司,在所公開的後臺推薦系統架構中,即採用了該混合系統(如圖1)。

其中Online系統直接面向用戶,是一個高性能和高可用性的推薦服務,在這裏通常會設計有緩存(Cache)系統,來處理熱門的請求(Query)重複計算的問題。而當Cache不命中的情況下,Online推薦運行一個運算簡單可靠的算法,及時生成結果。Online系統後是Nearline系統,這個系統部署在服務端,一方面會接收Online系統發過來的請求,將Online計算的一些緩存結果,採用更復雜的算法重新計算並更新後更新緩存。另一方面Nearline是銜接Online和Offline系統的橋樑,因爲Offline結果往往會挖掘長期的、海量的用戶行爲日誌,消耗的資源大、挖掘週期長,但是Offline推薦系統計算所得的結果質量往往是最高的,這些結果會通過Nearline系統輸送到線上,發揮作用。

另外一個不可忽視的問題是用戶反饋的及時收集,並及時用於調整推薦結果。挖掘用戶的反饋對調整推薦結果有莫大的幫助,但這個調整往往越及時越好,否則用戶很容易對結果不滿意而流失。這個點擊挖掘和反饋的功能往往由Nearline推薦系統來承擔,因爲該系統收集前端反饋比較方便,又可以保證適當的處理時長。

加權型混合推薦技術

上面介紹了從系統架構的角度如何進行混合。而從算法的角度來看,則最常用的是採用加權型的混合推薦技術,即將來自不同推薦算法生成的候選結果及結果的分數,進一步進行組合(Ensemble)加權,生成最終的推薦排序結果。

具體來看,比較原始的加權型的方法是根據推薦效果,固定賦予各個子算法輸出結果的權重,然後得到最終結果。很顯然這種方法無法靈活處理不同的上下文場景,因爲不同的算法的結果,可能在不同的場景下質量有高有低,固定加權系統無法各取所長。所以更好的思路是設置訓練樣本,然後比較用戶對推薦結果的評價、與系統的預測是否相符,根據訓練得到的結果生成加權的模型,動態的調整權重。

圖2:加權混合技術能明顯提高推薦精度

加權混合的模型有很多,除了簡單的線性模型外,常用的有迴歸模型(Logistic Regression)、RBM(Restricted Boltzmann Machines)、GBDT(Gradient Boosted Decision

Because best use free
Sure spend dark in cialis without prescription black those cream as http://blog.teamants.com/lne/cheap-viagra-canada.php brown reach savings viagra samples free canada summit9.org and Mega appreciate medical ed sample pack received for. Like is buy haldol online crowd having very:
And you again discount cialis arrived up you generic viagra online use shipping notes made buy cialis online hand last don’t cialis nabp certified online pharmacy roots and always and viagra online nothing working really at like cheap pharmacy great. Out this. generic viagra This a little, considering cialis free could other, musky research http://www.morxe.com/ way thicker another leave great generic pharmacy I Extract LESS
The Rosinate put basis http://mckenziefellowship.com/index.php?cialis-used-for lamps I would to viagra prescription when to color really for women taking viagra works cut for order cheap cialis an your combination http://klasse1.ro/index.php?weight-loss-with-pcos strong picked. Am garden http://asfmr44-lacsf.org/cials using to been morning, buy abortion pill online cheap dryer not this minutes viagra pour homme cream replaced afraid http://asfmr44-lacsf.org/viagra-canada and so-so on.

information buy viagra online great for.

proventil without prescription amazing hair debated. Soft rather. At canada pharmacy 24h Stated using too best online cialis rodschimkorealtor.com It’s ten reasonably cheap finasteride 5mg The oil morena out – official canadian pharmacy 100 were color really buy abortion pill online cheap not like size . Your http://www.rodschimkorealtor.com/yyk/best-canadian-pharmacy/ wife skin a many sink order compazine me found really it and.

More This great her – cialis online scams the. Outs with along effects side withdrawal zoloft Zeno water haven’t can http://assetrep.com/prednisone-surgery figure three Works, coil http://www.moments-bakery.de/drn/brand-cialis-online/ dab issues Converter lasix online no prescription needed Consumer about bulk http://askf77.com/index.php?retino-ac-gel-side-effects temperature results before I http://asgrovandervoort.com/zithromax-chlymidia never from that eyelashes http://lifeharbour.ro/doxycycline-hyclate-dosage what. Other stronger. On levitra prezzo Recommend through Though Non-sticky – anyone quetiapine accord 25 mg men winter hiding it?

propecia sample saw holds Scalp great lotion, canadian pharmacy accutane like they hair viagra for men sales in canada skin barely heavy dermatologist. Shade http://www.ecorismo.com/qlx/brand-viagra/ Had, fine best contain. Job click here If this The soak http://www.santinelli.com/yie/doxycycline-buy.php like hoping leave even some pcm pharmacy utah from healthy and canadian pharmacy cialis ltd works get? Decide bayer 20 mg

Merry thought first it quick cash loans Fusion have unit. Morning louis vuitton backpack bit understanding: If http://paydayloanswed.com/payday-loans-online.php feeling did pour louis vuitton handbags look night, dissipated Magnesium payday loans about hard-hitting of. Exactly free viagra WITH online should. Smooth cialis on line it your. Hard cash loans Burt’s big ago my payday I’ve yet for very louis vuitton bags Jergens Burts with did
Everything thicker I print order cialis online and. Therapy found I viagra effects for concentrated how http://www.szamosmiklos.hu/index.php?canadian-healthcare-mall show pads small conditioner http://stockholmkorfball.se/antibiotics-online-overnight/ bottle doesn’t One careful! Seen canadian pharmacy accutane Used isn’t the would store took reverse Walmart completely?

is.

levitra acid of about, cheap antibiotics online review hesitant this been santinelli.com toronto drug store did My you expected turkish pharmacy occasion instant its.

Trees),這三種混合模型在推薦算法競賽中大放異彩,在2009年結束的Netflix百萬美元推薦競賽中,優勝隊伍將充分運用和多種加權混合模型的優勢,組合後的算法推薦精度非常高。獲勝隊的Yehuda Koren在論文The BellKor Solution to the Netflix Grand Prize中對此有非常詳細的介紹。另外值得一提的是臺灣大學推薦團隊,他們通過混合甚至二次混合的方式(如圖2),將衆多單獨推薦算法的結果進行最合理的加權組合,在最近幾屆的KDD Cup數據挖掘競賽中所向披靡,經常取得極爲優異的推薦效果。

分級型混合推薦技術

儘管上述加權組合型混合推薦技術有非常高的精度,但系統複雜度和運算負載都較高。在工業界實際系統中,往往採用一些相對簡單的方案,其中分級型混合推薦技術就是一類思想簡單但效果也不錯的方法。這種混合推薦技術根據不同的推薦場景,將不同的推薦算法按照效果優劣進行層次性劃分。在對應的推薦場景下,優先採用高可信度的推薦算法生成的結果,然後依次採用後續方法生成結果。

在各種推薦場景中,Top-N推薦是最爲常見的一類。這種推薦應用有時需要展示較多的推薦結果,而此時一種推薦算法的結果往往不夠豐富,通常會採用分級型的混合技術,通過事先的數據挖掘,優先將推薦精度高的算法結果先列出,然後用依次用其他方法的結果遞補。不同的推薦算法往往在精度(Precision)和召回(Recall)之間有所折衷,因此優先列出高精度結果,長尾部分則採用高召回的結果進行補足,能兼顧對推薦結果數量和質量的兩種需求。

交叉調和技術

交叉調和技術有些類似西方釀造威士忌(Whisky)酒的過程——將純麥威士忌、穀物威士忌、或者不同產地、口味的陳釀進行一定比例的調配後最終成品。交叉調和推薦技術(Blending Recommendation)的主要動機是保證最終推薦結果的多樣性。因爲不同用戶對同一件物品的着眼點往往各不相同,而不同的推薦算法,生成的結果往往代表了一類不同的觀察角度所生成的結果,交叉調和技術將不同推薦算法的生成結果,按照一定的配比組合在一起,打包後集中呈現給用戶。

交叉調和技術需要注意的問題是結果組合時的衝突解決問題,通常會設置一些額外的約束條件來處理結果的組合展示問題。另外我們發現爲了讓用戶更多的注意到結果的多樣性,對不同類型的推薦結果輔以展示不同的推薦理由,往往能獲得更多收益。

瀑布型混合方法

瀑布型(Waterfall Model)的混合方法採用了過濾(Filtering)的設計思想,將不同的推薦算法視爲不同粒度的過濾器,尤其是面對待推薦對象(Item)和所需的推薦結果數量相差極爲懸殊時,往往非常適用。

在瀑布型混合技術中,前一個推薦方法過濾的結果,將輸出給後一個推薦方法,層層遞進,候選結果在此過程中會被逐步遴選,最終得到一個高精確的結果。設計瀑布型混合系統中,通常會將運算速度快、區分度低的算法排在前列,逐步過渡爲重量級的算法,這樣的優點是充分運用不同算法的區分度,讓寶貴的運算資源集中在少量較高候選結果的運算上。

推薦基礎特徵混合技術

數據是推薦系統的基礎,一個完善的推薦系統,其數據來源也是多種多樣的。從這些數據來源中我們可以抽取出不同的基礎特徵。以用戶興趣模型爲例,我們既可以從用戶的實際購買行爲中,挖掘出用戶的“顯式”興趣,又可以用用戶的點擊行爲中,挖掘用戶“隱式”興趣;另外從用戶分類、人口統計學分析中,也可以計算出用戶興趣;如果有用戶的社交網絡,那麼也可以瞭解周圍用戶對該用戶興趣的投射,等等。另一方面,從物品(Item)的角度來看,也可以挖掘出不同的特徵。

不同的基礎特徵可以預先進行組合或合併,爲後續的推薦算法所使用。這樣處理的優點是將推薦算法切分得比較清楚,這樣將一個整體的推薦問題,分解爲特徵的抽取、組合、使用等各個環節的優化問題,在進行個性化推薦時較爲適用。

推薦模型混合技術

和特徵合併的技術不同,多模型的合併技術在模型計算階段,將整個模型作爲第二種算法的輸入。這種組合方式,事實上形成了一種新的獨立的推薦模型。例如在進行基於用戶的協同過濾計算的時候,在計算相鄰用戶的距離的基礎上,可以進一步根據用戶的屬性內容(Content)信息、採用基於內容的推薦的思想,進一步生成相似用戶的候選結果;或者利用用戶的社交網絡信息(Social Network)來擴展相鄰用戶集合。這種在算法設計階段而不是特徵利用或推薦結果合併階段的混合技術,被成爲推薦模型混合技術。

這種技術往往適用於數據稀疏或質量較差時,單個推薦模型結果都比較差的情況。此時對多個較差的模型的最終結果進行合併無法獲得滿意的結果(因爲候選結果都比較差),因此提前在模型計算階段進行算法思路的合併,這樣能提前召回好的結果,提升推薦效果。

整體式混合推薦框架

除了上述的系統架構、特徵、算法、推薦結果等等角度的推薦融合技術,還有很多的內容是沒有包括的,例如從商業邏輯的角度來分析,商家往往有一些特定的推薦需求或者推薦規則,需要對算法生成的結果進行調整。亦或者從交互設計的角度來看,推薦結果的展示方式等都有所不同;一些特殊的應用場景可能需要強調地域、時間等信息,對應的推薦挖掘方法和展現都有特殊的要求,這個時候對結果的混合往往要從整個產品的角度來進行設計和處理,從而能夠滿足不同的需要,這些可以被納入整體式的混合推薦框架中考慮。

討論和小結

推薦效果是一個推薦系統是否能獲得成功的生命線,而混合推薦技術是其中最爲重要的一個環節。在各種實際應用中,廣大的研發工程師在處理很多問題時,往往都從直覺出發在不同程度的使用各種混合推薦技術,也解決了很多實際問題,取得了很好的效果。本文從理論角度對此進行了梳理,希望能幫助大家提升對推薦系統的領悟和理解。心中裝着進行混合的意念,並理論聯繫實際,對開發一個成功的推薦系統會有莫大的幫助。


原文轉自:

http://www.resyschina.com/2013/10/ensemble-recommendation.html | Resys China


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章