歡迎光臨
每天分享高質量文章

超級乾貨 :一文讀懂LinkedIn個性化推薦模型及建模原理

原文標題:HowLinkedIn Makes Personalized Recommendations via Photon-ML Machine Learning tool

作者:Yiming Ma, Deepak Agarwal ;翻譯:張媛 ;校對:丁楠雅

本文長度為2500字,建議閱讀8分鐘

本文將重點關註個性化推薦模型,並解釋建模原理以及如何透過Photon-ML來實現,使其能夠惠及數億使用者


簡介


推薦系統是一種自動化的計算機應用程式,它可以根據不同的內容對使用者進行匹配。這種系統的應用很普遍,並且已經成為我們日常生活中不可缺少的一部分。常見的例子像亞馬遜給使用者推薦產品,雅虎給訪問網站的使用者推薦內容,Netflix給使用者推薦電影,LinkedIn給使用者推薦工作等等。考慮到使用者偏好存在明顯的差異性,提供個性化推薦就成為這種系統成功的關鍵。


為了實現這個標的,透過機器學習模型從收集的反饋資訊中估計使用者偏好至關重要。這些模型是基於使用者歷史互動資訊中獲取的大量高頻資料而構建的。本質上它們都是統計模型,需要剋服序列決策過程、高維資料的互動建模,開發可伸縮的統計方法等諸多困難。在這個領域,新方法論的誕生需要各方面的緊密合作,包括電腦科學家、機器學習專家、統計學家、最佳化專家、系統專家、以及領域專家。這是大資料行業最令人興奮的應用之一。


LinkedIn的許多產品都應用了推薦系統,這些系統的核心元件是一個靈活的機器學習庫,叫Photon-ML,這是提升我們的生產力、敏捷性以及開發人員幸福感的關鍵。目前我們已經開源了Photon-ML使用的大部分演演算法。 在本文中,我們將重點關註個性化推薦模型,並解釋建模原理以及如何透過Photon–ML來實現,使其惠及數億使用者。

 

Photon-ML的個性化模型構建


LinkedIn透過應用Photon-ML,顯著提升了許多產品的使用者參與度和業務指標。下麵舉例說明如何使用廣義可加混合效應模型(GAME)進行個性化的工作推薦。在我們的線上對照實驗中,該模型為求職者提供了比平時高出20%~40%的工作申請機會。


作為全球最大的職業社交網路,LinkedIn為其5億多的使用者提供了一個獨特的價值定位,為他們的職業發展提供了各種各樣的機會。我們提供的最重要的產品之一是“求職主頁”,它是那些想要申請一份好工作的使用者的服務中心。

圖1 LinkedIn求職主頁的快照


圖1頁面的一個主要功能模組是“您可能感興趣的工作”,這個頁面會根據使用者的公開資料和歷史活動記錄向他們推薦相關的工作簡介。如果使用者對推薦的工作感興趣,他/她可以點選進入工作詳情頁面,進一步瞭解這個工作的職位、描述、職責、要求的技能和任職資格。工作詳情頁面也會提供“申請”按鈕,可以讓使用者透過LinkedIn或者公司的招聘網站一鍵申請到這個工作。LinkedIn業務成功的關鍵指標之一就是工作申請的點選總量(即“申請”按鈕的點選次數)。


我們模型的標的是準確預測一個使用者申請系統推薦工作的機率。直觀地來說,該模型由三個元件/子模型組成:


  • 一個全域性模型,用來捕獲使用者申請工作的常規行為;

  • 一個特定使用者模型,其引數(從資料中學習獲得)針對特定使用者,以捕獲其偏離常規行為的個人行為;

  • 一個特定職業模型,其引數(從資料中學習獲得)針對特定職業,以捕獲其偏離常規工作的獨特行為。

 

與很多推薦系統應用程式一樣,我們在大量的使用者或者職業資料中觀察到許多差異性。在求職網站上既有新使用者加入(因此幾乎沒有相關資料),也有那些擁有很強求職意向併在過去多次申請工作的使用者。同樣的,對比不同型別的工作,既有受歡迎的,也有比較冷門的。對於擁有很多工作申請資料的使用者,我們希望應用特定使用者模型來計算,另一方面,如果使用者沒有很多歷史資料,我們會選擇全域性模型來捕獲使用者常規行為。


接下來讓我們深入研究一下這個廣義可加混合效應模型(GAME)是如何基於上述情況實現個性化推薦的。


首先,用 ymjt 表示使用者m在背景關係t的條件下是否申請工作j的二進位制結果,其中背景關係內容通常包括工作時間和位置。我們用qm表示使用者m的特徵向量,其中包括從使用者公開的資料中得到的特徵資訊,例如使用者的工作崗位、工作職能、教育背景、所屬行業等。我們用sj表示工作j的特徵向量,其中包括工作的特徵資訊,例如職位名稱、所需技能和工作經驗等。


然後用xmjt表示三維變數(m, j, t)的整體特徵向量,包括qm和sj特徵的主要影響,qm和sj的外積用來表示使用者、工作特徵以及背景關係的特徵。其中xmjt不包含使用者ID和專案ID,這些ID將會受到與常規特性不同的處理方法。利用邏輯回歸法預測使用者m申請工作j的可能性的GAME模型如下:



其中



是關聯函式,b是全域性繫數向量(在統計學文獻中也叫固定效應繫數),αm和βj是特定於使用者m和工作j的繫數向量,也叫隨機效應繫數,用來表示使用者m在不同專案上的偏好和工作j對不同使用者的吸引力。對於一個在過去申請很多職位的使用者,我們能夠準確地估計他/她的個人繫數向量αm並提供個性化的預測。另一方面,如果使用者m過去沒有申請記錄,αm的後驗平均值將會接近0,針對使用者m的模型將會退回到全域性固定效應x’mjtb,同樣的道理也適用於工作繫數向量βj。


Photon-ML:構建個性化推薦模型的可伸縮平臺


為了在 Hadoop叢集上使用大量資料對模型進行訓練,我們在Apache Spark上層開發了Photon-ML。設計可伸縮演演算法的一個主要挑戰是要從資料中學習海量的模型引數(例如數百億),如果我們簡單地利用標準機器學習方法來訓練模型(比如 Spark 提供的 MLlib),那麼更新大量引數帶來的網路通訊成本太高,在實際計算中不可行。其中大量引數主要來自於特定使用者模型和特定職業模型,因此,使演演算法具有可伸縮性的關鍵是避免在上述模型中向叢集傳送或廣播大量引數。


我們使用並行塊坐標下降法(PBCD)來解決大規模的模型訓練問題,在這個方法中,透過迭代法訓練全域性模型、特定使用者模型以及特定職位模型最終達到收斂的狀態。其中使用標準分散式梯度下降法對全域性模型進行訓練,對於特定使用者模型和特定職業模型,我們設計了一個模型引數更新方案,這樣上述模型中的引數不需要透過集群裡的機器進行通訊。但是,每個訓練示例的部分評分是透過機器之間的通訊完成的,這樣大大降低了通訊成本。同時PBCD也可以很容易地應用到擁有不同型別子模型的模型中。


結論和展望未來


在本文中,我們簡要介紹了怎樣使用 Photon-ML來實現個性化推薦,由於篇幅限制,很多有趣的最佳化和實施細節都被省略了,在此強烈推薦讀者去檢視Photon-ML開源原始碼。在LinkedIn, 我們致力於構建最先進的推薦系統,並且也為 Photon-ML制訂了令人興奮的計劃,在不久的將來,我們計劃在 Photon-ML中增加更多的建模功能,包括樹狀模型和不同的深度學習演演算法來構建非線性和更深層次的表示結構。

 

原文地址:

https://www.kdnuggets.com/2017/10/linkedin-personalized-recommendations-photon-ml.html

作者:張媛,某雲端計算公司不務正業服務工程師一枚。喜歡下雨天,讀閑書,缺乏技術細胞,欣賞並喜歡有態度有立場的人,愛浪漫,註重儀式感,喜歡記錄。最近的願望是擁有自己的小窩,給想念的人寫一封信。

本文轉自:資料派THU 公眾號;

END


推薦:

優秀人才不缺工作機會,只缺適合自己的好機會。但是他們往往沒有精力從海量機會中找到最適合的那個。100offer 會對平臺上的人才和企業進行嚴格篩選,讓「最好的人才」和「最好的公司」相遇。

掃描下方二維碼或點選“ 閱讀原文 ,註冊 100offer,談談你對下一份工作的期待。一週內,收到 5-10 個滿足你要求的好機會!

關聯閱讀

原創系列文章:

1:從0開始搭建自己的資料運營指標體系(概括篇)

2 :從0開始搭建自己的資料運營指標體系(定位篇)

3 :從0開始搭建自己的資料運營體系(業務理解篇)

4 :資料指標的構建流程與邏輯

5 :系列 :從資料指標到資料運營指標體系

6:   實戰 :為自己的公號搭建一個資料運營指標體系

7:  從0開始搭建自己的資料運營指標體系(運營活動分析)

資料運營 關聯文章閱讀:  

運營入門,從0到1搭建資料分析知識體系    

推薦 :資料分析師與運營協作的9個好習慣

乾貨 :手把手教你搭建資料化使用者運營體系

推薦 :最用心的運營資料指標解讀

乾貨 : 如何構建資料運營指標體系

從零開始,構建資料化運營體系

乾貨 :解讀產品、運營和資料三個基友關係

乾貨 :從0到1搭建資料運營體系

資料分析、資料產品 關聯文章閱讀:

乾貨 :資料分析團隊的搭建和思考

關於使用者畫像那些事,看這一文章就夠了

資料分析師必需具備的10種分析思維。

如何構建大資料層級體系,看這一文章就夠了

乾貨 : 聚焦於使用者行為分析的資料產品

如何構建大資料層級體系,看這一文章就夠了

80%的運營註定了打雜?因為你沒有搭建出一套有效的使用者運營體系

從底層到應用,那些資料人的必備技能

讀懂使用者運營體系:使用者分層和分群

做運營必須掌握的資料分析思維,你還敢說不會做資料分析

贊(0)

分享創造快樂