tft每日頭條

 > 科技

 > 解讀推薦系統

解讀推薦系統

科技 更新时间:2024-11-13 09:13:43
一、推薦系統介紹

一句話介紹推薦系統的作用:高效地達成用戶與意向對象的匹配。

解讀推薦系統(一文看懂推薦系統的原理)1

1.1 推薦系統的應用

推薦系統是建立在海量數據挖掘基礎上,高效地為用戶提供個性化的決策支持和信息服務,以提高用戶體驗及商業效益。常見的推薦應用場景如:

  • 資訊類:今日頭條、騰訊公衆号等新聞、廣告、文章等内容推薦;
  • 電商類:淘寶、京東、拼多多、亞馬遜等商品推薦;
  • 娛樂類:抖音、快手、愛奇藝等視頻推薦;
  • 生活服務類:美團、大衆點評、攜程等吃喝玩樂推薦;
  • 社交類:微信、陌陌等好友推薦;
1.2 推薦系統的目标

構建推薦系統前,首先要根據業務目标确定推薦系統的優化目标,對于不同的應用場景,推薦系統(模型學習)關注的是不同的業務指标,比如:

  • 對于電商推薦,不僅要預測用戶的點擊率(CTR),更重要的是預測用戶的轉化率(CVR);
  • 對于内容推薦,業務關心的除了CTR,還有閱讀/觀看時長、點贊、轉發、評論等指标;

由于不同的業務指标可能存在一些聯系,技術實現上,大多數時候都會設計一個多目标優化的框架(如:CTR和CVR模型進行Cotrain),共同進行模型的訓練與預測,各個任務之間能夠更好地共享信息。

二、推薦系統的技術架構2.1 推薦系統的層次組成

推薦系統基于海量的物品數據的挖掘,通常由 召回層→排序層(粗排、精排、重排)組成,不同的層次的組成,其實也就是信息篩選的漏鬥,這也是工程上效率的需要,把意向對象的數量從粗犷到精細化的篩選過程(這過程就像是找工作的時候,HR根據簡曆985/211粗篩出一部分,再做技能匹配及面試精準篩選,最終敲定合适的人選):

解讀推薦系統(一文看懂推薦系統的原理)2

  • 召回層:從物品庫中根據多個維度篩選出潛在物品候選集(多路召回),并将候選集傳遞給排序環節。在召回供給池中,整個召回環節的輸出量往往以萬為單位。召回層主要作用是在海量的候選做粗篩,由于召回位置靠前且輸入空間較大,所以時延要求較高,偏好簡單方法,簡單快速地确定候選集。常用方法有:召回策略(如推薦熱門文章、命中某類标簽的文章等等)、雙塔模型(學習用戶及物品的embedding,内積表示預測意向概率)、FM及CF等模型做召回、知識圖譜(知識圖譜表示學習,知識推理用戶對物品的興趣程度)、用戶(多興趣)行為序列預測做召回等等。
  • 粗排層:利用規則或者簡單模型對召回的物品進行排序,并根據配額進行截斷,截取出 Top N 條數據輸出給精排層,配額一般分業務場景,整個粗排環節的輸出量往往以千為單位。
  • 精排層:利用大量特征的複雜模型,對物品進行更精準的排序,然後輸出給重排層,整個精排環節的輸出量往往以百為單位。粗排、精排的環節是推薦系統最關鍵,也是最具有技術含量的部分,使用的方法有深度學習推薦模型(Deep& Cross、NFM等)、強化學習等等。
  • 重排層:主要以産品策略為導向進行重排(及融合),常見策略如去除已曝光、去重、打散、多樣性、新鮮度、效益優先等策略,并根據點擊回退在列表中插入新的信息來提升體驗,最後生成用戶可見的推薦列表,整個融合和重排環節的輸出量往往以幾十為單位。
2.2 冷啟動方法

對于完整的推薦系統結構,還需要考慮一個問題是:對于新的用戶、新的物品如何有效推薦的問題,也就是“冷啟動”的問題,因為沒有太多數據和特征來學習召回及排序模型,所以往往要用一些冷啟動方法替代來達到目的(這個目的不隻是提高點擊等消費指标,更深層的可能會極大的帶動業務增長)。

冷啟動一般分為三類,用戶冷啟動、物品冷啟動還有系統冷啟動,常用的冷啟動方法如:

  • 提供熱門及多樣性内容推薦。即使用統計的方法将最熱門的物品進行推薦,越熱門且品類豐富的内容被點擊的可能性越大;
  • 利用新用戶基本信息關聯到相關内容(利用領域、職位、工作年齡、性别和所在地等信息給用戶推薦感興趣或者相關的内容,如年齡-關聯電影表、收入-關聯商品類型表,性别-文章關聯表等等);
  • 利用新物品的内容關聯到相似物品,并對應相關用戶。
三、推薦系統的相關技術

縱觀推薦技術的發展史,簡單來說就是特征工程自動化的過程,從人工設計特征 LR,到模型實現自動特征交互:如基于LR的自動特征交互組合的因式分解機FM及FFM 以及 GBDT樹特征 LR ,到自動提取高層次特征的深度學習模型(DNN)。

解讀推薦系統(一文看懂推薦系統的原理)3

推薦系統整體技術棧可以分為傳統機器學習推薦及深度學習推薦,而不同的推薦層偏好不同(複雜度、精确度)的模型或策略(圖來源:王喆老師的專欄):

解讀推薦系統(一文看懂推薦系統的原理)4

3.1 傳統機器學習推薦模型

傳統機器學習推薦可以簡單劃分為協同過濾算法及基于邏輯回歸的序列算法:

解讀推薦系統(一文看懂推薦系統的原理)5

3.1.1 協同過濾的相關算法

協同過濾算法可以簡單劃分為基于用戶/物品的方法:

  • 基于用戶的協同過濾算法(UserCF)

通過分析用戶喜歡的物品,我們發現如果兩個用戶(用戶A 和用戶 B)喜歡過的物品差不多,則這兩個用戶相似。此時,我們可以将用戶 A 喜歡過但是用戶 B 沒有看過的物品推薦給用戶 B。基于用戶的協同過濾算法(UserCF)的具體實現思路如下:

(1)計算用戶之間的相似度;(2)根據用戶的相似度,找到這個集合中用戶未見過但是喜歡的物品(即目标用戶興趣相似的用戶有過的行為)進行推薦。

解讀推薦系統(一文看懂推薦系統的原理)6

  • 基于物品的協同過濾算法(ItemCF)

通過分析用戶喜歡的物品,我們發現如果兩個物品被一撥人喜歡,則這兩個物品相似。此時,我們就會将用戶喜歡相似物品中某個大概率物品推薦給這群用戶。基于物品的協同過濾算法的具體實現思路如下:

(1)計算物品之間的相似度;(2)就可以推薦給目标用戶沒有評價過的相似物品。

解讀推薦系統(一文看懂推薦系統的原理)7

  • 矩陣分解法

對于協同過濾算法,它本質上是一個矩陣填充問題,可以直接通過相似度計算(如基于用戶的相似、基于物品的相似等)去解決。但有一問題是現實中的共現矩陣中有絕大部分的評分是空白的,由于數據稀疏,因此在計算相似度的時候效果就會大打折扣。這裡我們可以借助矩陣分解方法,找到用戶和物品的表征向量(K個維度,超參數),通過對用戶向量和物品向量的内積則是用戶對物品的偏好度(預測評分)。

解讀推薦系統(一文看懂推薦系統的原理)8

由于矩陣分解引入了隐因子的概念,模型解釋性很弱。另外的,它隻簡單利用了用戶對物品的打分(特征維度單一),很難融入更多的特征(比如用戶信息及其他行為的特征,商品屬性的特征等等)。而這些缺陷,下文介紹的邏輯回歸的相關算法可以很好地彌補。

3.1.2 邏輯回歸的相關算法

邏輯回歸(LR)由于其簡單高效、易于解釋,是工業應用最為廣泛的模型之一,比如用于金融風控領域的評分卡、互聯網的推薦系統。它是一種廣義線性的分類模型且其模型結構可以視為單層的神經網絡,由一層輸入層、一層僅帶有一個sigmoid激活函數的神經元的輸出層組成,而無隐藏層。

LR模型計算可以簡化成兩步,“通過模型權重[w]對輸入特征[x]線性求和 ,然後sigmoid激活輸出概率”。其中,sigmoid函數是一個s形的曲線,它的輸出值在[0, 1]之間,在遠離0的地方函數的值會很快接近0或1。

解讀推薦系統(一文看懂推薦系統的原理)9

由于LR是線性模型,特征表達(特征交互)能力是不足的,為提高模型的能力,常用的有特征工程的方法或者基于模型的方法。

  • 基于特征工程的優化

通過人工結合業務設計特征、特征衍生工具(如FeatureTools)暴力生成特征 以及 特征離散化編碼等特征工程的方法,為LR引入非線性的表達。

解讀推薦系統(一文看懂推薦系統的原理)10

  • 基于模型的優化

另外還可以基于模型的方法提升特征交互的能力。如POLY2、引入隐向量的因子分解機(FM)可以看做是LR的基礎上,對所有特征進行了兩兩交叉,生成非線性的特征組合。

解讀推薦系統(一文看懂推薦系統的原理)11

但FM等方法隻能夠做二階的特征交叉,更高階的,可以利用GBDT自動進行篩選特征并生成特征組合,也就是提取GBDT子樹的特征劃分及組合路徑作為新的特征,再把該特征向量當作LR模型輸入,也就是經典的GBDT LR方法。(需要注意的,GBDT子樹深度太深的化,特征組合層次比較高,極大提高LR模型拟合能力的同時,也容易引入一些噪聲,導緻模型過拟合)

解讀推薦系統(一文看懂推薦系統的原理)12

3.2 深度學習推薦模型

解讀推薦系統(一文看懂推薦系統的原理)13

深度學習能夠全自動從原有數據中提取到高層次的特征,深度學習推薦模型的進化趨勢簡單來說是 Wide(廣)及 Deep(深)。Wide部分善于處理大量稀疏的特征,便于讓模型直接“記住”大量原始的特征信息,Deep部分的主要作用有更深層的拟合能力,發現更高層次特征隐含的本質規律。

3.2.1 深度矩陣分解(雙塔結構)

深度矩陣分解模型(Deep Matrix Factorization Model,DMF)是以傳統的矩陣分解(MF)模型為基礎,再與 MLP 網絡組合而成的一種模型,其中 MF 主要負責線性部分,MLP 主要負責非線性部分,它主要以學習用戶和物品的高階表征向量為目标。

DMF 模型的框架圖如下所示:該模型的輸入層為交互矩陣 Y,其行、列分别對應為對用戶和對物品的打分,并采用 multi-hot 形式分别表征用戶和物品。

解讀推薦系統(一文看懂推薦系統的原理)14

我們将用戶表征 Yi* 和物品表征 Y*j 分别送入 MLP 雙塔結構,生成用戶隐向量表征 Pi 和物品隐向量表征 qj。最後對二者使用餘弦點積匹配分數。

3.2.2 Wide&Deep

與其說廣深(Wide&Deep)模型是一種模型,倒不如說是一套通用的範式框架。Wide&Deep 模型由 LR MLP 兩部分并聯組成,綜合了傳統機器學習和深度學習的長處。

  • Wide 部分根據曆史行為數據推薦與用戶已有行為直接相關的物品;
  • Deep 部分負責捕捉新的特征組合,從而提高推薦的多樣性。
3.2.3 深度因子分解機(DeepFM)模型

深度因子分解機(Deep Factorization Machine,DeepFM)模型是從廣深(Wide&Deep)框架中演化出來的一種模型。它使用 FM 模型替換掉了 LR 部分,從而形成了 FM&Deep 結構。

解讀推薦系統(一文看懂推薦系統的原理)15

3.2.4 Deep&Cross

深度和交叉網絡(Deep & Cross Network,DCN)模型是從廣深(Wide&Deep)框架中演化出來的一個模型。DCN 模型将 Wide 部分替換為由特殊網絡結構實現的特征交叉網絡,它的框架如下圖所示:左側的交叉層除了接收前一層的輸出外,還會同步接收原始輸入層的特征,從而實現特征信息的高階交叉。

解讀推薦系統(一文看懂推薦系統的原理)16

3.2.5 注意力因子分解機(AFM)

注意力因子分解機(Attentional Factorization Machine,AFM)模型也是Wide&Deep 框架中的一種,它通過添加 Attention 網絡,自動學習不同特征之間交互的重要性。

解讀推薦系統(一文看懂推薦系統的原理)17

3.2.6 神經因子分解機(NFM)

神經因子分解機(Neural Factorization Machine)模型也是 Wide&Deep 框架中的一種。NFM 模型把 Wide 部分放到一邊不做變化,Deep 部分在 FM 的基礎上結合了 MLP 部分。其中,FM 部分能夠提取二階線性特征,MLP 部分能夠提取高階非線性特征,從而使模型具備捕捉高階非線性特征的能力。

NFM 模型框架的 Deep 部分如下圖所示,NFM 模型是在 Embedding 層後将 FM 的輸出進行 Bi-Interaction Pooling 操作(将表征向量的兩兩元素相乘後,再将所有組合的結果進行求和),然後在後面接上 MLP。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved