国产精品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>

      基于雙層矩陣分解的推薦方法

      文檔序號:10489053閱讀:242來源:國知局
      基于雙層矩陣分解的推薦方法
      【專利摘要】本發(fā)明公開了一種基于雙層矩陣分解的推薦方法,主要解決現(xiàn)有技術(shù)推薦效果準(zhǔn)確率不高的問題。其實現(xiàn)步驟為:1.讀取用戶指定文件并構(gòu)造訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集;2.初始化第一層學(xué)習(xí)器的用戶特征矩陣和物品特征矩陣;3.使用訓(xùn)練數(shù)據(jù)集優(yōu)化第一個學(xué)習(xí)器的用戶特征矩陣和物品特征矩陣;4.獲取第二層學(xué)習(xí)器的訓(xùn)練數(shù)據(jù);5.計算第一層與第二層學(xué)習(xí)器的權(quán)重,并優(yōu)化第二層學(xué)習(xí)器的用戶特征矩陣和物品特征矩陣;6.計算測試數(shù)據(jù)集中的用戶對物品的推薦效果。本發(fā)明使用訓(xùn)練好的兩層學(xué)習(xí)器參數(shù)及權(quán)重進行預(yù)測評分,降低了用戶對物品的預(yù)測評分與真實評分之間的差值,增強了推薦效果,可用于用戶對未知電影的預(yù)測評分及未知電影推薦。
      【專利說明】
      基于雙層矩陣分解的推薦方法
      技術(shù)領(lǐng)域
      [0001] 本發(fā)明屬于數(shù)據(jù)處理技術(shù)領(lǐng)域,特別涉及一種數(shù)據(jù)集推薦方法,可應(yīng)用于用戶對 未知電影的預(yù)測評分及未知電影推薦。
      【背景技術(shù)】
      [0002] 矩陣分解是推薦系統(tǒng)研究中的一個重要方向,它是使用不同用戶對不同物品的評 分條目來不斷地進行參數(shù)優(yōu)化,來使參數(shù)達到最優(yōu),進而通過優(yōu)化后的參數(shù)來給用戶評價 未標(biāo)記過的物品,來達到給用戶推薦的目的。
      [0003] 基于矩陣分解的推薦方法是目前一種常用的基本方法,基本思路是通過分解給定 用戶對物品的評分矩陣,用兩個低秩矩陣的乘積來逼近原來的評分矩陣,逼近的目標(biāo)就是 使預(yù)測的評分矩陣和原來的評分矩陣之間的誤差平方最小。兩個低秩矩陣分別為用戶和物 品的特征矩陣,矩陣中的這些特征向量可以簡單地理解為用戶對不同屬性的偏好。矩陣分 解具有比較容易編程實現(xiàn),時間和空間復(fù)雜度低,還具有良好的可擴展性的特點,但是,簡 單的矩陣分解并不能得到很好地推薦效果。

      【發(fā)明內(nèi)容】

      [0004] 本發(fā)明的目的在于針對已有技術(shù)的不足,提出一種基于雙層矩陣分解的推薦方 法,以降低預(yù)測評分的誤差,進而提高物品推薦的準(zhǔn)確率。
      [0005] 為實現(xiàn)上述目的,本發(fā)明的技術(shù)方案包括如下:
      [0006] (1)從用戶指定文件中讀取包含用戶、物品與評分信息的數(shù)據(jù),將其存入原始評分 數(shù)據(jù),記為D,并將原始評分數(shù)據(jù)按行數(shù)N以9:1的比例分成訓(xùn)練數(shù)據(jù)集與測試數(shù)據(jù)集,分別 記為Dl,D2,其中Dl為第一層學(xué)習(xí)器的訓(xùn)練數(shù)據(jù);
      [0007] (W初始仆,笛一盡受3器的用戶特征矩陣P與物品特征矩陣Q:
      [0008]
      [0009] 其中,P、Q均滿足高斯分布,二者的特征維度個數(shù)均為F ^。表示用戶特征矩陣的均 值,Ou2表示用戶特征矩陣的方差,μι表示物品特征矩陣的均值, 〇12表示物品特征矩陣的方 差;
      [0010] (3)對用戶特征矩陣P與物品的特征矩陣Q進行優(yōu)化:
      [0011] (3a)使用P、Q預(yù)測Dl中用戶u對物品i的評分,記為?ΙΜ. = ,其中,Puf表示用戶 u的特征向量,Qif表示物品i的特征向量,f =1,2,. . .,F(xiàn);
      [0012] (3b)計算用戶對物品預(yù)測評分的誤差函I
      其中,K11,.為用戶u 對物品i的真實評分;
      [0013] (3c)使用隨機梯度下降法優(yōu)化L,得到第一層學(xué)習(xí)器訓(xùn)練好的用戶特征矩陣P'與 物品特征矩陣Q ' ;
      [0014] (4)獲取第二層學(xué)習(xí)器的訓(xùn)練數(shù)據(jù):
      [0015] (4a)給定用戶對物品預(yù)測評分與用戶對物品真實評分差值的閾值t;
      [0016] (4b)將Dl中的用戶對相應(yīng)物品進行預(yù)測評分,將預(yù)測評分與真實評分差值的絕對 值大于t的樣本挑出,作為第二層學(xué)習(xí)器的訓(xùn)練數(shù)據(jù),記為D3;
      [0017] (5)根據(jù)D3的個數(shù)η計算第一層學(xué)習(xí)器的權(quán)重wl以及第二層學(xué)習(xí)器的權(quán)重w2:
      [0018] wl=(N-n)/N
      [0019] w2 = n/N
      [0020] (6)利用與步驟(2)相同的方法構(gòu)造第二層學(xué)習(xí)器的用戶特征矩陣Pl與物品特征 矩陣Ql,并利用與步驟(3)中相同的方法得到訓(xùn)練好的第二層學(xué)習(xí)器的特征矩陣ΡΓ和Q1';
      [0021] (7)根據(jù)測試數(shù)據(jù)集D2中的用戶與物品,計算推薦效果:
      [0022] (7a)利用已經(jīng)訓(xùn)練好的兩層學(xué)習(xí)器的參數(shù)?',〇',?1',〇1'以及兩層學(xué)習(xí)器的權(quán)重 wl,w2在涮試教抿隼D2 h對相府用戶與物品i+笪預(yù)測評分:
      [0023]
      [0024]兵甲,用尸與股/ift狩祉圯陣的維度,PV表示訓(xùn)練好的第一層學(xué)習(xí)器用戶u的特 征向量,Pl'uf為訓(xùn)練好的第二層學(xué)習(xí)器用戶U的特征向量,Q'lf表示訓(xùn)練好的第一層學(xué)習(xí)器 物品i的特征向量,Ql 'if表示訓(xùn)練好的第二層學(xué)習(xí)器物品i的特征向量,f=l,2,...,F(xiàn);
      [0025] (7b)根據(jù)計算出的&:κ?的值給用戶進行物品推薦,由于愈":的值是介于1-5之間的 數(shù),值越大表明物品越符合用戶的需求,對于用戶u未選擇的物品i,推薦時將根據(jù)的值 從大到小依次進行推薦,推薦的物品個數(shù)由用戶指定。
      [0026] 本發(fā)明與現(xiàn)有技術(shù)相比具有如下優(yōu)點:
      [0027] 本發(fā)明通過訓(xùn)練兩層學(xué)習(xí)器,使用兩層學(xué)習(xí)器訓(xùn)練好的參數(shù)P',Q',P1',Q1'以及 兩層學(xué)習(xí)器的權(quán)重wl,w2在測試數(shù)據(jù)集D2上對相應(yīng)用戶對物品計算預(yù)測評分,降低了用戶 對物品的預(yù)測評分與真實評分之間的差值,從而提高了預(yù)測評分的準(zhǔn)確率,增強了推薦效 果。
      【附圖說明】
      [0028]圖1為本發(fā)明的實現(xiàn)流程圖;
      【具體實施方式】
      [0029]參照圖1,本發(fā)明的實現(xiàn)步驟如下:
      [0030] 步驟1,讀取用戶指定文件并構(gòu)造訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集。
      [0031] 從用戶指定文件中讀取包含用戶、物品與評分信息的數(shù)據(jù),將其存入原始評分數(shù) 據(jù)D中,并將原始評分數(shù)據(jù)按行數(shù)N以9:1的比例分成訓(xùn)練數(shù)據(jù)集與測試數(shù)據(jù)集,分別記為Dl 和D2,其中Dl為第一層學(xué)習(xí)器的訓(xùn)練數(shù)據(jù),D2為測試數(shù)據(jù)集;
      [0032] 本實例具體使用的數(shù)據(jù)集為Movie lens 100k,Movie lens IM 和 Ep inions。
      [0033] 步驟2,初始化第一層學(xué)習(xí)器的用戶特征矩陣和物品的特征矩陣。
      [0034]將用戶特征矩陣表示為P,物品特征矩陣表示為Q,該P、Q均滿足高斯分布,二者的 特征維度個數(shù)均為F,且尸eN(//",o;2), 0€肩(//,.,$2),其中411表示用戶特征矩陣的均值, Ou 2表示用戶特征矩陣的方差,W表示物品特征矩陣的均值,〇12表示物品特征矩陣的方差。 [0035]步驟3,優(yōu)化第一層學(xué)習(xí)器的用戶特征矩陣和物品特征矩陣。
      [0036] (3a)使用用戶特征矩陣P和物品特征矩陣Q預(yù)測第一層學(xué)習(xí)器的訓(xùn)練數(shù)據(jù)Dl中用 戶u對物品i的評分,記為lkui = ,其中,Puf表示用戶u的特征向量,Qif表示物品i的特 征向量,F(xiàn)為用戶特征矩陣P與物品特征矩陣Q的特征維度,f = l,2,...,F(xiàn);
      [0037] (3b)計算用戶對物品預(yù)測評分的誤差I(lǐng)其中,Km為用戶u對 物品i的真實評分;
      [0038] (3c)使用隨機梯度下降法優(yōu)化L,得到第一層學(xué)習(xí)器訓(xùn)練好的用戶特征矩陣P'與 物品特征矩陣Q ' :
      [0039] (3cl)初始化本次迭代的所有用戶對物品預(yù)測評分的差值的平方和為S = 0,初始 化上一次迭代得到的所有用戶對物品預(yù)測評分的差值的平方和為S'=0;
      [0040] (3c2)令S'=S,S = 0;
      [0041] (3c3)在每次迭代過程中利用用戶和物品的特征矩陣計算訓(xùn)練數(shù)據(jù)中每個用戶對 物品的預(yù)測評分
      [0042]
      [0043]其中,F(xiàn)為用戶與物品特征矩陣的維度,Puf表示第一層學(xué)習(xí)器用戶u的特征向量, Qif表示第一層學(xué)習(xí)器物品i的特征向量,f =1,2,...,F(xiàn);
      [0044] (3c4)計算每個用戶對物品的預(yù)測評分愈".與真實評分Kw之間的差值E,以及所有 用戶對物品預(yù)測評分的差值的平方和S:
      [0045]
      [0046] cL
      [0047] ,得到用戶特征矩陣的梯度方向^與物品特征矩陣的梯 度方P
      [0048]
      [0049] (3c6)將用戶和物品的特征矩陣沿著負梯度方向迭代更新,得到用戶特征矩陣Puf 與物品特征矩陣Qif:
      [0050]
      [0051] (3c7)將上一次迭代得到的所有用戶對物品預(yù)測評分的差值的平方和S'與本次迭 代得到的所有用戶對物品預(yù)測評分的差值的平方和S進行比較,若S>S',則得到訓(xùn)練好的 用戶特征矩陣P'與物品特征矩陣Q',否則,返回步驟(3c2)。
      [0052] 步驟4,獲取第二層學(xué)習(xí)器的訓(xùn)練數(shù)據(jù)。
      [0053] (4a)給定用戶對物品預(yù)測評分與用戶對物品真實評分差值的閾值t;
      [0054] (4b)將第一層學(xué)習(xí)器測試數(shù)據(jù)Dl中的用戶對相應(yīng)物品進行預(yù)測評分,將預(yù)測評分 與真實評分差值的絕對值大于t的樣本挑出,作為第二層學(xué)習(xí)器的訓(xùn)練數(shù)據(jù),記為D3;
      [0055] 步驟5,計算第一層學(xué)習(xí)器與第二層學(xué)習(xí)器的權(quán)重。
      [0056] wl=(N-n)/N
      [0057] w2 = n/N
      [0058] 其中wl為第一層學(xué)習(xí)器的權(quán)重,w2為第二層學(xué)習(xí)器的權(quán)重,N為原始評分數(shù)據(jù)D中 的樣本個數(shù),η為第二層學(xué)習(xí)器訓(xùn)練數(shù)據(jù)集D3中的樣本個數(shù)。
      [0059]步驟6,初始化并優(yōu)化第二層學(xué)習(xí)器的用戶特征矩陣和物品特征矩陣。
      [0060] 利用與步驟2相同的方法構(gòu)造第二層學(xué)習(xí)器的用戶特征矩陣Pl與物品特征矩陣 Q1,并利用與步驟3中相同的方法得到訓(xùn)練好的第二層學(xué)習(xí)器的用戶特征矩陣Ρ1'和物品特 征矩陣Q1'。
      [0061] 步驟7,計算測試數(shù)據(jù)集中的用戶對物品的推薦效果:
      [0062] (7a)利用已經(jīng)訓(xùn)練好的第一層學(xué)習(xí)器的用戶特征矩陣Ρ'和物品特征矩陣Q',訓(xùn)練
      好的第二層學(xué)習(xí)器的用戶特征矩陣ΡΓ和第二層學(xué)習(xí)器的物品特征矩陣Q1'以及第一層學(xué) 習(xí)器的權(quán)重wl和第二層學(xué)習(xí)器的權(quán)重w2在測試數(shù)據(jù)集D2上計算相應(yīng)用戶與物品預(yù)測評分 觀"
      [0063]
      [0064] 其中,F(xiàn)為用戶與物品特征矩陣的維度,P'uf表示訓(xùn)練好的第一層學(xué)習(xí)器用戶u的特 征向量,Pl' uf為訓(xùn)練好的第二層學(xué)習(xí)器用戶u的特征向量,Q'lf表示訓(xùn)練好的第一層學(xué)習(xí)器 物品i的特征向量,Ql 'if表示訓(xùn)練好的第二層學(xué)習(xí)器物品i的特征向量,f=l,2,...,F(xiàn);
      [0065] (7b)根據(jù)計算出的預(yù)測評分的值給用戶進行物品推薦,由于.的值是介于1-5 之間的數(shù),值越大表明物品越符合用戶的需求,對于用戶u未選擇的物品i,推薦時將根據(jù) 的值從大到小依次進行推薦,推薦的物品個數(shù)由用戶指定。
      [0066]本發(fā)明的推薦效果可通過以下計算進一步驗證:
      [0067] 1.計算測試數(shù)據(jù)D2中用戶u對物品i的預(yù)測評分]|ω:與真實評分差值的平方和 sum:
      [0068]
      [0069] 2.計算測試數(shù)據(jù)D2中用戶u對物品i的預(yù)測評分蔬κ與真實評分Eai差值的平方和 的均值RMSE:
      [0070] RMSE = sum/N/10,
      [0071] 均值越小表明推薦效果越好。
      [0072] 本實例在數(shù)據(jù)集MovielenslOOk,MovielenslM和Epinions上用本發(fā)明與現(xiàn)有方法 pmf進行推薦效果對比,結(jié)果如表1。
      [0073] 表1:本發(fā)明與現(xiàn)有方法pmf的推薦效果數(shù)值表
      [0075] 其中,表1中的推薦效果評價指標(biāo)RMSE是通過計算測試數(shù)據(jù)D2中用戶u對物品i的 預(yù)測評分齒,,與真實評分Ka(差值的平方和的均值得到的,該值越小表明推薦效果越好,通 過在不同數(shù)據(jù)集上進行推薦效果驗證,本發(fā)明得到的數(shù)值均優(yōu)于已有pmf方法,表明本發(fā)明 能夠提高推薦準(zhǔn)確性。
      【主權(quán)項】
      1.基于雙層矩陣分解的推薦方法,包括如下步驟: (1) 從用戶指定文件中讀取包含用戶、物品與評分信息的數(shù)據(jù),將其存入原始評分數(shù) 據(jù),記為D,并將原始評分數(shù)據(jù)按行數(shù)NW9:1的比例分成訓(xùn)練數(shù)據(jù)集與測試數(shù)據(jù)集,分別記 為D1,D2,其中D1為第一層學(xué)習(xí)器的訓(xùn)練數(shù)據(jù); (2) 初始化第一層學(xué)習(xí)器的用戶特征矩陣P與物品特征矩陣Q:其中,P、Q均滿足高斯分布,二者的特征維度個數(shù)均為F,yu表示用戶特征矩陣的均值, 〇u2表示用戶特征矩陣的方差,化表示物品特征矩陣的均值,表示物品特征矩陣的方差; (3) 對用戶特征矩陣P與物品的特征矩陣Q進行優(yōu)化: (3a)使用P、Q預(yù)測D1中用戶U對物品i的評分,記為度。=G, ,其中,Puf表示用戶U的 特征向量,Qif表示物品i的特征向量,f =1,2,...,F(xiàn); (3b)計算用戶對物品預(yù)測評分的誤差庚中瓜為用戶U對物品i 的真實評分; (3c)使用隨機梯度下降法優(yōu)化L,得到第一層學(xué)習(xí)器訓(xùn)練好的用戶特征矩陣P'與物品 特征矩陣Q'; (4) 獲取第二層學(xué)習(xí)器的訓(xùn)練數(shù)據(jù): (4a)給定用戶對物品預(yù)測評分與用戶對物品真實評分差值的闊值t; (4b)將D1中的用戶對相應(yīng)物品進行預(yù)測評分,將預(yù)測評分與真實評分差值的絕對值大 于t的樣本挑出,作為第二層學(xué)習(xí)器的訓(xùn)練數(shù)據(jù),記為ND; (5) 根據(jù)ND的個數(shù)η計算第一層學(xué)習(xí)器的權(quán)重wlW及第二層學(xué)習(xí)器的權(quán)重 wl = (N-n)/N w2 = n/N (6) 利用與步驟(2)相同的方法構(gòu)造第二層學(xué)習(xí)器的用戶特征矩陣PI與物品特征矩陣 Q1,并利用與步驟(3)中相同的方法得到訓(xùn)練好的第二層學(xué)習(xí)器的特征矩陣ΡΓ和Q1'; (7) 根據(jù)測試數(shù)據(jù)集D2中的用戶與物品,計算推薦效果: (7a)利用已經(jīng)訓(xùn)練好的兩層學(xué)習(xí)器的參數(shù)P',Q',ΡΓ,Q1'W及兩層學(xué)習(xí)器的權(quán)重wl, w2在測試數(shù)據(jù)集D2上對相應(yīng)用戶與物品計算預(yù)測評分Μ。,;其中,F(xiàn)為用戶與物品特征矩陣的維度,P'uf表示訓(xùn)練好的第一層學(xué)習(xí)器用戶U的特征向 量,Pl'uf為訓(xùn)練好的第二層學(xué)習(xí)器用戶U的特征向量,Q'lf表示訓(xùn)練好的第一層學(xué)習(xí)器物品 i的特征向量,Ql'if表示訓(xùn)練好的第二層學(xué)習(xí)器物品i的特征向量,f=l,2,...,F(xiàn); (7b)根據(jù)計算出的扳。的值給用戶進行物品推薦,由于辰,,,的值是介于1-5之間的數(shù),值 越大表明物品越符合用戶的需求,對于用戶U未選擇的物品i,推薦時將根據(jù)浪,,,的值從大到 小依次進行推薦,推薦的物品個數(shù)由用戶指定。2. 根據(jù)權(quán)利要求1所述的方法,其中步驟(3c)中使用隨機梯度下降法優(yōu)化L,得到第一 層學(xué)習(xí)器訓(xùn)練好的用戶特征矩陣P'與物品特征矩陣Q',按如下步驟進行: (3cl)初始化本次迭代的所有用戶對物品預(yù)測評分的差值的平方和為S = 0,初始化上 一次迭代得到的所有用戶對物品預(yù)測評分的差值的平方和為S'=0; (3c2)令S'=S,S = 0; (3c3)在每次迭代過程中利用用戶和物品的特征矩陣計算訓(xùn)練數(shù)據(jù)中每個用戶對物品 的預(yù)測評分皮;其中,F(xiàn)為用戶與物品特征矩陣的維度,Puf表示第一層學(xué)習(xí)器用戶U的特征向量,Qif表示 第一層學(xué)習(xí)器物品i的特征向量,f = l,2,. . .,F(xiàn); (3c4)計算每個用戶對物品的預(yù)測評分致w與真實評分M.W之間的差值E,W及所有用戶 對物品預(yù)測評分的差值的平方和S:(3c5)對誤差L求偏導(dǎo)數(shù),得到用戶特征矩陣的梯度方向^與物品特征矩陣的梯度方 DL 向帝 ~IJ(3c6)將用戶和物品的特征矩陣沿著負梯度方向迭代更新,得到用戶特征矩陣Puf與物 品特征矩陣化f:(3c7)將上一次迭代得到的所有用戶對物品預(yù)測評分的差值的平方和S'與本次迭代得 到的所有用戶對物品預(yù)測評分的差值的平方和S進行比較,若S〉S',則得到訓(xùn)練好的用戶特 征矩陣P'與物品特征矩陣Q',否則,返回步驟(3c2)。3. 根據(jù)權(quán)利要求1所述的方法,其中步驟(4c)中用戶對相應(yīng)物品的預(yù)測評分,按如下公 式計算:其中霞表示用戶對相應(yīng)物品的預(yù)測評分,F(xiàn)為用戶與物品特征矩陣的維度,Puf表示第 一層學(xué)習(xí)器用戶u的特征向量,Qif表示第一層學(xué)習(xí)器物品i的特征向量,f =1,2,. . .,F(xiàn)。
      【文檔編號】G06F17/30GK105843928SQ201610182000
      【公開日】2016年8月10日
      【申請日】2016年3月28日
      【發(fā)明人】李陽陽, 王東, 焦李成, 劉芳, 尚榮華, 馬文萍, 馬晶晶, 劉若辰
      【申請人】西安電子科技大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1