国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種融合社會化信息的改進單類協同過濾方法與流程

      文檔序號:11411902閱讀:309來源:國知局
      一種融合社會化信息的改進單類協同過濾方法與流程
      本發(fā)明屬于個性化推薦領域,具體地說是一種融合社會化信息的改進單類協同過濾方法。
      背景技術
      :隨著信息技術的不斷發(fā)展,如何從海量的數據中快速有效地找到用戶所需的信息,滿足各類用戶不同的個性化需求,已受到研究者的廣泛關注。在此背景下,推薦系統(tǒng)應運而生。推薦系統(tǒng)可以根據用戶的歷史評分數據來學習、預測用戶的偏好從而推薦物品,被認為是當前能夠解決信息過載的最有效方法之一。其中,運用最廣泛的是基于協同過濾的推薦算法。協同過濾算法的核心是基于目標用戶最近鄰居的評分數據,來預測目標用戶對未評分項目的評分,從而將預測評分最高的若干項目推薦給目標用戶。近年來協同過濾算法在國內外得到了廣泛研究,按處理數據的不同主要分為兩類:一類是能明確區(qū)分用戶喜好傾向的數據,如評分;另一類則是未能表現出用戶喜好傾向的單類數據,如是否購買過某種商品等,這類數據僅有正例可以明確區(qū)分開來,而負例不確定,故把該類問題稱為單類協同過濾(OneClassCollaborativeFiltering,OCCF)問題。在單類協同過濾中,數據的獲取不需要用戶額外的努力,僅搜集用戶與網頁的自然交互信息,收集成本更低、應用場景更廣、數據規(guī)模更大,因此,研究如何利用單類數據進行個性化推薦,具有重要價值。目前,針對單類數據的個性化推薦已經開始得到研究者的關注,并有一些研究者就此進行了相關研究。這些研究主要從兩個角度展開,一個角度是研究如何恰當的引入負例,以解決數據的高度不平衡性問題。另一個角度是研究如何恰當的利用額外的數據信息,以解決數據的高度稀疏性問題。盡管這些研究都在一定程度上減小了數據不平衡性或稀疏性對推薦結果的影響,但是一方面,已有研究大多是從單一角度進行,只孤立的考慮了對數據不平衡性和稀疏性的一個問題的改進。另一方面,近些年來,隨著社交媒體的不斷發(fā)展,對于數據中帶有評分的推薦問題,融合社會化信息的推薦方法已被證明可以很好地提升推薦精度,但是,對于更加稀疏的單類數據,這方面的研究還很少。技術實現要素:本發(fā)明為解決上述現有技術中存在的不足之處,提供一種融合社會化信息的改進單類協同過濾方法,以期能充分考慮用戶群組及項目標簽的社會化信息,綜合解決單類協同過濾方法中數據的高度不平衡性和稀疏性問題,從而提高面向單類數據的項目推薦準確率。為了達到上述目的,本發(fā)明所采用的技術方案為:本發(fā)明一種融合社會化信息的改進單類協同過濾方法的特點是按如下步驟進行:步驟1、構造用戶項目三元組P、項目標簽三元組Q、用戶標簽三元組W和群組好友三元組G:步驟1.1、令用戶項目三元組P=<U,I,R>表示用戶對項目的歷史選擇信息;U表示用戶集,并有U={U1,U2,...,Ui,...,U|U|};Ui表示第i個用戶;I表示項目集,并有I={I1,I2,...,Ij,...,I|I|};Ij表示第j個項目;R表示歷史選擇信息矩陣,并有{Ri,j}|U|×|I|;Ri,j=1表示第i個用戶Ui已選擇過第j個項目Ij;Ri,j為空表示第i個用戶Ui未選擇過第j個項目Ij;1≤i≤|U|;1≤j≤|I|;步驟1.2、令項目標簽三元組Q=<I,T,B>表示項目被標注的標簽信息,用于表征項目的特征;T表示標簽集,并有T={T1,T2,...,Th,...,T|T|};Th表示第h個標簽;B表示項目標簽矩陣,并有{Bj,h}|I|×|T|;Bj,h表示第j個項目Ij被標注第h個標簽Th的次數;1≤h≤|T|;步驟1.3、令用戶標簽三元組W=<U,T,D>表示用戶對所有已選擇項目標注的標簽信息,用于表征用戶的偏好特征;D表示用戶標簽矩陣,并有{Di,h}|U|×|T|;Di,h表示第i個用戶Ui對自己所有已選擇項目標注第h個標簽Th的次數;步驟1.4、令群組好友三元組G=<U,U,F>表示用戶群組好友信息;F表示用戶好友矩陣,并有{Fi,l}|U|×|U|;Fi,l=1表示第i個用戶Ui和第l個用戶Ul是屬于同一個群組的組內好友;Fi,l為空表示第i個用戶Ui和第l個用戶Ul不屬于任何一個共同群組的組內好友;1≤l≤|U|步驟2、基于所述用戶項目三元組P計算所述群組好友三元組G的用戶與其群組好友的偏好相似度:步驟2.1、根據群組好友三元組G,獲得第i個用戶Ui的群組好友集合表示第i個用戶Ui的第l個群組好友;0≤L<|U|;0≤l≤L;利用式(1)得到第i個用戶Ui與第l個群組好友的Jaccard相似度Ji,l:Ji,l=|Ri,·∩Rl,·||Ri,·∪Rl,·|---(1)]]>式(1)中,Ri,.表示第i個用戶Ui的已選項目集;Rl,.表示第l個群組好友的已選項目集;步驟2.2、對所有的用戶,重復步驟2.1,從而獲得所有|U|個用戶與其群組好友之間偏好的相似度矩陣J={Ji,l}|U|×|U|;步驟3、基于所述項目標簽三元組Q和所述用戶標簽三元組W,計算所述用戶項目三元組P的用戶與其未選擇項目之間的用戶偏好特征與項目特征的相似度:步驟3.1、根據所述項目標簽三元組Q,利用TF-IDF方法計算第j個項目Ij中第h個標簽Tj,h的權值b′j,h,從而獲得第j個項目Ij的|T|個標簽的權值向量Bj′={b′j,1,b′j,2,...,b′j,h,...,b′j,|T|};步驟3.2、對所有項目,重復步驟3.1,從而獲得項目標簽的權值矩陣B′={B′j,h}|I|×|T|;步驟3.3、根據所述用戶標簽三元組W,利用TF-IDF方法計算第i個用戶Ui中第h個標簽Ti,h的權值d′i,h,從而獲得第i個用戶Ui的|T|個標簽的權值向量Di′={d′i,1,d′i,2,...,d′i,h,...,d′i,|T|};步驟3.4、對所有用戶,重復步驟3.3,從而獲得用戶標簽的權值矩陣D′={D′i,h}|U|×|T|;步驟3.5、根據所述用戶項目三元組P,獲得第i個用戶Ui的未選項目集合表示第i個用戶Ui的第d個未選項目,0≤D<|I|;0≤d≤D;根據所述項目標簽的權值矩陣B′和用戶標簽的權值矩陣D′,利用式(2)得到第i個用戶Ui與第d個未選項目的余弦相似度Si,d:Si,d=cos(x,y)=x·y||x||2×||y||2---(2)]]>式(2)中,x表示所述用戶標簽的權值矩陣D′中第i個用戶Ui對應的標簽權值向量D′i,.,y表示所述項目標簽的權值矩陣B′中第d個未選項目對應的標簽權值向量B′d,.;步驟3.6、對所有用戶,重復步驟3.5,從而獲得用戶的偏好特征與其未選擇項目的項目特征之間的相似度矩陣S={Si,d}|U|×|I|;步驟4、基于所述用戶項目三元組P、用戶的偏好特征與其未選擇項目的項目特征之間的相似度矩陣S對用戶抽取并添加負例:步驟4.1、根據所述用戶項目三元組P,得到第i個用戶Ui已選正例數量ai′;利用式(3)得到第i個用戶Ui應抽取的負例數量ai,進而得到所有用戶應抽取的負例數量集合A={a1,a2,...,ai,...a|U|}:ai=β×ai′(3)式(3)中,β表示抽取的負正例比例;步驟4.2、根據所述相似度矩陣S,將第i個用戶Ui的未選項目集合I(i)中的第d個未選項目按照余弦相似度Si,d的大小進行升序排序;對于余弦相似度Si,d為同一數值的所有項目進行隨機排序,從而獲得排序后的未選項目集合從第i個用戶Ui的排序后的未選項目集合I′(i)中抽取前ai個未選項目,形成對第i個用戶Ui抽取的負例集合表示對第i個用戶Ui抽取的第a″個負例,1≤a″≤ai;步驟4.3、根據對第i個用戶Ui抽取的負例集合List(i),將所述相似度矩陣S中Si,a″的值賦給所述用戶項目三元組P中對應的用戶項目的R的值;步驟4.4、對所有用戶,重復步驟4.2和步驟4.3,從而形成抽取完負例的新用戶項目三元組P′=<U,I,R′>;R′表示添加完負例的歷史選擇信息矩陣;步驟5、利用聯合概率矩陣分解方法迭代獲得最終的用戶特征矩陣Z′和項目特征矩陣V′:步驟5.1、利用式(4)構建添加完負例的歷史選擇信息矩陣R′的先驗分布P(R′|Z,V,σR′2)=Πi=1|U|Πj=1|I|[N(Ri,j′|g(ZiTVj),σR′2)]Ii,jR′---(4)]]>式(4)中,Zi表示第i個用戶Ui的特征向量;表示第i個用戶Ui的特征向量Zi的轉置;Vj表示第j個項目Ij的特征向量;Z表示所有用戶的特征向量所構成的用戶特征矩陣;V表示所有項目的特征向量所構成的項目特征矩陣;是指示函數,如果第i個用戶Ui已選擇過第j個項目Ij,則否則表示第i個用戶Ui對第j個項目Ij的歷史選擇R′i,j服從均值為方差為的高斯分布;并有:g(ZiTVj)=1/[1+exp(-ZiTVj)]---(5)]]>式(5)表示將的值映射到[0,1]內;步驟5.2、利用式(6)構建項目標簽矩陣B的先驗分布P(B|V,M,σB2)=Πj=1|I|Πh=1|T|[N(Bj,h|g(VjTMh),σB2)]Ij,hB---(6)]]>式(6)中,表示第j個項目Ij的特征向量Vj的轉置;Mh表示第h個標簽Th的特征向量;M表示所有標簽的特征向量所構成的標簽特征矩陣;是指示函數,如果第j個項目Ij被第h個標簽Th標注過,則否則表示第j個項目Ij被第h個標簽Th標注的次數Bj,h服從均值為方差為的高斯分布;并有:g(VjTMh)=1/[1+exp(-VjTMh)]---(7)]]>式(7)表示將的值映射到[0,1]內;步驟5.3、利用式(8)構建用戶特征矩陣Z的先驗分布P(Z|J,σZ2,σJ2)=Πi=1|U|N(Zi|0,σZ2I^)×Πi=1|U|N(Zi|Σl∈N(i)Ji,lZl,σJ2I^)---(8)]]>式(8)中,表示單位向量;表示第i個用戶Ui的特征向量Zi的方差,表示第i個用戶Ui的特征向量Zi服從均值為0,方差為的高斯分布;同理,表示第i個用戶Ui的特征向量Zi服從均值為方差為的高斯分布;N(i)表示第i個用戶Ui的所有組內好友在所述相似度矩陣J中的下標集合;Zl表示第l個用戶Ul的特征向量;步驟5.4、利用式(9)構建所述項目特征矩陣V的先驗分布P(V|σV2)=Πj=1|I|N(Vj|0,σV2I^)---(9)]]>式(9)中,表示第j個項目Ij的特征向量Vj的方差,表示第j個項目Ij的特征向量Vj服從均值為0,方差為的高斯分布;步驟5.5、利用式(10)構建所述標簽特征矩陣M的先驗分布P(M|σM2)=Πh=1|T|N(Mh|0,σM2I^)---(10)]]>式(10)中,表示第h個標簽Th的特征向量Mh的方差,表示第h個標簽Th的特征向量Mh服從均值為0,方差為的高斯分布;步驟5.6、由式(6)、式(7)、式(8)、式(9)和式(10)進行貝葉斯推斷并取對數后再進行推導,得到如式(11)所示的目標函數E(Z,V,M,R′,J,B):E(Z,V,M,R′,J,B)=12Σi=1|U|Σj=1|I|Ii,jR′(Ri,j′-g(ZiTVj))2+θB2Σj|I|Σh=1|T|Ij,hB(Bj,h-g(VjTMh))2+θJ2Σi=1|U|(Zi-Σl∈N(i)Ji,lZl)T(Zi-Σl∈N(i)Ji,lZl)+θZ2Σi=1|U|ZiTZi+θV2Σj=1|I|VjTVj+θM2Σh=1|T|MhTMh---(11)]]>式(11)中,分別反映用戶特征矩陣Z、項目特征矩陣V、項目標簽矩陣B、用戶好友相似度矩陣J和標簽特征矩陣M對目標函數E(Z,V,M,R′,J,B)的影響程度大??;步驟5.7、設定迭代次數閾值為δ,學習率為α以及用戶特征矩陣Z、項目特征矩陣V、標簽特征矩陣M的矩陣特征維度Y并初始化迭代次數X=0;步驟5.8、隨機初始化用戶特征矩陣Z、項目特征矩陣V和標簽特征矩陣M,得到第X=1次迭代的第i個用戶Ui的特征向量第j個項目Ij特征向量和第h個標簽Th的特征向量步驟5.9、利用式(12)、式(13)和式(14)分別獲得第X次迭代的第i個用戶Ui的的特征向量Zi的梯度第j個項目Ij的特征向量Vj的梯度和第h個標簽Th的特征向量Mh的梯度(∂E∂Zi)(X)=Πj=1|I|Ii,jR′[g((Zi(X))TVj(X))-Ri,j′]g′((Zi(X))TVj(X))Vj(X)+θZZi(X)+θJ[Zi(X)-Σl∈N′(i)Ji,IZl(X)]-θJΣ{l|l∈N′(i)}Ji,l[Zl(X)-Σw∈N(l)Jl,wZw(X)]---(12)]]>(∂E∂Vj)(X)=Σi=1|U|Ii,jR′[g((Zi(X))TVj(X))-Ri,j′]g′((Zi(X))TVj(X))Zi(X)+θBΣh=1|T|Ij,hB[g((Vj(X))(T)Mh(X))-Bj,h]g′((Vj(X))TMh(X))Mh(X)+θVVj(X)---(13)]]>(∂E∂Mh)(X)=θBΣj=1|I|Ij,hB[g((Vj(X))TMh(X))-Bj,h]g′((Vj(X))TMh(X))Vj(X)+θMMh(X)---(14)]]>式(12)中,N(l)表示第l個用戶Ul的所有組內好友在所述相似度矩陣J中的下標集合;N′(i)表示第i個用戶Ui的所有組內好友在所述相似度矩陣J中的下標集合;步驟5.10、利用式(15)、式(16)和式(17)和第X次迭代的第i個用戶Ui的特征向量第X次迭代的第j個項目Ij特征向量和第X次迭代的第h個標簽Th的特征向量獲得第X+1次迭代的第i個用戶Ui的特征向量第j個項目Ij的特征向量和第h個標簽Th的特征向量Zi(X+1)=Zi(X)-α(∂E∂Zi)(X)---(15)]]>Vi(X+1)=Vi(X)-α(∂E∂Vi)(X)---(16)]]>Mi(X+1)=Mi(X)-α(∂E∂Mi)(X)---(17)]]>步驟5.11、將X+1賦給X,判斷X<δ是否成立,若成立,則重復步驟5.9和步驟5.10執(zhí)行;否則,表示獲得第δ次迭代的第i個用戶Ui的特征向量第δ次迭代的第j個項目Ij的特征向量和第δ次迭代的第h個標簽的特征向量從而獲得所有用戶最終的用戶特征矩陣Z′,所有項目最終的項目特征矩陣V′和所有標簽最終的標簽特征矩陣M′;步驟6、獲取對每個用戶預測分值最高的前N個項目所構成的推薦列表:OneClassCollaborativeFiltering,OCCF步驟6.1、利用式(18)得到第i個用戶Ui對第j個項目Ij的預測分值R^i,j=Σm=1YZi′(m)Vj′(m)---(18)]]>式(18)中,表示所述最終的用戶特征矩陣Z′中第i個用戶Ui的特征向量Zi′的第m個元素;表示最終的項目特征矩陣V′中第j個項目Ij的特征向量Vi′的第m個元素;0≤m≤Y;步驟6.2、重復步驟6.1,從而獲得第i個用戶Ui對所有項目的預測分值,并從所有項目的預測分值中選取分值最高的且第i個用戶Ui未選擇過的前N個項目組成第i個用戶Ui的推薦列表,進而獲得所有用戶的推薦列表。與已有技術相比,本發(fā)明的有益效果為:1、本發(fā)明將用戶和項目的社會化信息融合到單類協同過濾方法中,通過負例抽取和聯合概率矩陣分解得到用戶和項目的特征矩陣,進而得到用戶的項目推薦列表,從而有效緩解了單類數據的高度不平衡性和稀疏性問題,明顯提高了面向單類數據的單類協同過濾方法的推薦準確率。2、本發(fā)明利用用戶對其所有已選項目標注的標簽的社會化信息來表征其偏好,結合項目被標注標簽的社會化信息,計算用戶偏好與其所有未選項目之間的相似度,然后基于這種相似度及用戶已選正例數量對用戶抽取添加負例,提出了一種融合社會化信息的負例抽取方法;與已有負例抽取方法相比,其推薦準確度明顯提高。3、本發(fā)明利用用戶與其群組好友共同已選項目信息獲得用戶與其群組內好友之間的相似度矩陣,然后,將這種用戶群組好友相似度矩陣和項目標簽信息矩陣均融合到用戶項目矩陣中,使用戶項目矩陣和項目標簽矩陣的數據信息通過共享的項目特征矩陣結合在一起,實施聯合概率矩陣分解,得到用戶對項目的預測分值;通過對用戶和項目的社會化信息的融合,克服了數據的高度稀疏的困難,顯著提升了面向單類數據推薦的質量。4、本發(fā)明所提出的方法可用于向用戶推薦學術論文、新聞、博客和旅游景點等多種項目,還可以用于預測用戶的微博轉發(fā)行為,網站點擊瀏覽行為等,應用范圍廣泛。附圖說明圖1是本發(fā)明流程示意圖;圖2是本發(fā)明所提方法推薦的平均F-measure均值實驗結果圖。具體實施方式本發(fā)明利用三元組分別表示用戶項目信息、項目標簽信息、用戶標簽信息和群組好友信息,并且計算用戶與其組內好友的偏好相似度以及用戶偏好特征與其所有未選項目的特征相似度。然后,基于用戶已選正例數量及用戶偏好特征與其未選項目的特征的相似度,對每個用戶抽取添加負例。最后,將項目被標注的標簽信息矩陣和用戶與其群組好友的偏好相似度矩陣,融合到用戶項目歷史選擇信息矩陣中,實施聯合概率矩陣分解,獲得用戶特征矩陣Z∈RY×|U|、項目特征矩陣V∈RY×|I|和標簽特征矩陣M∈BY×|T|,使ZTV和MTV的值盡可能分別逼近用戶歷史選擇信息矩陣R和項目標簽信息B,從而對每個用戶預測分值最高的前N個項目所構成的推薦列表。具體地說,如圖1所示,本發(fā)明方法包括以下步驟:步驟1、構造用戶項目三元組P、項目標簽三元組Q、用戶標簽三元組W和群組好友三元組G:步驟1.1、令用戶項目三元組P=<U,I,R>表示用戶對項目的歷史選擇信息;U表示用戶集,并有U={U1,U2,...,Ui,...,U|U|};Ui表示第i個用戶;I表示項目集,并有I={I1,I2,...,Ij,...,I|I|};Ij表示第j個項目;R表示歷史選擇信息矩陣,并有{Ri,j}|U|×|I|;Ri,j=1表示第i個用戶Ui已選擇過第j個項目Ij;Ri,j為空表示第i個用戶Ui未選擇過第j個項目Ij;1≤i≤|U|;1≤j≤|I|;步驟1.2、令項目標簽三元組Q=<I,T,B>表示項目被標注的標簽信息,用于表征項目的特征;T表示標簽集,并有T={T1,T2,...,Th,...,T|T|};Th表示第h個標簽;B表示項目標簽矩陣,并有{Bj,h}|I|×|T|;Bj,h表示第j個項目Ij被標注第h個標簽Th的次數;1≤h≤|T|;步驟1.3、令用戶標簽三元組W=<U,T,D>表示用戶對所有已選擇項目標注的標簽信息,用于表征用戶的偏好特征;D表示用戶標簽矩陣,并有{Di,h}|U|×|T|;Di,h表示第i個用戶Ui對自己所有已選擇項目標注第h個標簽Th的次數;步驟1.4、令群組好友三元組G=<U,U,F>表示用戶群組好友信息;F表示用戶好友矩陣,并有{Fi,l}|U|×|U|;Fi,l=1表示第i個用戶Ui和第l個用戶Ul是屬于同一個群組的組內好友;Fi,l為空表示第i個用戶Ui和第l個用戶Ul不屬于任何一個共同群組的組內好友;1≤l≤|U|步驟2、基于用戶項目三元組P計算群組好友三元組G的用戶與其群組好友的偏好相似度:步驟2.1、根據群組好友三元組G,獲得第i個用戶Ui的群組好友集合表示第i個用戶Ui的第l個群組好友;0≤L<|U|;0≤l≤L;利用式(1)得到第i個用戶Ui與第l個群組好友的Jaccard相似度Ji,l:Ji,l=|Ri,·∩Rl,·||Ri,·∪Rl,·|---(1)]]>式(1)中,Ri,.表示第i個用戶Ui的已選項目集;Rl,.表示第l個群組好友的已選項目集;|Ri,.∩Rl,.|表示第i個用戶Ui的已選項目集與其第l個群組好友的已選項目集的交集的數量;|Ri,.∪Rl,.|表示第i個用戶Ui的已選項目集與其第l個群組好友的已選項目集的并集的數量;步驟2.2、對所有的用戶,重復步驟2.1,從而獲得所有|U|個用戶與其群組好友之間偏好的相似度矩陣J={Ji,l}|U|×|U|;步驟3、基于項目標簽三元組Q和用戶標簽三元組W,計算用戶項目三元組P的用戶與其未選擇項目之間的用戶偏好特征與項目特征的相似度:步驟3.1、根據項目標簽三元組Q,利用TF-IDF方法計算第j個項目Ij中第h個標簽Tj,h的權值b′j,h,從而獲得第j個項目Ij的|T|個標簽的權值向量Bj′={b′j,1,b′j,2,...,b′j,h,...,b′j,|T|};步驟3.2、對所有項目,重復步驟3.1,從而獲得項目標簽的權值矩陣B′={B′j,h}|I|×|T|;步驟3.3、根據用戶標簽三元組W,利用TF-IDF方法計算第i個用戶Ui中第h個標簽Ti,h的權值d′i,h,從而獲得第i個用戶Ui的|T|個標簽的權值向量Di′={d′i,1,d′i,2,...,d′i,h,...,d′i,|T|};步驟3.4、對所有用戶,重復步驟3.3,從而獲得用戶標簽的權值矩陣D′={D′i,h}|U|×|T|;步驟3.5、根據用戶項目三元組P,獲得第i個用戶Ui的未選項目集合表示第i個用戶Ui的第d個未選項目,0≤D<|I|;0≤d≤D;根據項目標簽的權值矩陣B′和用戶標簽的權值矩陣D′,利用式(2)得到第i個用戶Ui與第d個未選項目的余弦相似度Si,d:Si,d=cos(x,y)=x·y||x||2×||y||2---(2)]]>式(2)中,x表示用戶標簽的權值矩陣D′中第i個用戶Ui對應的標簽權值向量D′i,.,y表示項目標簽的權值矩陣B′中第d個未選項目對應的標簽權值向量B′d,.;||x||2表示向量x的模長;||y||2表示向量y的模長;步驟3.6、對所有用戶,重復步驟3.5,從而獲得用戶的偏好特征與其未選擇項目的項目特征之間的相似度矩陣S={Si,d}|U|×|I|;步驟4、基于用戶項目三元組P、用戶的偏好特征與其未選擇項目的項目特征之間的相似度矩陣S對用戶抽取并添加負例:步驟4.1、根據用戶項目三元組P,得到第i個用戶Ui已選正例數量ai′;利用式(3)得到第i個用戶Ui應抽取的負例數量ai,進而得到所有用戶應抽取的負例數量集合A={a1,a2,...,ai,...a|U|}:ai=β×ai′(3)式(3)中,β表示抽取的負正例比例;通過第i個用戶Ui已選擇的項目正例數量來確定對Ui應抽取的負例數量,Ui已選擇的正例越多,對其添加的負例相應的就越多,因為Ui已選擇的正例越多,說明Ui見過的項目數量越多,其他沒有被Ui選擇的項目更多的是其看見了但是不喜歡,而不是沒看見,因此從Ui未選擇的項目中抽取的負例應該越多;步驟4.2、根據相似度矩陣S,將第i個用戶Ui的未選項目集合I(i)中的第d個未選項目按照余弦相似度Si,d的大小進行升序排序;對于余弦相似度Si,d為同一數值的所有項目進行隨機排序,從而獲得排序后的未選項目集合表示排序后的第i個用戶Ui的第d個未選項目;從第i個用戶Ui的排序后的未選項目集合I′(i)中抽取前ai個未選項目,形成對第i個用戶Ui抽取的負例集合因為Si,d的值越小,表示第i個用戶Ui的偏好與其第d個未選項目的特征越不相似,是用戶Ui看見了但是不喜歡沒有選擇的可能性就越大,越應該被選作負例;表示對第i個用戶Ui抽取的第a″個負例,1≤a″≤ai;步驟4.3、根據對第i個用戶Ui抽取的負例集合List(i),將相似度矩陣S中Si,a″的值賦給用戶項目三元組P中對應的用戶項目的R的值;步驟4.4、對所有用戶,重復步驟4.2和步驟4.3,形成抽取完負例的新用戶項目三元組P′=<U,I,R′>,從而緩解單類數據的高度稀疏性問題;R′表示添加完負例的歷史選擇信息矩陣;步驟5、利用聯合概率矩陣分解方法迭代獲得最終的用戶特征矩陣Z′和項目特征矩陣V′:步驟5.1、利用式(4)構建添加完負例的歷史選擇信息矩陣R′的先驗分布P(R′|Z,V,σR′2)=Πi=1|U|Πj=1|I|[N(Ri,j′|g(ZiTVj),σR′2)]Ii,jR′---(4)]]>式(4)中,Zi表示第i個用戶Ui的特征向量;表示第i個用戶Ui的特征向量Zi的轉置;Vj表示第j個項目Ij的特征向量;Z表示所有用戶的特征向量所構成的用戶特征矩陣;V表示所有項目的特征向量所構成的項目特征矩陣;是指示函數,如果第i個用戶Ui已選擇過第j個項目Ij,則否則表示第i個用戶Ui對第j個項目Ij的歷史選擇R′i,j服從均值為方差為的高斯分布;并有:g(ZiTVj)=1/[1+exp(-ZiTVj)]---(5)]]>式(5)表示將的值映射到[0,1]內;步驟5.2、利用式(6)構建項目標簽矩陣B的先驗分布P(B|V,M,σB2)=Πj=1|I|Πh=1|T|[N(Bj,h|g(VjTMh),σB2)]Ij,hB---(6)]]>式(6)中,表示第j個項目Ij的特征向量Vj的轉置;Mh表示第h個標簽Th的特征向量;M表示所有標簽的特征向量所構成的標簽特征矩陣;是指示函數,如果第j個項目Ij被第h個標簽Th標注過,則否則表示第j個項目Ij被第h個標簽Th標注的次數Bj,h服從均值為方差為的高斯分布;并有:g(VjTMh)=1/[1+exp(-VjTMh)]---(7)]]>式(7)表示將的值映射到[0,1]內;步驟5.3、利用式(8)構建用戶特征矩陣Z的先驗分布P(Z|J,σZ2,σJ2)=Πi=1|U|N(Zi|0,σZ2I^)×Πi=1|U|N(Zi|Σl∈N(i)Ji,lZl,σJ2I^)---(8)]]>式(8)中,表示單位向量;表示第i個用戶Ui的特征向量Zi的方差,表示第i個用戶Ui的特征向量Zi服從均值為0,方差為的高斯分布;同理,表示第i個用戶Ui的特征向量Zi服從均值為方差為的高斯分布;N(i)表示第i個用戶Ui的所有組內好友在相似度矩陣J中的下標集合;Zl表示第l個用戶Ul的特征向量;由式(8)可以看出,本發(fā)明在學習每個用戶的特征向量時,不僅考慮了用戶自身的特性,即服從均值為0的高斯分布以防止過擬合,同時還考慮了用戶之間的相關性,即每個用戶的特征向量還要與同一群組的組內好友的特征向量相似,并且兩個用戶之間的相似度越高,這兩個用戶的特征向量就越相似;步驟5.4、利用式(9)構建項目特征矩陣V的先驗分布P(V|σV2)=Πj=1|I|N(Vj|0,σV2I^)---(9)]]>式(9)中,表示第j個項目Ij的特征向量Vj的方差,表示第j個項目Ij的特征向量Vj服從均值為0,方差為的高斯分布;步驟5.5、利用式(10)構建標簽特征矩陣M的先驗分布P(M|σM2)=Πh=1|T|N(Mh|0,σM2I^)---(10)]]>式(10)中,表示第h個標簽Th的特征向量Mh的方差,表示第h個標簽Th的特征向量Mh服從均值為0,方差為的高斯分布;步驟5.6、由式(6)、式(7)、式(8)、式(9)和式(10)進行貝葉斯推斷,得到如式(11)所示的用戶特征矩陣Z、項目特征矩陣V和標簽特征矩陣W的極大后驗概率P(Z,V,M|R′,B,J,σR′2,σZ2,σV2,σB2,σM2)∝p(R′|Z,V,σR′2)P(B|V,M,σB2)p(Z|J,σZ2,σJ2)p(V|σV2)P(M|σM2)=Πi=1|U|Πj=1|I|[N(Ri,j′|g(ZiTVj),σR′2]Ii,jR′×Σj=1|I|Σh=1|T|[N(Bj,h|g(VjTMh),σB2]Ij,hB×Πi=1|U|N(Zi|0,σZ2I)×Πi=1|U|N(Zi|Σl∈N(i)Jl,vZl,σJ2I)×Πj=1|I|N(Vj|0,σV2I)×Πh=1|T|N(Mh|0,σM2I)---(11)]]>由式(11)可以看出,本發(fā)明在進行矩陣分解時,通過對用戶和項目的額外社會化信息的融合,即將用戶與其群組好友的偏好相似度矩陣J和項目標簽信息矩陣B均融合到用戶項目矩陣R′中,使用戶項目矩陣R′和項目標簽矩陣B的數據信息通過共享的項目特征矩陣V結合在一起,從而緩解單類數據的高度稀疏性問題;步驟5.7、對式(11)取對數得到式(12):lnP(Z,V,M|R′,B,J,σZ2,σV2,σM2,σR′2,σB2,σJ2)=-12σR′2Σi=1|U|Σj=1|I|Ii,jR′(Ri,j′-g(ZiTVj))2-12σB2Σj|I|Σh=1|T|Ij,hB(Bj,h-g(VjTMh))2-12σJ2Σi=1|U|(Zi-Σl∈N(i)Ji,lZl)T(Zi-Σl∈N(i)Ji,lZl)-12σZ2Σi=1|U|ZiTZi-12σV2Σj=1|I|VjTVj-12σM2Σh=1|T|MhTMh-Σi=1|U|Σj=1|I|Ii,jR′lnσR′2-Σj=1|I|Σh=1|T|Ij,hTlnσB2-YΣi=1|U|lnσZ2-YΣj=1|I|lnσV2-YΣh=1|T|lnσM2+P---(12)]]>式(12)中,Y表示第第i個用戶Ui的特征向量Zl、第j個項目Ij的特征向量Vj和第h個標簽Th的特征向量Mh的維度;P是不依賴參數的常量;步驟5.8、對式(12)進行推導,最大化式(12)可視為無約束問題,相當于最小化如式(13)這個目標函數E(Z,V,M,R′,J,B):E(Z,V,M,R′,J,B)=12Σi=1|U|Σj=1|I|Ii,jR′(Ri,j′-g(ZiTVj))2+θB2Σj|I|Σh=1|T|Ij,hB(Bj,h-g(VjTMh))2+θJ2Σi=1|U|(Zi-Σl∈N(i)Ji,lZl)T(Zi-Σl∈N(i)Ji,lZl)+θZ2Σi=1|U|ZiTZi+θV2Σj=1|I|VjTVj+θM2Σh=1|T|MhTMh---(13)]]>式(13)中,分別反映用戶特征矩陣Z、項目特征矩陣V、項目標簽矩陣B、用戶好友相似度矩陣J和標簽特征矩陣M對目標函數E(Z,V,M,R′,J,B)的影響程度大小;步驟5.9、設定迭代次數閾值為δ,學習率為α,并初始化迭代次數X=0;步驟5.10、隨機初始化用戶特征矩陣Z、項目特征矩陣V和標簽特征矩陣M,得到第X=1次迭代的第i個用戶Ui的特征向量第j個項目Ij特征向量和第h個標簽Th的特征向量步驟5.11、利用式(14)、式(15)和式(16)分別獲得第X次迭代的第i個用戶Ui的的特征向量Zi的梯度第j個項目Ij的特征向量Vj的梯度和第h個標簽Th的特征向量Mh的梯度(∂E∂Zi)(X)=Σj=1|I|Ii,jR′[g((Zi(X))TVj(X))-Ri,j′]g′((Zi(X))TVj(X))Vi(X)+θZZi(X)+θJ[Zi(X)-Σl∈N′(i)Ji,lZl(X)]-θJΣ{l|l∈N′(i)}Ji,l[Zl(X)-Σw∈N(l)Jl,wZw(X)]---(14)]]>(∂E∂Vj)(X)=Σi=1|U|Ii,jR′[g((Zi(X))TVj(X))-Ri,j′]g′((Zi(X))TVj(X))Zi(X)+θBΣh=1|T|Ij,hB[g((Vj(X))(T)Mh(X))-Bj,h]g′((Vj(X))TMh(X))Mh(X)+θVVj(X)---(15)]]>(∂E∂Mh)(X)=θBΣj=1|I|Ij,hB[g((Vj(X))TMh(X))-Bj,h]g′((Vj(X))TMh(X))Vj(X)+θMMh(X)---(16)]]>式(14)中,N(l)表示第l個用戶Ul的所有組內好友在相似度矩陣J中的下標集合;N′(i)表示第i個用戶Ui的所有組內好友在相似度矩陣J中的下標集合;步驟5.12、利用式(17)、式(18)和式(19)和第X次迭代的第i個用戶Ui的特征向量第X次迭代的第j個項目Ij特征向量和第X次迭代的第h個標簽Th的特征向量獲得第X+1次迭代的第i個用戶Ui的特征向量第j個項目Ij的特征向量和第h個標簽Th的特征向量Zi(X+1)=Zi(X)-α(∂E∂Zi)(X)---(17)]]>Vi(X+1)=Vi(X)-α(∂E∂Vi)(X)---(18)]]>Mi(X+1)=Mi(X)-α(∂E∂Mi)(X)---(19)]]>步驟5.13、將X+1賦給X,判斷X<δ是否成立,若成立,則重復步驟5.11和步驟5.12執(zhí)行;否則,表示獲得第δ次迭代的第i個用戶Ui的特征向量第δ次迭代的第j個項目Ij的特征向量和第δ次迭代的第h個標簽的特征向量從而獲得所有用戶最終的用戶特征矩陣Z′,所有項目最終的項目特征矩陣V′和所有標簽最終的標簽特征矩陣M′;步驟6、獲取對每個用戶預測分值最高的前N個項目所構成的推薦列表:步驟6.1、利用式(20)得到第i個用戶Ui對第j個項目Ij的預測分值R^i,j=Σm=1YZi′(m)Vj′(m)---(20)]]>式(20)中,表示最終的用戶特征矩陣Z′中第i個用戶Ui的特征向量Zi′的第m個元素;表示最終的項目特征矩陣V′中第j個項目Ij的特征向量Vi′的第m個元素;0≤m≤Y;步驟6.2、重復步驟6.1,從而獲得第i個用戶Ui對所有項目的預測分值,并從所有項目的預測分值中選取分值最高的且第i個用戶Ui未選擇過的前N個項目組成第i個用戶Ui的推薦列表,進而獲得所有用戶的推薦列表。針對本發(fā)明方法進行實驗論證,具體包括:1、標準數據集本發(fā)明使用LastFM數據集作為標準數據集驗證融合社會化信息的改進單類協同過濾方法的有效性,LastFM是一個針對音樂收聽的在線平臺。在LastFM數據集中,包括99405位用戶、1393559首音樂、281818個標簽、66429個用戶群組信息的數據。2、評價指標本發(fā)明使用推薦系統(tǒng)領域常用的平均準確率均值(MAP),平均召回率均值(MAR),和平均F-measure均值(MAF)作為實驗評價指標。MAP是對所有用戶的平均準確率(averageprecision,簡稱AP)的再一次平均,MAP這一指標特別看重推薦列表的前幾位是否命中,MAP越大,表示算法的推薦準確率越高。MAR是對所有用戶的平均召回率(averagerecall,簡稱AR)的再一次平均,MAR值越大,表示推薦算法的在預測召回率上的表現越好。MAF是MAP和MAR的調和平均數,它同時綜合考慮了MAP和MAR的值,并不掩蓋任何一方面特別的不足,因此能較為全面地評價算法的優(yōu)劣。MAP、MAR和MAF的定義如式(21)、(22)和(23)所示:MAP=1|U|Σu∈U(1CΣ1≤k≤Npreeision(k)×rec(k))---(21)]]>MAR=1|U|Σu∈U(1CΣ1≤k≤Nrecall(k)×rec(k))---(22)]]>MAF=(2×MAP×MAR)/(MAP+MAR)(23)式(21)和式(22)中,precision(k)是top-k的準確率,recall(k)是top-k的召回率,如果推薦列表中第k個項目Ik命中,則rec(k)=1;否則,rec(k)=0;N是推薦個數,C是測試集中用戶感興趣的項目總數。3、實驗流程為了驗證本發(fā)明所提方法的有效性,根據OCCF應用場景的特點,本發(fā)明選用了五種推薦領域常用方法作為對比方法:SVD、PMF、Social-PMF、OCCF-AMAN、OCCF-EMAN。SVD、PMF和Social-PMF方法均忽視用戶所有未選項目,然后對正例分別使用SVD、PMF和融入用戶群組及項目標簽的社會化信息的Social-PMF建模;OCCF-AMAN方法將用戶所有未選項目作為負例,然后使用PMF建模;OCCF-EMAN方法從用戶所有未選項目中隨機抽取與其已選正例數量等同的負例,然后使用PMF,在正負例平衡的條件下訓練模型。實驗過程中,本發(fā)明隨機選擇80%的實驗數據集作為訓練集,20%作為測試集。同時,為了保證實驗結果的可靠性,每次實驗進行10次,最終結果取十次實驗的平均值。另外,經過實驗的反復測試,我們發(fā)現參數設定為θZ=θV=θM=0.005,θJ=0.01,θB=0.0005,特征向量的維度Y=20,推薦個數N=15,添加負例時的負例比例β=15時,方法效果最優(yōu),以下實驗若非特別說明,上述所有參數均設定為最優(yōu)值。4、實驗結果為了驗證本發(fā)明所提方法的有效性,本發(fā)明在LastFM數據集上進行實驗,并將本發(fā)明所提方法及對比方法實驗結果與測試集進行比較。實驗結果如表1和圖2所示,圖2中橫坐標表示推薦個數,縱坐標表示平均F-measure均值。由表1可以看出,本發(fā)明所提OCCF-SI方法在MAP,MAR,MAF三個評價指標下均優(yōu)于另外五種推薦方法,從表1中還可以看出,在SVD、PMF及Social-PMF方法的比較中,Social-PMF在三個評價指標下均取得了較大幅度的提高,在PMF、OCCF-AMAN及OCCF-EMAN方法的比較中,OCCF-EMAN在三個評價指標下也均取得了最優(yōu)推薦結果。這一結果表明,對于OCCF數據而言,融入用戶、項目的社會化信息和負例抽取分別有助于提高推薦質量,這也進一步驗證了本發(fā)明提出的同時綜合考慮社會化信息和負例抽取的OCCF-SI方法的有效性。對于個性化推薦而言,最終的目的不是使預測出來的分數和真實分數的誤差盡可能小,而是要在有限的推薦列表中盡可能準確全面的展示用戶最感興趣的項目,因此,研究推薦方法在不同推薦個數N下的推薦效果并確定一個最佳N值,具有重要意義。由圖2可以看出,隨著推薦個數的增加,推薦效果先是越來越好,當N的值大于一定數值后(本發(fā)明方法N=15最佳),推薦的MAF值開始降低。由圖2還可以看出,在不同的推薦個數下,本發(fā)明提出的OCCF-SI方法都能取得較好的結果,說明了本發(fā)明提出的融合社會化信息的改進單類協同過濾方法的有效性和適應性。表1OCCF-SI與對比算法推薦結果比較(推薦個數N=15,特征維度Y=20)當前第1頁1 2 3 
      當前第1頁1 2 3 
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1