<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          一窺推薦系統(tǒng)的原理

          共 5013字,需瀏覽 11分鐘

           ·

          2022-01-23 22:47

          一、推薦系統(tǒng)介紹

          一句話介紹推薦系統(tǒng)的作用:高效地達(dá)成用戶與意向?qū)ο蟮钠ヅ洹?/strong>

          1.1 推薦系統(tǒng)的應(yīng)用

          推薦系統(tǒng)是建立在海量數(shù)據(jù)挖掘基礎(chǔ)上,高效地為用戶提供個(gè)性化的決策支持和信息服務(wù),以提高用戶體驗(yàn)及商業(yè)效益。常見的推薦應(yīng)用場景如:

          • 資訊類:今日頭條、騰訊公眾號等新聞、廣告、文章等內(nèi)容推薦;
          • 電商類:淘寶、京東、拼多多、亞馬遜等商品推薦;
          • 娛樂類:抖音、快手、愛奇藝等視頻推薦;
          • 生活服務(wù)類:美團(tuán)、大眾點(diǎn)評、攜程等吃喝玩樂推薦;
          • 社交類:微信、陌陌等好友推薦;

          1.2 推薦系統(tǒng)的目標(biāo)

          構(gòu)建推薦系統(tǒng)前,首先要根據(jù)業(yè)務(wù)目標(biāo)確定推薦系統(tǒng)的優(yōu)化目標(biāo),對于不同的應(yīng)用場景,推薦系統(tǒng)(模型學(xué)習(xí))關(guān)注的是不同的業(yè)務(wù)指標(biāo),比如:

          • 對于電商推薦,不僅要預(yù)測用戶的點(diǎn)擊率(CTR),更重要的是預(yù)測用戶的轉(zhuǎn)化率(CVR);

          • 對于內(nèi)容推薦,業(yè)務(wù)關(guān)心的除了CTR,還有閱讀/觀看時(shí)長、點(diǎn)贊、轉(zhuǎn)發(fā)、評論等指標(biāo);

          由于不同的業(yè)務(wù)指標(biāo)可能存在一些聯(lián)系,技術(shù)實(shí)現(xiàn)上,大多數(shù)時(shí)候都會(huì)設(shè)計(jì)一個(gè)多目標(biāo)優(yōu)化的框架(如:CTR和CVR模型進(jìn)行Cotrain),共同進(jìn)行模型的訓(xùn)練與預(yù)測,各個(gè)任務(wù)之間能夠更好地共享信息。

          二、推薦系統(tǒng)的技術(shù)架構(gòu)

          2.1 推薦系統(tǒng)的層次組成

          推薦系統(tǒng)基于海量的物品數(shù)據(jù)的挖掘,通常由 召回層→排序?qū)樱ù峙拧⒕拧⒅嘏牛┙M成,不同的層次的組成,其實(shí)也就是信息篩選的漏斗,這也是工程上效率的需要,把意向?qū)ο蟮臄?shù)量從粗獷到精細(xì)化的篩選過程(這過程就像是找工作的時(shí)候,HR根據(jù)簡歷985/211粗篩出一部分,再做技能匹配及面試精準(zhǔn)篩選,最終敲定合適的人選):

          • 召回層:從物品庫中根據(jù)多個(gè)維度篩選出潛在物品候選集(多路召回),并將候選集傳遞給排序環(huán)節(jié)。在召回供給池中,整個(gè)召回環(huán)節(jié)的輸出量往往以萬為單位。召回層主要作用是在海量的候選做粗篩,由于召回位置靠前且輸入空間較大,所以時(shí)延要求較高,偏好簡單方法,簡單快速地確定候選集。常用方法有:召回策略(如推薦熱門文章、命中某類標(biāo)簽的文章等等)、雙塔模型(學(xué)習(xí)用戶及物品的embedding,內(nèi)積表示預(yù)測意向概率)、FM及CF等模型做召回、知識圖譜(知識圖譜表示學(xué)習(xí),知識推理用戶對物品的興趣程度)、用戶(多興趣)行為序列預(yù)測做召回等等。

          • 粗排層:利用規(guī)則或者簡單模型對召回的物品進(jìn)行排序,并根據(jù)配額進(jìn)行截?cái)啵厝〕?Top N 條數(shù)據(jù)輸出給精排層,配額一般分業(yè)務(wù)場景,整個(gè)粗排環(huán)節(jié)的輸出量往往以千為單位。

          • 精排層:利用大量特征的復(fù)雜模型,對物品進(jìn)行更精準(zhǔn)的排序,然后輸出給重排層,整個(gè)精排環(huán)節(jié)的輸出量往往以百為單位。粗排、精排的環(huán)節(jié)是推薦系統(tǒng)最關(guān)鍵,也是最具有技術(shù)含量的部分,使用的方法有深度學(xué)習(xí)推薦模型(Deep& Cross、NFM等)、強(qiáng)化學(xué)習(xí)等等。

          • 重排層:主要以產(chǎn)品策略為導(dǎo)向進(jìn)行重排(及融合),常見策略如去除已曝光、去重、打散、多樣性、新鮮度、效益優(yōu)先等策略,并根據(jù)點(diǎn)擊回退在列表中插入新的信息來提升體驗(yàn),最后生成用戶可見的推薦列表,整個(gè)融合和重排環(huán)節(jié)的輸出量往往以幾十為單位。

          2.2 冷啟動(dòng)方法

          對于完整的推薦系統(tǒng)結(jié)構(gòu),還需要考慮一個(gè)問題是:對于新的用戶、新的物品如何有效推薦的問題,也就是“冷啟動(dòng)”的問題,因?yàn)闆]有太多數(shù)據(jù)和特征來學(xué)習(xí)召回及排序模型,所以往往要用一些冷啟動(dòng)方法替代來達(dá)到目的(這個(gè)目的不只是提高點(diǎn)擊等消費(fèi)指標(biāo),更深層的可能會(huì)極大的帶動(dòng)業(yè)務(wù)增長)。

          冷啟動(dòng)一般分為三類,用戶冷啟動(dòng)、物品冷啟動(dòng)還有系統(tǒng)冷啟動(dòng),常用的冷啟動(dòng)方法如:

          • 提供熱門及多樣性內(nèi)容推薦。即使用統(tǒng)計(jì)的方法將最熱門的物品進(jìn)行推薦,越熱門且品類豐富的內(nèi)容被點(diǎn)擊的可能性越大;
          • 利用新用戶基本信息關(guān)聯(lián)到相關(guān)內(nèi)容(利用領(lǐng)域、職位、工作年齡、性別和所在地等信息給用戶推薦感興趣或者相關(guān)的內(nèi)容,如年齡-關(guān)聯(lián)電影表、收入-關(guān)聯(lián)商品類型表,性別-文章關(guān)聯(lián)表等等);
          • 利用新物品的內(nèi)容關(guān)聯(lián)到相似物品,并對應(yīng)相關(guān)用戶。

          三、推薦系統(tǒng)的相關(guān)技術(shù)

          縱觀推薦技術(shù)的發(fā)展史,簡單來說就是特征工程自動(dòng)化的過程,從人工設(shè)計(jì)特征+LR,到模型實(shí)現(xiàn)自動(dòng)特征交互:如基于LR的自動(dòng)特征交互組合的因式分解機(jī)FM及FFM 以及 GBDT樹特征+LR ,到自動(dòng)提取高層次特征的深度學(xué)習(xí)模型(DNN)。

          推薦系統(tǒng)整體技術(shù)棧可以分為傳統(tǒng)機(jī)器學(xué)習(xí)推薦及深度學(xué)習(xí)推薦,而不同的推薦層偏好不同(復(fù)雜度、精確度)的模型或策略(圖來源:王喆老師的專欄):

          3.1 傳統(tǒng)機(jī)器學(xué)習(xí)推薦模型

          傳統(tǒng)機(jī)器學(xué)習(xí)推薦可以簡單劃分為協(xié)同過濾算法及基于邏輯回歸的序列算法:

          3.1.1 協(xié)同過濾的相關(guān)算法

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

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

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

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

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

          通過分析用戶喜歡的物品,我們發(fā)現(xiàn)如果兩個(gè)物品被一撥人喜歡,則這兩個(gè)物品相似。此時(shí),我們就會(huì)將用戶喜歡相似物品中某個(gè)大概率物品推薦給這群用戶。基于物品的協(xié)同過濾算法的具體實(shí)現(xiàn)思路如下:

          (1)計(jì)算物品之間的相似度;(2)就可以推薦給目標(biāo)用戶沒有評價(jià)過的相似物品。

          • 矩陣分解法

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

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

          3.1.2 邏輯回歸的相關(guān)算法

          邏輯回歸(LR)由于其簡單高效、易于解釋,是工業(yè)應(yīng)用最為廣泛的模型之一,比如用于金融風(fēng)控領(lǐng)域的評分卡、互聯(lián)網(wǎng)的推薦系統(tǒng)。它是一種廣義線性的分類模型且其模型結(jié)構(gòu)可以視為單層的神經(jīng)網(wǎng)絡(luò),由一層輸入層、一層僅帶有一個(gè)sigmoid激活函數(shù)的神經(jīng)元的輸出層組成,而無隱藏層。

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

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

          • 基于特征工程的優(yōu)化

          通過人工結(jié)合業(yè)務(wù)設(shè)計(jì)特征、特征衍生工具(如FeatureTools)暴力生成特征 以及 特征離散化編碼等特征工程的方法,為LR引入非線性的表達(dá)。具體可以參見【邏輯回歸優(yōu)化】

          • 基于模型的優(yōu)化

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

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

          GBDT-LR相關(guān)代碼可以參見【邏輯回歸優(yōu)化】

          3.2 深度學(xué)習(xí)推薦模型

          深度學(xué)習(xí)能夠全自動(dòng)從原有數(shù)據(jù)中提取到高層次的特征,深度學(xué)習(xí)推薦模型的進(jìn)化趨勢簡單來說是 Wide(廣)及 ?Deep(深)。Wide部分善于處理大量稀疏的特征,便于讓模型直接“記住”大量原始的特征信息,Deep部分的主要作用有更深層的擬合能力,發(fā)現(xiàn)更高層次特征隱含的本質(zhì)規(guī)律。

          3.2.1 深度矩陣分解(雙塔結(jié)構(gòu))

          深度矩陣分解模型(Deep Matrix Factorization Model,DMF)是以傳統(tǒng)的矩陣分解(MF)模型為基礎(chǔ),再與 MLP 網(wǎng)絡(luò)組合而成的一種模型,其中 MF 主要負(fù)責(zé)線性部分,MLP 主要負(fù)責(zé)非線性部分,它主要以學(xué)習(xí)用戶和物品的高階表征向量為目標(biāo)。

          DMF 模型的框架圖如下所示:該模型的輸入層為交互矩陣 Y,其行、列分別對應(yīng)為對用戶和對物品的打分,并采用 multi-hot 形式分別表征用戶和物品。我們將用戶表征 Yi* 和物品表征 Y*j 分別送入 MLP 雙塔結(jié)構(gòu),生成用戶隱向量表征 Pi 和物品隱向量表征 qj。最后對二者使用余弦點(diǎn)積匹配分?jǐn)?shù)。

          3.2.2 Wide&Deep

          與其說廣深(Wide&Deep)模型是一種模型,倒不如說是一套通用的范式框架。Wide&Deep 模型由 LR+MLP 兩部分并聯(lián)組成,綜合了傳統(tǒng)機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的長處。

          • Wide 部分根據(jù)歷史行為數(shù)據(jù)推薦與用戶已有行為直接相關(guān)的物品;

          • Deep 部分負(fù)責(zé)捕捉新的特征組合,從而提高推薦的多樣性。

          3.2.3 深度因子分解機(jī)(DeepFM)模型

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

          3.2.4 Deep&Cross

          深度和交叉網(wǎng)絡(luò)(Deep & Cross Network,DCN)模型是從廣深(Wide&Deep)框架中演化出來的一個(gè)模型。DCN 模型將 Wide 部分替換為由特殊網(wǎng)絡(luò)結(jié)構(gòu)實(shí)現(xiàn)的特征交叉網(wǎng)絡(luò),它的框架如下圖所示:左側(cè)的交叉層除了接收前一層的輸出外,還會(huì)同步接收原始輸入層的特征,從而實(shí)現(xiàn)特征信息的高階交叉。

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

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

          3.2.6 神經(jīng)因子分解機(jī)(NFM)

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

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


          小結(jié):本文介紹了推薦系統(tǒng)的作用及組成,并對核心技術(shù)及發(fā)展做了解析。但更為關(guān)鍵的,推薦系統(tǒng)是工程上的應(yīng)用,我們下一篇文章會(huì)結(jié)合實(shí)際營銷推薦場景做推薦項(xiàng)目實(shí)戰(zhàn)(Pyhton),敬請期待。

          參考文獻(xiàn):

          https://zhuanlan.zhihu.com/p/100019681?

          https://zhuanlan.zhihu.com/p/63186101?

          https://zhuanlan.zhihu.com/p/61154299

          1. 準(zhǔn)備寫本書
          2. 屬實(shí)逼真,決策樹可視化!
          3. 21個(gè)深度學(xué)習(xí)開源數(shù)據(jù)集匯總!
          4. 耗時(shí)一個(gè)月,做了一個(gè)純粹的機(jī)器學(xué)習(xí)網(wǎng)站
          5. 用 Python 從 0 實(shí)現(xiàn)一個(gè)神經(jīng)網(wǎng)絡(luò)
          6. 40篇AI論文!附PDF下載,代碼、視頻講解


          三連在看,月入百萬??

          瀏覽 41
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产亚洲精品久久久久丝瓜 | 91AV一区二区三区 | 双飞少妇| 91偷拍视频网 | 盛世大厦洗手间王经理视频 |