<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>

          一文搞懂工程化協(xié)同推薦算法(一)

          共 2475字,需瀏覽 5分鐘

           ·

          2020-03-17 23:28

          4b8aa392c3cd847be1d02dbb12052715.webp


          ? ? ?作者:livan


          ? ? ?來源:數(shù)據(jù)EDTA

          前言


          23fd620532d49057ccd058f3d82bbfde.webp


          推薦系統(tǒng)的重要性已經(jīng)不需要過多的強(qiáng)調(diào)了,隨處一搜索就能看到各領(lǐng)域的大佬告訴你推薦系統(tǒng)的構(gòu)建方法,面試的時(shí)候不講幾個(gè)協(xié)同都不好意思說自己懂算法,各個(gè)資料都會(huì)對(duì)協(xié)同的每一個(gè)細(xì)節(jié)詳細(xì)描述,但是,不知大家看完之后有沒有一個(gè)感觸:各個(gè)知識(shí)點(diǎn)都了解了,就是串不起了,而且也多少會(huì)有些疑惑,就這么簡(jiǎn)單?被全宇宙的人推崇的推薦算法就是簡(jiǎn)單的幾個(gè)表的來回計(jì)算嗎?那平時(shí)我們應(yīng)用的機(jī)器學(xué)習(xí)的各種算法都去哪里了?




          23fd620532d49057ccd058f3d82bbfde.webp


          e17530132a9df3b088b09ed7d1aaf67a.webp

          1、協(xié)同推薦算法數(shù)理表達(dá)


          23fd620532d49057ccd058f3d82bbfde.webp


          市面上能接觸到的推薦內(nèi)容主要有兩類:一類是協(xié)同,多個(gè)表之間的計(jì)算推導(dǎo),有一些機(jī)器學(xué)習(xí)的影子,但是明顯感覺到機(jī)器學(xué)習(xí)算法是對(duì)協(xié)同的一次次補(bǔ)充,不是推薦的主流算法,再深究一下,很多人就開始大肆宣傳深度學(xué)習(xí)的神奇之處,用深度學(xué)習(xí)進(jìn)行推薦推演是多么的精準(zhǔn)高效。一時(shí)間搞的筆者一頭霧水。筆者也就這個(gè)問題咨詢過一些老牌的推薦大佬,得到了各種各樣的答案。深思良久,筆者將自己對(duì)推薦算法的一些理解整理出來,有不足之處歡迎大家批評(píng)指正。


          23fd620532d49057ccd058f3d82bbfde.webp


          23fd620532d49057ccd058f3d82bbfde.webp


          1) 推薦算法本質(zhì)上不是一個(gè)技術(shù)問題,而是一個(gè)用技術(shù)解決問題的解決方案。
          推薦的產(chǎn)生是由于產(chǎn)品越來越多,而由于精力、手機(jī)屏幕大小的限制,客戶能看到的范圍有限,長(zhǎng)尾現(xiàn)象越來越嚴(yán)重,為了方便客戶獲取到想要的產(chǎn)品,各個(gè)公司開始考慮根據(jù)用戶的喜好推薦客戶有傾向的產(chǎn)品,盡量減少馬太效應(yīng),推薦系統(tǒng)應(yīng)運(yùn)而生。
          2) 推薦算法不是一個(gè)算法,而是一套算法集合,其算法范圍無所不包容。
          推薦算法是由一系列算法組合而成,每個(gè)算法應(yīng)用場(chǎng)景不一樣,各個(gè)公司根據(jù)各自的客戶特征和商品屬性,挑選適合本公司使用的推薦邏輯,使用的算法也不完全一樣。協(xié)同推薦算法是比較早被研發(fā)出來的推薦邏輯,因?yàn)槠溥壿嬢^為清晰、可解釋性比較強(qiáng)、數(shù)據(jù)兼容性、可執(zhí)行性和工程化比較好,所以一直被各個(gè)公司應(yīng)用,后期推出的基于模型的推薦、基于深度學(xué)習(xí)的推薦也都能看到協(xié)同推薦的影子,可以說協(xié)同推薦是現(xiàn)在各個(gè)公司推薦系統(tǒng)的基礎(chǔ)邏輯。





          23fd620532d49057ccd058f3d82bbfde.webp


          23fd620532d49057ccd058f3d82bbfde.webp


          ????本文從推薦基礎(chǔ)的角度,將各個(gè)協(xié)同推薦的邏輯串聯(lián)在一起,希望能將協(xié)同推薦的基本結(jié)構(gòu)描述清楚,如有不足之處請(qǐng)指正:
          協(xié)同推薦的基本內(nèi)容主要有三部分:

          1) 基于用戶相似的推薦:
          ????主要是找尋興趣喜好相似的用戶,然后根據(jù)用戶購買的商品將商品推薦給相似的用戶。


          1582e116772d9992131d3670e5621e3c.webp


          ??? u, v用戶是相似用戶,v用戶購買了商品i,則為u用戶推薦i商品。????用戶相似度(以余弦定理計(jì)算):

          b37682ad71dd676fd271efbd7907941c.webp

          ????

          ????其中,用戶u和用戶v,令N(u)表示用戶u曾經(jīng)有過正面反饋的物品集合。????用戶對(duì)物品的感興趣程度:


          c3a42a8a3a16f2e3b0d496469613470d.webp


          ????其中,S(u,K)包含和用戶u興趣相近的K個(gè)用戶,N(i)是對(duì)物品i有過行為的用戶集合。Wuv是用戶u和用戶v的相似度,rvi代表用戶v對(duì)物品i的興趣,以評(píng)分表中的評(píng)分表示。



          23fd620532d49057ccd058f3d82bbfde.webp


          23fd620532d49057ccd058f3d82bbfde.webp


          2 ) 基于物品相似的推薦:
          主要是找尋相似的商品,然后根據(jù)用戶購買的商品清單將相似商品推薦給用戶。

          cd9b273d77dd9c20d4d9118f254dd3d2.webp


          物品i和物品j是相似產(chǎn)品,用戶u喜歡物品j,故向用戶u推薦物品i。物品相似度為:

          69abbd24b27e7485d4854f74cb0ec5ee.webp


          其中,N(i)是喜歡物品i的用戶數(shù)。75a4aa5abf2418b4bd7f4f2f3ff60a38.webp是同時(shí)喜歡物品i和j的用戶數(shù)。用戶對(duì)物品的喜好程度為:


          88b0aed1dcfdb04e8258770249db11f4.webp


          其中,N(u)是用戶u喜歡的物品集合,S(j,K)是和物品j最相似的K個(gè)物品集合,Wij是物品i和j的相似度,rui是用戶u對(duì)物品i的興趣,以評(píng)分表中的評(píng)分表示。





          23fd620532d49057ccd058f3d82bbfde.webp


          23fd620532d49057ccd058f3d82bbfde.webp


          3) 基于標(biāo)簽的推薦:


          本文沒有專門描述基于內(nèi)容的推薦算法,而是將其融入到基于標(biāo)簽的推薦算法中,主要是因?yàn)榛趦?nèi)容的推薦是在用戶和物品之間找尋中間因子,而基于標(biāo)簽的推薦是在物品和用戶之間找尋相關(guān)標(biāo)簽(如果我理解的不正確,請(qǐng)指正~),筆者認(rèn)為這兩個(gè)算法的原理相同,因此只介紹標(biāo)簽的推薦算法。
          標(biāo)簽系統(tǒng)的主要原理是通過一定的方式標(biāo)記出用戶和商品的標(biāo)簽,進(jìn)而通過標(biāo)簽關(guān)聯(lián)用戶和商品。


          f682e1d3d01c6b793ff3566b280250ea.webp


          商品的標(biāo)簽添加方式有很多種,很多公司會(huì)選擇人工的方式,為每一個(gè)商品添加對(duì)應(yīng)的標(biāo)簽,然后計(jì)算每個(gè)用戶對(duì)各個(gè)標(biāo)簽的喜好程度。
          用戶對(duì)標(biāo)簽的喜好程度為Pre(u,t)


          9ae20d4d0fb96333088f277c81bcce26.webp


          其中:


          e682151808a867411fe14adfbeaa6c42.webp


          TF-IDF(u,t)是指用戶u對(duì)標(biāo)簽t的依賴度,TF(u,t)是指用戶u使用標(biāo)簽t標(biāo)記的概率,IDF(u,t)表示標(biāo)簽t的熱門程度,即一個(gè)標(biāo)簽被不同的用戶使用的概率,n(u,ti)表示用戶u使用標(biāo)簽ti標(biāo)記的次數(shù),d99f9b6871778bff7c6c39115f5fdd29.webp表示用戶u使用所有標(biāo)簽標(biāo)記的次數(shù)和,d880b5becee302c9f1358466295b1ef4.webp表示所有用戶對(duì)所有標(biāo)簽的標(biāo)記計(jì)數(shù)和,487c23a568a289237102426a2904722c.webp表示所有用戶對(duì)標(biāo)簽t的標(biāo)記計(jì)數(shù)和。


          773d53db9d5d19ffd7c9f73596abb877.webp


          其中,rate(u,t)表示用戶u對(duì)t的喜好程度,rate(u,i)表示用戶u對(duì)物品i的喜好程度,rel(i,t)表示物品i與標(biāo)簽t的相關(guān)度,k為平滑因子,ca45fe2971aff141f020e2fe8bb27c88.webp為用戶u的所有評(píng)分的平均值。


          23fd620532d49057ccd058f3d82bbfde.webp


          23fd620532d49057ccd058f3d82bbfde.webp




          4) 基于上下文的推薦:


          基于上下文的推薦是在上面三種協(xié)同推薦的基礎(chǔ)上添加上下文的因素,常見的上下文場(chǎng)景即為:“熱門懲罰”、“時(shí)間衰退”。
          常規(guī)的基于用戶協(xié)同的推薦為:


          c3a42a8a3a16f2e3b0d496469613470d.webp


          在此基礎(chǔ)上修改計(jì)算方法為:


          1e8d3feb32207dbcc5f342efb37d01a1.webp


          其中,fce2f80d04a9292cc63b4da8c377adfc.webp為計(jì)算用戶相似度時(shí)的時(shí)間衰減函數(shù),N(i)為對(duì)物品i產(chǎn)生過行為的用戶個(gè)數(shù),a為時(shí)間衰減因子,a685b222402b878a94f3760d6759dbce.webp為熱門懲罰函數(shù)。


          d3e9bab659e35b57ab8a24aaed48237d.webp

          ???

          ?????其中,fe80a44bbd0cd87ace98738771c6bac7.webp為用戶對(duì)物品評(píng)分時(shí)的時(shí)間衰減函數(shù)。


          由此可以得出新的推薦計(jì)算方式。





          23fd620532d49057ccd058f3d82bbfde.webp


          23fd620532d49057ccd058f3d82bbfde.webp


          通過上面的描述,大家是不是對(duì)推薦算法有一個(gè)數(shù)理方面的了解呢?不知道有多少大佬看到這里,接下來我們用庫表的語言再進(jìn)行一次匯總描述,畢竟,我們的所有計(jì)算最終都是要落到數(shù)據(jù)倉庫中的,表的形式表達(dá)是IT人員的必經(jīng)之路。


          23fd620532d49057ccd058f3d82bbfde.webp


          abb68dc7cbc129bd9a5cb5da24cbd90c.webp

          ◆?◆?◆ ?◆?




          長(zhǎng)按二維碼關(guān)注我們



          數(shù)據(jù)森麟公眾號(hào)的交流群已經(jīng)建立,許多小伙伴已經(jīng)加入其中,感謝大家的支持。大家可以在群里交流關(guān)于數(shù)據(jù)分析&數(shù)據(jù)挖掘的相關(guān)內(nèi)容,還沒有加入的小伙伴可以掃描下方管理員二維碼,進(jìn)群前一定要關(guān)注公眾號(hào)奧,關(guān)注后讓管理員幫忙拉進(jìn)群,期待大家的加入。


          管理員二維碼:



          猜你喜歡

          ?笑死人不償命的知乎沙雕問題排行榜

          ?用Python扒出B站那些“驚為天人”的阿婆主!

          ?互聯(lián)網(wǎng)大佬學(xué)歷&背景大揭秘,看看是你的老鄉(xiāng)還是校友

          ?上萬條數(shù)據(jù)撕開微博熱搜的真相!

          ?你相信逛B站也能學(xué)編程嗎??

          瀏覽 36
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

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

          手機(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>
                  一道本一区二区 | 操亚洲 | 超碰青青在线五月 | 免费看一级黄色大片 | 五级 黄 色 片 |