摘要:在峰會大數據專場上,達觀數據紀達麒圍繞數據挖掘算法落地實踐做了主題演講,就個性化推薦系統商業化的五大要素進行了詳細探討。在機器學習領域,每一個單一算法都是針對一類特定的問題,因而針對同一個推薦任務,不同的算法效果相差很大。
在日前舉行的2017 CSDI 中國軟件研發管理行業峰會上,包括摩拜單車創始人及CTO夏一平、華為首席系統工程專家徐琦海、京東云、攜程等一線互聯網企業大數據平臺負責人等在內的技術大咖齊聚一堂,分享了各自領域的頂尖技術實踐。在峰會大數據專場上,達觀數據CTO紀達麒圍繞“數據挖掘算法落地實踐”做了主題演講,就個性化推薦系統商業化的五大要素進行了詳細探討。下面為大家獻上演講的精華內容。
機器學習的原理并不神秘
最近“人工智能”特別火。“人工智能”的概念雖然很高大上,但從算法角度來說,離我們是很近的。這些算法之所以能夠得到廣泛地應用,很大程度上是因為機器學習和人類學習很像,在本質上有很多相似性。
從人類學習的角度來說,我們教一個小朋友學數學,我們先要給他一些課本上的例題,讓他知道加減乘除大概是怎么回事;然后給他一本習題集,讓他不斷地去算,去對答案,最終學得四則運算的技能。
在這個過程中,例題和習題就是訓練樣本,通過訓練樣本獲得標準答案的過程,就是“訓練”。“訓練”的最終目的,是要找到一個“目標函數”。有訓練樣本,通過訓練找到目標函數,這就是機器“學習”的方式,它和人類學習是很相似的。
舉個實際的例子,比如我們的天氣預報系統就是按照這個方式“學習”出來的一個人工智能系統。為了有一個好的預測結果,我們先要廣泛地采集溫度、濕度、風速、氣壓等各類數據和特征,構造訓練樣本;然后,根據之前是否下雨以及降雨量的結果,得到一個量化的目標函數;接下來,再通過建立一個學習模型并反復糾正完成一套訓練過程,不斷優化我們的目標函數,得到盡可能準確的預報結果。
接下來我們要展開講的個性化推薦算法也是如此。它的實際操作需要克服很多細節問題,但是其基礎是很容易理解的。
推薦算法的演進之路
對于一個內容提供商,不管是新聞媒體或者是電商,或者是文學網站,它們提供給用戶的內容總是按照一定指標來做推薦的。為此誕生了很多經典的做法,但是最后的效果仍然不盡如人意,還有很大的提升空間。
最簡單的方法是單一指標推薦,也叫“熱門推薦”。比如就按點擊量或者銷量來做排序,優先推送閱讀人數最多、購買人數最多的產品。各種類型的“熱搜”“熱銷”類榜單就是如此。采用單一指標推薦最大的問題,是沒有“個性化”。沒有“個性化”會導致兩個顯著的后果——首先是體驗相對較差,用戶內心深處“想要變得不同”的需求沒有被激發出來;另外一個問題,就是馬太效應明顯,本身得到曝光的產品會持續得到曝光,而處于長尾上的商品則持續得不到曝光,等于大量質量不錯的產品或內容其實被閑置了。
圖一:傳統排行榜的邏輯
為了解決這兩個問題,出現了兩種針對性的方案,即基于用戶(user)信息和物品(item)信息分別來做推薦。
根據物品信息來做推薦,關鍵是對物品的基本屬性、類別、標簽等進行標注,通過對物品信息的深度分析,為用戶推薦和他之前瀏覽記錄相似的物品。在這個過程中,要推薦的物品的形態是清楚了,但用戶的畫像仍然是模糊的。
根據用戶信息來做推薦,關鍵是根據用戶的行為日志來刻畫他的偏好。通過對用戶喜歡點什么,來為這個用戶建立他的偏好模型,然后向他推送他偏好的那些內容。在這個過程中,用戶畫像是有些清晰了,但是用戶仍然是個體化的,不同用戶之間的相似性、用戶行為的社會性并沒有得到比較好的體現,推薦的精度也并沒有一個很好的提升。
針對這些問題,出現了“協同過濾”的算法。協同過濾算法的核心,是利用群體智慧。具體來講,分為基于物品的協同過濾和基于用戶的協同過濾。舉例來說,基于物品的協同過濾的思路,是說在一大群人中,我們發現看劉德華的人很多都會看張學友,這說明張學友和劉德華有相似度,那以后碰到點擊劉德華的人,我們可以為他推薦張學友。而基于用戶的協同過濾是說,在一大群人中,我們發現A和B兩個人都喜歡看好萊塢大片,比如他們都看了變形金剛、木乃伊、神奇女俠,這說明A和B是同好中人,后面用戶A又看了加勒比海盜,那就可以把加勒比海盜也推薦給B。
在商業實戰中,協同過濾通常會和對物品以及用戶的深度分析相結合,并進行進一步的模型融合,從而得到一個精準度更高的效果。比如基于物品的協同過濾在Amazon、Netflix等網站中成功應用,能為用戶推薦同領域的更深入的結果;而基于用戶的協同過濾則傾向于推薦范圍更寬泛而熱門的內容,在特定場景下運用,能實現跨領域、令人耳目一新的結果。
圖二:協同過濾的模型融合
除了協同過濾,隱語義模型的廣泛應用也是一個重要的技術突破。以前傳統的分析方式分為兩步,第一步是對用戶打標簽,比如“15-20歲,男性”;有了這個標簽,第二步是根據這些標簽來映射到結果。這兩步都存在一些“硬傷”。首先,根據用戶信息打出的標簽不一定準確,比如用戶填的注冊年齡,不一定是真實的年齡;其次,通過標簽來對其偏好的物品進行映射,準確度也不高。比如男性中確實很大部分喜歡體育類內容,但是所有男性都要給他們推送體育類內容嗎?這樣的推薦精準度是比較差的。隱語義模型的核心,是超越這些表層語義標簽的維度,通過機器學習技術,挖掘用戶行為中更深層的潛在關聯,從而避免人工貼標簽粗放、主觀的缺點,使得推薦精準度更高。
協同過濾和隱語義模型已經應用在越來越多的商業場景中。不過,對于一個成功的算法來說,僅僅明確其模型基礎是不夠的,還必須要具備下面所說的這些重要優點。
五大要素缺一不可
從整個行業的實踐來看,有五個要素至關重要,即自我進化、快速建模、模型融合、開放架構以及性能/效果/資源的良好平衡。具備這五個要素的算法,才能有效應對海量實時數據的吞吐,并高效持續地進行運轉。
自我進化
一個推薦系統要長期運行,首先要解決的就是自我進化的問題。用戶的興趣、物品的價值以及用戶數據的時效性都會隨著時間的推延而變化。用戶的興趣有長期和短期的興趣,曾經的短期興趣并不能對預測其未來行為提供很好的參考;物品的價值也有它的高峰期和平原期,現在賣得好的產品未必以后也賣得好,反之亦然。
圖三 模型融合
以前針對用戶興趣、物品價值的變化,通常是用人工設定規則的方法來加以應對。隨著數據量呈幾何級的增長,人工設定規則繁瑣且低效的弱點越來越明顯。人工設定100條、1000條規則可能還行,但是100萬、1000萬條規則呢?根本不可行。與之相比,通過算法設計,驅動推薦系統不斷進行自我進化,不但更可行,而且更精準高效。
快速建模
在信息的洪流裹挾下,用戶在每個平臺停留的時間是很有限的,這就要求推薦系統必須根據這很短的停留時間內用戶的行為數據,快速地捕捉其興趣,為其建立和更新興趣模型,從而迅速為其推薦個性化的內容。
對于新用戶來說,這個問題特別明顯,業界稱之為“冷啟動”問題。解決冷啟動問題,從完全空白到建立起一個可以提供有效參考的用戶模型通常需要幾天。這個漫長的周期在實際的商業化過程中是很致命的。很難想象一個用戶如果沒有在首次瀏覽時獲得滿意印象后以后仍會經常來光顧。
要解決冷啟動問題,有很多種方案,比如可以通過外部信息,如IP地址,注冊信息等來完善用戶的標簽體系。但更重要的是,我們可以選擇那些接受度比較高、同時又能代表細分領域的物品來測試用戶的興趣點。如何選擇這些物品,以確保能快速地明確用戶興趣,是問題的核心。一個能快速捕捉到用戶興趣的推薦系統,是確保用戶留存、提升用戶轉化率的重要因素。
模型融合
前面講協同過濾時我們已經提到,商用的推薦算法中都融合了多套算法,以獲得更佳的效果。在機器學習領域,每一個單一算法都是針對一類特定的問題,因而針對同一個推薦任務,不同的算法效果相差很大。但是,實踐中的推薦任務千差萬別,每個任務適應的算法往往并不相同,在這種情況下,將多個算法的預測結果進行融合,往往能取得10%以上的優化效果。
模型融合的出發點是想建立一個通用性更強的解決方案,以期用一個較一般的算法模型,來為盡可能多的任務提供支持。如何盡量兼顧“通用性”和“優化效果”,是在進行模型融合過程中需要考慮的關鍵。在實踐中,我們開發出的獨有專利的雙層疊加算法模型就是這方面的一個典型案例,現在已經成為我們向客戶提供推薦服務的技術基礎。
開放架構
從推薦算法發展的歷史來看,新的算法始終在不斷的涌現,尤其是隨著深度學習興起之后,各種新興算法更是層出不窮,包括強化學習、遷移學習等新方法、新領域都開始受到越來越多的關注。
對于一個優秀的推薦系統來說,即使現在的推薦效果已經相當好,但必須對新興算法也持有海納百川、兼容并蓄的態度,才能不斷地進一步優化提升自己。要做到這樣的理想狀態,整個系統架構的開放性是至關重要的。比如我原來是采用協同過濾來做推薦的,現在要接入深度學習的算法,怎樣才能保證我原來的系統仍然高效穩定的運行?如果是見獵心喜,跟風趕潮流地接入新算法,會有很大風險,系統的效率和穩定性可能都會打折扣。如何解決這個問題,是我們在做架構設計的時候一開始就該有所考慮的。
性能/效果/資源的平衡
和以前相比,現在的數據量的增長可以說是爆炸式的。用戶數、商品數的急劇增長,隨之而來的是為他們建立的模型的數量呈現幾何級增長——每個用戶不僅有長期興趣模型還有短期興趣模型,每個商品也要建立時效性變化的模型,而且在高并發的場景下,所有這些事情都需要在極短的時間內完成,但是運算所需的硬件資源卻是有限的,這時候就需要在資源消耗和運算效果中找到一個平衡。
比如大家都知道分布式計算是解決海量數據運算的一個解決方案,但是分布式數據很難滿足時效性方面的要求。要滿足時效性的需求,很重要的一點就是要簡化模型,去掉不必要的用戶特征,從而降低運算量,并同時緩解存儲資源緊張的問題。但是,降低了運算量之后,會不會對推薦效果產生消極影響?如何平衡好運算量和推薦效果,這也是一個大課題。
圖四:三層火箭模型
在實際中,我們的操作方式是,專門抽取出高價值的用戶和物品,讓它們享受更復雜的算法和更快的更新頻率,同時構建“三級火箭”的算法體系。“三級火箭”的核心思想是,按照離線、近線、在線這三個步驟,將一整套推薦算法拆分成三個部分。比如,對海量用戶日志進行深入挖掘完全可以獨立進行,可以離線進行操作;Cache、Model的及時更新、迅速捕捉用戶點擊反饋以及一些較輕量級的推薦算法的運行可以在近線部分進行完成;在線部分則負責及時響應請求并返回結果,保證高可靠高并發的能力。在算法設計中應用類似的思路,可以分攤運算壓力,提升運算效率。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/19613.html
摘要:微軟雅黑微軟雅黑近日,在微軟雅黑隱私計算大會上,由中國信通院牽頭,優刻得在內的多家隱私計算聯盟成員共同參與編寫的隱私計算應用研究報告可信隱私計算研究報告重磅發布。近日,在2022隱私計算大會上,由中國信通院牽頭,UCloud優刻得在內的多家隱私計算聯盟成員共同參與編寫的《隱私計算應用研究報告(2022)》、《可信隱私計算研究報告》重磅發布。近兩年來,在政策驅動和市場需求同時作用下,隱私計算技...
閱讀 2064·2023-04-25 22:58
閱讀 1408·2021-09-22 15:20
閱讀 2694·2019-08-30 15:56
閱讀 1986·2019-08-30 15:54
閱讀 2101·2019-08-29 12:31
閱讀 2728·2019-08-26 13:37
閱讀 592·2019-08-26 13:25
閱讀 2098·2019-08-26 11:58