您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 > 

06 facebook熱門標簽排行(facebook怎么帶標簽?)

Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-05-15 15:49:16【】0人已围观

简介同算法原理類似,只不過基于物品的協同是用戶U購買了A物品,會計算經常有哪些物品與A一起購買(也即相似度),然后推薦給用戶U這些與A相似的物品。而基于用戶的協同則是先計算用戶的相似性(通過計算這些用戶購

同算法原理類似,只不過基于物品的協同是用戶U購買了A物品,會計算經常有哪些物品與A一起購買(也即相似度),然后推薦給用戶U這些與A相似的物品。而基于用戶的協同則是先計算用戶的相似性(通過計算這些用戶購買過的相同的物品),然后將這些相似用戶購買過的物品推薦給用戶U。

基于用戶的協同過濾算法主要包括兩個步驟:

步驟(1)的關鍵是計算用戶的興趣相似度,主要是利用用戶的行為相似度計算用戶相似度。給定用戶 u 和 v,N(u) 表示用戶u曾經有過正反饋(譬如購買)的物品集合,N(v) 表示用戶 v 曾經有過正反饋的物品集合。那么我們可以通過如下的 Jaccard 公式簡單的計算 u 和 v 的相似度:

或通過余弦相似度:

得到用戶之間的相似度之后,UserCF算法會給用戶推薦和他興趣最相似的K個用戶喜歡的物品。如下的公式度量了UserCF算法中用戶 u 對物品 i 的感興趣程度:

首先回顧一下UserCF算法和ItemCF算法的推薦原理:UserCF給用戶推薦那些和他有共同興趣愛好的用戶喜歡的物品, 而ItemCF給用戶推薦那些和他之前喜歡的物品具有類似行為的物品。

(1)從推薦場景考慮

首先從場景來看,如果用戶數量遠遠超過物品數量,如購物網站淘寶,那么可以考慮ItemCF,因為維護一個非常大的用戶關系網是不容易的。其次,物品數據一般較為穩定,因此物品相似度矩陣不必頻繁更新,維護代價較小。

UserCF的推薦結果著重于反應和用戶興趣相似的小群體的熱點,而ItemCF的推薦結果著重于維系用戶的歷史興趣。換句話說,UserCF的推薦更社會化,反應了用戶所在小型興趣群體中物品的熱門程度,而ItemCF的推薦更加個性化,反應了用戶自己的個性傳承。因此UserCF更適合新聞、微博或微內容的推薦,而且新聞內容更新頻率非常高,想要維護這樣一個非常大而且更新頻繁的表無疑是非常難的。

在新聞類網站中,用戶的興趣愛好往往比較粗粒度,很少會有用戶說只看某個話題的新聞,而且往往某個話題也不是每天都會有新聞。 個性化新聞推薦更強調新聞熱點,熱門程度和時效性是個性化新聞推薦的重點,個性化是補充,所以 UserCF 給用戶推薦和他有相同興趣愛好的人關注的新聞,這樣在保證了熱點和時效性的同時,兼顧了個性化。

(2)從系統多樣性(也稱覆蓋率,指一個推薦系統能否給用戶提供多種選擇)方面來看,ItemCF的多樣性要遠遠好于UserCF,因為UserCF更傾向于推薦熱門物品。而ItemCF具有較好的新穎性,能夠發現長尾物品。所以大多數情況下,ItemCF在精度上較小于UserCF,但其在覆蓋率和新穎性上面卻比UserCF要好很多。

在介紹本節基于矩陣分解的隱語義模型之前,讓我們先來回顧一下傳統的矩陣分解方法SVD在推薦系統的應用吧。

基于SVD矩陣分解在推薦中的應用可分為如下幾步:

SVD在計算前會先把評分矩陣 A 缺失值補全,補全之后稀疏矩陣 A 表示成稠密矩陣,然后將分解成 A' = U∑V T 。但是這種方法有兩個缺點:(1)補成稠密矩陣后需要耗費巨大的儲存空間,對這樣巨大的稠密矩陣進行儲存是不現實的;(2)SVD的計算復雜度很高,對這樣大的稠密矩陣中進行計算式不現實的。因此,隱語義模型就被發明了出來。

更詳細的SVD在推薦系統的應用可參考 奇異值分解SVD簡介及其在推薦系統中的簡單應用 。

隱語義模型(Latent Factor Model)最早在文本挖掘領域被提出,用于找到文本的隱含語義。相關的算法有LSI,pLSA,LDA和Topic Model。本節將對隱語義模型在Top-N推薦中的應用進行詳細介紹,并通過實際的數據評測該模型。

隱語義模型的核心思想是通過隱含特征聯系用戶興趣和物品。讓我們通過一個例子來理解一下這個模型。

現有兩個用戶,用戶A的興趣涉及偵探小說、科普圖書以及一些計算機技術書,而用戶B的興趣比較集中在數學和機器學習方面。那么如何給A和B推薦圖書呢?

我們可以對書和物品的興趣進行分類。對于某個用戶,首先得到他的興趣分類,然后從分類中挑選他可能喜歡的物品。簡言之,這個基于興趣分類的方法大概需要解決3個問題:

對于第一個問題的簡單解決方案是找相關專業人員給物品分類。以圖書為例,每本書出版時,編輯都會給出一個分類。但是,即使有很系統的分類體系,編輯給出的分類仍然具有以下缺點:(1)編輯的意見不能代表各種用戶的意見;(2)編輯很難控制分類的細粒度;(3)編輯很難給一個物品多個分類;(4)編輯很難給一個物品多個分類;(5)編輯很難給出多個維度的分類;(6)編輯很難決定一個物品在某一個類別中的權重。

為了解決上述問題,研究員提出可以從數據出發,自動找到那些分類,然后進行個性化推薦。隱語義模型由于采用基于用戶行為統計的自動聚類,較好地解決了上面提出的5個問題。

LFM將矩陣分解成2個而不是3個:

推薦系統中用戶和物品的交互數據分為顯性反饋和隱性反饋數據。隱式模型中多了一個置信參數,具體涉及到ALS(交替最小二乘法,Alternating Least Squares)中對于隱式反饋模型的處理方式——有的文章稱為“加權的正則化矩陣分解”:

一個小細節:在隱性反饋數據集中,只有正樣本(正反饋)沒有負反饋(負樣本),因此如何給用戶生成負樣本來進行訓練是一個重要的問題。Rong Pan在其文章中對此進行了探討,對比了如下幾種方法:

用戶行為很容易用二分圖表示,因此很多圖算法都可以應用到推薦系統中。基于圖的模型(graph-based model)是推薦系統中的重要內容。很多研究人員把基于領域的模型也稱為基于圖的模型,因為可以把基于領域的模型看作基于圖的模型的簡單形式。

在研究基于圖的模型之前,需要將用戶行為數據表示成圖的形式。本節的數據是由一系列用戶物品二元組 (u, i) 組成的,其中 u 表示用戶對物品 i 產生過行為。

令 G(V, E) 表示用戶物品二分圖,其中 V=V U UV I 由用戶頂點 V U 和物品節點 V I 組成。對于數據集中每一個二元組 (u, i) ,圖中都有一套對應的邊 e(v u , v i ),其中 v u ∈V U 是用戶對應的頂點,v i ∈V I 是物品i對應的頂點。如下圖是一個簡單的物品二分圖,其中圓形節點代表用戶,方形節點代表物品,用戶物品的直接連線代表用戶對物品產生過行為。比如下圖中的用戶A對物品a、b、d產生過行為。

度量圖中兩個頂點之間相關性的方法很多,但一般來說圖中頂點的相關性主要取決于下面3個因素:

而相關性高的一對頂點一般具有如下特征:

舉個例子,如下圖,用戶A和物品c、e沒有邊直連,但A可通過一條長度為3的路徑到達c,而Ae之間有兩條長度為3的路徑。那么A和e的相關性要高于頂點A和c,因而物品e在用戶A的推薦列表中應該排在物品c之前,因為Ae之間有兩條路徑。其中,(A,b,C,e)路徑經過的頂點的出度為(3,2,2,2),而 (A,d,D,e) 路徑經過了一個出度比較大的頂點D,所以 (A,d,D,e) 對頂點A與e之間相關性的貢獻要小于(A,b,C,e)。

基于上面3個主要因素,研究人員設計了很多計算圖中頂點相關性的方法,本節將介紹一種基于隨機游走的PersonalRank算法。

假設要給用戶u進行個性化推薦,可以從用戶u對應的節點 v u 開始在用戶物品二分圖上進行隨機游走。游走到任一節點時,首先按照概率α決定是繼續游走還是停止這次游走并從 v u 節點重新開始游走。若決定繼續游走,則從當前節點指向的節點中按照均勻分布隨機選擇一個節點作為游走下次經過的節點。這樣,經過很多次隨機游走后,每個物品被訪問到的概率會收斂到一個數。最終的推薦列表中物品的權重就是物品節點的訪問概率。

上述算法可以表示成下面的公式:

雖然通過隨機游走可以很好地在理論上解釋PersonalRank算法,但是該算法在時間復雜度上有明顯的缺點。因為在為每個用戶進行推薦時,都需要在整個用戶物品二分圖上進行迭代,知道所有頂點的PR值都收斂。這一過程的時間復雜度非常高,不僅無法在線進行實時推薦,離線計算也是非常耗時的。

有兩種方法可以解決上面PersonalRank時間復雜度高的問題:

(1)減少迭代次數,在收斂之前停止迭代。但是這樣會影響最終的精度。

(2)從矩陣論出發,重新涉及算法。另M為用戶物品二分圖的轉移概率矩陣,即:

網絡社交是當今社會非常重要甚至可以說是必不可少的社交方式,用戶在互聯網上的時間有相當大的一部分都用在了社交網絡上。

當前國外最著名的社交網站是Facebook和Twitter,國內的代表則是買粉絲/QQ和微博。這些社交網站可以分為兩類:

需要指出的是,任何一個社交網站都不是單純的社交圖譜或興趣圖譜。如QQ上有些興趣愛好群可以認識不同的陌生人,而微博中的好友也可以是現實中認識的。

社交網絡定義了用戶之間的聯系,因此可以用圖定義社交網絡。我們用圖 G(V,E,w) 定義一個社交網絡,其中V是頂點集合,每個頂點代表一個用戶,E是邊集合,如果用戶va和vb有社交網絡關系,那么就有一條邊 e(v a , v b ) 連接這兩個用戶,而 w(v a , v b )定義了邊的權重。一般來說,有三種不同的社交網絡數據:

和一般購物網站中的用戶活躍度分布和物品流行度分布類似,社交網絡中用戶的入度(in degree,表示有多少人關注)和出度(out degree,表示關注多少人)的分布也是滿足長尾分布的。即大部分人關注的人都很少,被關注很多的人也很少。

給定一個社交網絡和一份用戶行為數據集。其中社交網絡定義了用戶之間的好友關系,而用戶行為數據集定義了不同用戶的歷史行為和興趣數據。那么最簡單的算法就是給用戶推薦好友喜歡的物品集合。即用戶u對物品i的興趣 p ui 可以通過如下公式計算。

用戶u和用戶v的熟悉程度描述了用戶u和用戶在現實社會中的熟悉程度。一般來說,用戶更加相信自己熟悉的好友的推薦,因此我們需要考慮用戶之間的熟悉度。下面介紹3中衡量用戶熟悉程度的方法。

(1)對于用戶u和用戶v,可以使用共同好友比例來計算他們的相似度:

上式中 out(u) 可以理解為用戶u關注的用戶合集,因此 out(u) ∩ out(v) 定義了用戶u、v共同關注的用戶集合。

(2)使用被關注的用戶數量來計算用戶之間的相似度,只要將公式中的 out(u) 修改為 in(u):

in(u) 是指關注用戶u的集合。在無向社交網絡中,in(u)和out(u)是相同的,而在微博這種有向社交網絡中,這兩個集合的含義就不痛了。一般來說,本方法適合用來計算微博大V之間的相似度,因為大v往往被關注的人數比較多;而方法(1)適用于計算普通用戶之間的相似度,因為普通用戶往往關注行為比較豐富。

(3)除此之外,還可以定義第三種有向的相似度:這個相似度的含義是用戶u關注的用戶中,有多大比例也關注了用戶v:

這個相似度有一個缺點,就是在該相似度下所有人都和大v有很大的相似度,這是因為公式中的分母

很赞哦!(12)

Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款的名片

职业:程序员,设计师

现居:江西宜春樟树市

工作室:小组

Email:[email protected]