• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一類BP神經(jīng)網(wǎng)絡(luò)優(yōu)化評分預(yù)測的協(xié)同過濾推薦算法

      2018-10-16 00:52:20王右雪蘇清華胡中波
      關(guān)鍵詞:頻數(shù)神經(jīng)網(wǎng)絡(luò)協(xié)同

      王右雪,蘇清華,胡中波

      (長江大學(xué)信息與數(shù)學(xué)學(xué)院,湖北 荊州 434023)

      更快更精準的推薦結(jié)果一直是國內(nèi)外專家在推薦算法領(lǐng)域所追求的目標。當(dāng)前被廣泛關(guān)注的推薦算法之一是協(xié)同過濾推薦算法[1]。協(xié)同過濾推薦誕生于20世紀90年代,它在解決無特定目標的信息檢索問題上有著顯著的優(yōu)越性[2]。常用的協(xié)同過濾算法依次經(jīng)過數(shù)據(jù)表示、查找最近鄰集合和項目評分推薦等3個階段來完成推薦[3]。在數(shù)據(jù)表示階段,根據(jù)用戶對項目的評分數(shù)據(jù)構(gòu)建用戶對項目的評分矩陣,對于矩陣有降維[4]、填充[5]、變形為圖的結(jié)構(gòu)[6]等代表性方法;在查找最近鄰階段,以用戶間相似性作為標準尋找到目標用戶的相似近鄰集合,尋找方法除皮爾遜相關(guān)系數(shù)法、余弦相似度[7]等原始方法外還有與智能算法、用戶信息相結(jié)合的改進算法[8,9];在項目評分預(yù)測階段,要做到先對用戶的未評分進行評分,然后根據(jù)評分產(chǎn)生推薦結(jié)果。

      由于評分預(yù)測方法直接關(guān)系到最后推薦結(jié)果的優(yōu)劣,所以評分預(yù)測受到多位學(xué)者的重視。自1994年Resnick提出基于平均分的預(yù)測公式后,Resnick公式成為了推薦系統(tǒng)領(lǐng)域最常見的評分公式[10,11],但在其之后也有諸多學(xué)者對評分公式加以改進。Srisuwan P提出了一種基于貝葉斯的評分公式[12];羅亞引入了瀏覽時長的標簽,以便做出更好的決策[13];雷鳴和朱明引入情感的懲罰度概念[14],以達到改善推薦效果的目的。

      以上基于Resnick公式的改進方法均有效地提升了評分預(yù)測的效果,但若能在此階段挖掘出用戶更精準的個性化差異信息,或許能獲得更精準的推薦結(jié)果?;谶@一思路,筆者提出一類使用BP神經(jīng)網(wǎng)絡(luò)優(yōu)化評分預(yù)測的協(xié)同過濾推薦算法(簡記為BP-RF)。BP-RF算法的核心思想是:提出一種基于用戶評分頻數(shù)的BP神經(jīng)網(wǎng)絡(luò)優(yōu)化評分預(yù)測模型,替換相應(yīng)推薦算法中的Resnick模塊。為了檢驗BP-RF算法類的性能,筆者應(yīng)用上述思想改進了皮爾遜推薦(PFC)[7]、模糊混合用戶推薦(FHUR)[8]和改進的Top-N推薦(ITop-N)[15]等3種代表性的算法。試驗結(jié)果表明,BP-RF算法框架能夠有效地降低各推薦算法計算結(jié)果的平均絕對誤差MAE,對于稀疏數(shù)據(jù),改進的算法仍然可以提升系統(tǒng)的推薦精準度。

      1 協(xié)同過濾推薦算法

      圖1 推薦算法流程圖

      協(xié)同過濾推薦算法自1992年被提出來后一直是被廣泛研究和應(yīng)用的推薦方法之一[16]。協(xié)同過濾推薦算法主要通過對歷史數(shù)據(jù)的分析,找到用戶可能感興趣的項目推薦給用戶??梢苑譃閳D1所示的數(shù)據(jù)表示、查找最近鄰集合和項目評分推薦3個階段。

      在數(shù)據(jù)表示階段中,將用戶對項目的原始評分用矩陣R:

      (1)

      來表示,其中Rij代表用戶i對項目j的評分。

      在查找最近鄰階段中,將2個用戶的相似度作為衡量用戶距離的標準。用戶間相似度有著多種計算方法,常見的有以原始的余弦相似性[7]等方法為代表的距離值衡量用戶相似度算法、以皮爾遜相關(guān)系數(shù)[7]等算法為代表的非絕對距離值衡量相似度算法、以模糊混合用戶推薦[8]為代表的結(jié)合用戶信息的推薦方法。計算目標用戶與其他用戶的相似度后,選擇最相似的Top-N個用戶標記為相似近鄰集合NB-Su。

      在尋找到相似近鄰集合后,需要根據(jù)集合內(nèi)各用戶的評分預(yù)測目標用戶的評分。在這一過程中最常使用的是Resnick評分公式[10],計算方法如下:

      (2)

      在預(yù)測到用戶可能感興趣的項目后,將其推薦給目標用戶后完成推薦過程。

      2 改進的BP-RF算法

      改進的BP-RF算法依然保持常用協(xié)同過濾推薦算法的三階段式框架,不同的是,應(yīng)用一個基于BP神經(jīng)網(wǎng)絡(luò)的評分預(yù)測方法替換了推薦算法第3階段中的Resnick模塊。該改進旨在應(yīng)用BP神經(jīng)網(wǎng)絡(luò)挖掘用戶評分頻數(shù)中的差異信息,進而提升算法推薦的精準度。

      2.1 基于BP神經(jīng)網(wǎng)絡(luò)的評分預(yù)測方法

      BP神經(jīng)網(wǎng)絡(luò)理論體系完善,在推薦系統(tǒng)中也有應(yīng)用[17]?;贐P神經(jīng)網(wǎng)絡(luò)的評分預(yù)測方法首先將相似近鄰集合中用戶的評分整理成為各評分項目的評分頻數(shù),然后使用BP神經(jīng)網(wǎng)絡(luò)對數(shù)據(jù)進行學(xué)習(xí)訓(xùn)練,再使用訓(xùn)練完成的神經(jīng)網(wǎng)絡(luò)進行分數(shù)(評分)預(yù)測,最后根據(jù)預(yù)測結(jié)果產(chǎn)生Top-N推薦。

      使用BP神經(jīng)網(wǎng)絡(luò)進行評分預(yù)測,需要統(tǒng)計相似近鄰集中各用戶對不同項目的各評分的總個數(shù),記作Fi=(x1,x2,x3,x4,x5,x6),F(xiàn)i為項目i的評分頻數(shù)。在評分頻數(shù)Fi中,xj分別代表用戶近鄰集中評分為j的用戶個數(shù)。特別地,當(dāng)j=6時,xj代表近鄰集中未評分的用戶個數(shù)。以下為評分頻數(shù)轉(zhuǎn)化示例。

      表1數(shù)據(jù)是某一用戶的8位相似近鄰對3個項目的評分記錄。以項目1為例,8位用戶評1~5分的個數(shù)分別為0,2,1,0,0,并有5位用戶未評分,所以項目1的評分頻數(shù)F1=(0,2,1,0,0,5)。同理可得項目2,3的評分頻數(shù)分別為:F2=(0,0,1,1,1,5);F3=(0,1,1,2,2,2)。

      表1 用戶評分矩陣示例

      由于用戶評分具有稀疏性,有極大可能出現(xiàn)未評分項目,這類數(shù)據(jù)對神經(jīng)網(wǎng)絡(luò)訓(xùn)練無意義,所以定義集合C1,C2,C3,C4確定可用數(shù)據(jù)與無用數(shù)據(jù)。如圖2分類,定義如下:

      C1:目標用戶u評分,且近鄰集合中至少有一人評分的項目集合

      C2:目標用戶u評分,但近鄰集合中無人評分的項目集合

      C3:目標用戶u未評分,但近鄰集合中至少有一人評分的項目集合

      C4:目標用戶u未評分,且近鄰集合中無人評分的項目集合

      在進行評分預(yù)測時,BP神經(jīng)網(wǎng)絡(luò)使用一層神經(jīng)網(wǎng)絡(luò)就可以得到很好的結(jié)果。所以,采用三層BP神經(jīng)網(wǎng)絡(luò)(輸入層,隱含層,輸出層)構(gòu)建預(yù)測模型。訓(xùn)練樣本為LF=[Fd]T,d∈C1,期望輸出值是目標用戶u的正確評分Ru=[Rd]T,d∈C1,網(wǎng)絡(luò)訓(xùn)練完成,進行預(yù)測時輸入值是IF=[Fd]T,d∈C2,期望輸出值即為最終的預(yù)測結(jié)果FRu=[Rd]T,d∈C2。

      BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練以表1數(shù)據(jù)為例,假設(shè)目標用戶u對項目3未進行評分,則C1=[1,2],C2=[3]。此時訓(xùn)練樣本LF=[F1,F2]T,期望輸出值Ru=[2,4]T。BP神經(jīng)網(wǎng)絡(luò)整體數(shù)據(jù)傳輸如圖3所示。

      圖2 數(shù)據(jù)劃分示意圖 圖3 神經(jīng)網(wǎng)絡(luò)工作圖

      BP神經(jīng)網(wǎng)絡(luò)工作分2個部分:首先是訓(xùn)練樣本正向傳輸,該過程中,輸入信息激活各層的函數(shù)直到在輸出層得出結(jié)果;然后是輸出數(shù)據(jù)與期望輸出值的誤差ε計算,誤差ε的反向傳輸可以調(diào)節(jié)各層權(quán)重與閾值,算法偽碼如下:

      訓(xùn)練過程

      輸入:訓(xùn)練樣本LF,期望輸出值Ru,

      最大訓(xùn)練次數(shù):Genmax,迭代次數(shù)gen,

      學(xué)習(xí)速率learn

      Whilegen

      Ifgen=1:

      初始化神經(jīng)網(wǎng)絡(luò)參數(shù)ω,b

      Else:

      修正ωi,b

      b=b+learn*ε

      使用Sigmoid函數(shù)預(yù)測輸出值

      將R′與R的差值ε反饋回神經(jīng)網(wǎng)絡(luò)參數(shù),

      ε=R′-R

      gen=gen+1

      輸出:訓(xùn)練完畢的ωi,b

      預(yù)測過程:

      輸出:FRu

      2.2 基于BP神經(jīng)網(wǎng)絡(luò)評分預(yù)測的推薦算法

      圖4 改進后推薦算法

      基于BP神經(jīng)網(wǎng)絡(luò)評分預(yù)測的推薦算法如圖4所示:

      改進后的協(xié)同過濾推薦算法(BP-RF)步驟如下:

      Step1:數(shù)據(jù)表示。根據(jù)用戶瀏覽歷史,構(gòu)建矩陣R。

      Step2:尋找相似用戶集合。選擇一個相似度衡量的標準,并根據(jù)標準選擇最相似的N個用戶構(gòu)成目標用戶的相似近鄰集NB-Su。

      Step3:BP神經(jīng)網(wǎng)絡(luò)項目評分預(yù)測。使用BP神經(jīng)網(wǎng)絡(luò)根據(jù)第2步中的相似近鄰集NB-Su的評分頻數(shù)預(yù)測目標用戶未評分項的分數(shù)進行預(yù)測。預(yù)測完后根據(jù)評分結(jié)果推薦給用戶會喜歡的項目,完成推薦。

      3 試驗

      3.1 試驗設(shè)計與參數(shù)設(shè)置

      設(shè)計了2組試驗。第1組試驗驗證BP-RF算法框架對推薦算法的提升效果,試驗選取PFC算法、FHUR算法和ITop-N算法作為被BP-RF算法框架提升的對象。其中,PFC算法是經(jīng)典的推薦算法代表,F(xiàn)HUR算法是挖掘用戶信息的推薦算法代表,ITop-N算法是經(jīng)過聚類并考慮用戶、項目雙重相似性的算法代表。改進后的算法依次簡記為BP-RF-pfc、BP-RF-fhur和BP-RF-itopn。

      試驗過程中的參數(shù)設(shè)置如下:輸入層節(jié)點數(shù):6;隱含層節(jié)點數(shù):7;輸出層節(jié)點數(shù):1;迭代次數(shù):1000;樣本數(shù)據(jù)大小:card(C1);學(xué)習(xí)速率:0.9;容錯率:0.01;激活函數(shù):Sigmoid函數(shù)。

      第2組試驗是為了驗證BP神經(jīng)網(wǎng)絡(luò)評分預(yù)測模塊與算法結(jié)合進行推薦后,推薦效果與用戶的評價個數(shù)之間的關(guān)系。測試集每20個用戶一組畫出其評分個數(shù)的箱型圖,然后分析算法改進前后的MAE值與用戶評分個數(shù)的關(guān)系。

      3.2 數(shù)據(jù)集與評價指標

      選取推薦領(lǐng)域常用的Movie-lens-100K數(shù)據(jù)集作為試驗數(shù)據(jù)集。該數(shù)據(jù)集內(nèi)有多組訓(xùn)練數(shù)據(jù)與測試數(shù)據(jù),選取任意一組訓(xùn)練數(shù)據(jù)作為試驗訓(xùn)練集,對應(yīng)測試數(shù)據(jù)前80個用戶集合作為測試集,然后進行試驗。

      試驗效果采用平均絕對誤差MAE作為評價指標[18],驗證算法改進的效果。MAE值是通過計算預(yù)測的項目評分和實際項目評分之間的偏差度來說明評分預(yù)測結(jié)果的準確性。MAE值越小,推薦效果越佳。當(dāng)用戶實際評分集合表示為{qi|i=1,2,…,n},預(yù)測的用戶評分值表示為{pi|i=1,2,…,n}時,MAE計算公式為:

      (3)

      3.3 試驗結(jié)果及其分析

      圖5 推薦結(jié)果對比

      圖5是第1組試驗的結(jié)果圖,由圖5可以看出,筆者提出的BP神經(jīng)網(wǎng)絡(luò)優(yōu)化評分預(yù)測方法的結(jié)果 (每組右側(cè)數(shù)據(jù))與3種算法未改進前的結(jié)果(每組左邊數(shù)據(jù))對比,改進后算法顯著提高了推薦效果。對于相對成熟的模糊混合用戶推薦系統(tǒng)和改進后的Top-N算法,MAE值分別降低了4.3%和5.2%,針對原始的皮爾遜推薦算法,改進后算法推薦效率大大提升,使MAE值降低了7.4%。

      接下來是測試集的分組試驗。將Movie-Lens-100K的測試數(shù)據(jù)集每20個用戶劃分為一組并進行箱形圖繪制,然后將每組數(shù)據(jù)都進行3組算法對比試驗,結(jié)果如圖6所示。

      圖6 數(shù)據(jù)集分組分析及試驗數(shù)據(jù)結(jié)果

      從圖6可知,第2組測試數(shù)據(jù)評分密度最均勻?。凰惴ㄔ诘?組的推薦效果有所提升,第4組數(shù)據(jù)平均評分密度較大,但評分密度差異同樣較大,所以推薦質(zhì)量較第2組略差;在數(shù)據(jù)的密度不同的情況下,3組算法的MAE值表明:不論數(shù)據(jù)情況是稀疏或稠密,使用神經(jīng)網(wǎng)絡(luò)進行評分預(yù)測均可以改善原始算法的推薦效果。

      4 結(jié)語

      針對協(xié)同過濾算法中Resnick評分模塊及其相近改進模塊的不足,提出了一類應(yīng)用BP神經(jīng)網(wǎng)絡(luò)優(yōu)化評分預(yù)測的協(xié)同過濾推薦算法,該類算法應(yīng)用BP神經(jīng)網(wǎng)絡(luò)挖掘出用戶評分頻數(shù)間的差異信息來指導(dǎo)推薦。在Movie-Lens-100K數(shù)據(jù)集上的數(shù)值試驗展現(xiàn)了該類算法的優(yōu)越性。此外,BP-RF算法與其他算法融合度較高,可改進多種依靠評分公式產(chǎn)生推薦結(jié)果的推薦系統(tǒng),使用范圍廣泛。

      猜你喜歡
      頻數(shù)神經(jīng)網(wǎng)絡(luò)協(xié)同
      蜀道難:車與路的協(xié)同進化
      神經(jīng)網(wǎng)絡(luò)抑制無線通信干擾探究
      電子制作(2019年19期)2019-11-23 08:42:00
      “四化”協(xié)同才有出路
      汽車觀察(2019年2期)2019-03-15 06:00:50
      中考頻數(shù)分布直方圖題型展示
      三醫(yī)聯(lián)動 協(xié)同創(chuàng)新
      學(xué)習(xí)制作頻數(shù)分布直方圖三部曲
      基于神經(jīng)網(wǎng)絡(luò)的拉矯機控制模型建立
      重型機械(2016年1期)2016-03-01 03:42:04
      復(fù)數(shù)神經(jīng)網(wǎng)絡(luò)在基于WiFi的室內(nèi)LBS應(yīng)用
      頻數(shù)和頻率
      基于支持向量機回歸和RBF神經(jīng)網(wǎng)絡(luò)的PID整定
      正阳县| 普安县| 富锦市| 翁牛特旗| 潜江市| 嘉黎县| 台南县| 池州市| 惠来县| 黄龙县| 溆浦县| 台山市| 梁平县| 安多县| 台东市| 河西区| 化德县| 五大连池市| 龙口市| 普兰县| 大关县| 浦北县| 忻城县| 固始县| 连云港市| 登封市| 乐平市| 龙海市| 和龙市| 宜兴市| 江安县| 寻乌县| 偏关县| 八宿县| 繁峙县| 内乡县| 克拉玛依市| 阳朔县| 高碑店市| 德格县| 太原市|