• 
    

    
    

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

      ?

      簡化的Slope One在線評分預(yù)測算法

      2018-04-12 07:18:09孫麗梅EjikeIfeanyiMichael曹科研
      計算機(jī)應(yīng)用 2018年2期
      關(guān)鍵詞:復(fù)雜度預(yù)測測試

      孫麗梅,李 悅,Ejike Ifeanyi Michael,曹科研

      (沈陽建筑大學(xué) 信息與控制工程學(xué)院,沈陽 110168)(*通信作者電子郵箱limeisun@126.com)

      0 引言

      在當(dāng)今大數(shù)據(jù)時代,各種基于互聯(lián)網(wǎng)的信息系統(tǒng)普遍存在嚴(yán)重的信息過載問題。推薦系統(tǒng)可以通過對信息進(jìn)行過濾從而為用戶提供個性化的推薦結(jié)果,因此已經(jīng)成為大數(shù)據(jù)時代信息處理的有效工具。協(xié)同過濾算法是推薦系統(tǒng)中最常用的算法之一,它無需像基于內(nèi)容的推薦算法[1-3]那樣考慮內(nèi)容的表示形式和相似度計算方法,而是主要通過推薦系統(tǒng)中用戶的歷史行為數(shù)據(jù)獲取用戶或項目的偏好特征進(jìn)行預(yù)測,來向用戶推薦感興趣的商品或信息[4]。協(xié)同過濾算法通常分為基于記憶(Memory-based)的協(xié)同過濾和基于模型(Model-based)的協(xié)同過濾,其中基于記憶的協(xié)同過濾應(yīng)用較廣,又分為基于用戶(User-based)的協(xié)同過濾和基于項目(Item-based)的協(xié)同過濾[5-7],這類推薦算法先根據(jù)歷史數(shù)據(jù)進(jìn)行訓(xùn)練,然后根據(jù)訓(xùn)練結(jié)果預(yù)測目標(biāo)用戶對項目的評分,最后將評分高的項目推薦給用戶。

      推薦系統(tǒng)面臨的主要問題中,數(shù)據(jù)稀疏問題一直是影響推薦質(zhì)量的重要原因之一。推薦系統(tǒng)中,由于每個用戶選擇的項目數(shù)量有限,因此用戶對大多數(shù)項目的評分為空,導(dǎo)致預(yù)測不準(zhǔn)確,這就是數(shù)據(jù)稀疏問題。為了解決數(shù)據(jù)稀疏問題,一些研究者提出通過基于隨機(jī)游走[8]、多層最近鄰[9]、概率矩陣分解建模[10]等方法先對空評分預(yù)測。這些方法雖然在一定程度上提高了推薦精度,但也增加了算法的復(fù)雜性,不利于在線推薦。另一些研究者提出通過奇異值分解(Singular Value Decomposition, SVD)減少項目空間維數(shù)的方法[11-12],但降維會導(dǎo)致信息損失,在項目空間維數(shù)很高時降維的效果難以保證[13]。因此,本文考慮選擇實時性較好的在線推薦算法來進(jìn)一步緩解數(shù)據(jù)稀疏問題,因為實時性較好的推薦算法可以使新的評分記錄迅速補(bǔ)充到歷史評分記錄中,能有效解決歷史評分的數(shù)據(jù)稀疏問題。

      Slope One[14]算法本質(zhì)上是一種基于項目的協(xié)同過濾推薦算法,與其他的基于項目的推薦算法不同,該算法采用項目之間的歷史評分差來度量項目之間的相似程度,然后對項目評分進(jìn)行預(yù)測,對稀疏數(shù)據(jù)有較好的適應(yīng)性。由于Slope One算法易于實現(xiàn)、預(yù)測速度快[15],比傳統(tǒng)的Item-based協(xié)同過濾算法預(yù)測精度高[16],被應(yīng)用于許多在線推薦系統(tǒng)中,如hitflip DVD推薦系統(tǒng)、Value Investing News 股票新聞網(wǎng)站、AllTheBests 購物推薦引擎等。

      雖然Slope One算法比較適合實時在線評分預(yù)測,但在訓(xùn)練階段需要花費大量時間計算任意兩個項目的評分差。由于推薦系統(tǒng)的評分表中只保存單個用戶對單個項目的評分,計算任意兩個項目的評分差相當(dāng)于數(shù)據(jù)庫中評分表的自連接操作,時間和空間開銷極大,因此算法的訓(xùn)練階段通常需要離線進(jìn)行。而推薦系統(tǒng)往往應(yīng)用于數(shù)據(jù)規(guī)模增長迅速、全年不間斷運行的大型電子商務(wù)系統(tǒng),在離線訓(xùn)練的間隔內(nèi),評分?jǐn)?shù)據(jù)仍在迅速增長。

      本文在Slope One算法的基礎(chǔ)上進(jìn)一步簡化Slope One算法中最耗時的計算評分差的步驟,以項目的歷史平均分計算不同項目之間的評分差,進(jìn)而提出了Simplified Slope One算法。這樣一方面可以降低算法的時間復(fù)雜度和空間復(fù)雜度,使之無需耗時的離線計算,更加適用于需要實時推薦的在線推薦系統(tǒng);另一方面,簡化后的算法不需要兩個項目被相同的用戶評價過才能計算評分差,任何兩個項目只要有歷史評分記錄就可以計算評分差,有效提高了評分?jǐn)?shù)據(jù)的利用率,對稀疏數(shù)據(jù)有更好的適應(yīng)性。

      本文提出的Simplified Slope One算法預(yù)測準(zhǔn)確性與原Slope One算法接近,除了保持Slope One算法原有的簡單有效特性之外,主要具有以下特點:1)比原Slope One算法更易于實現(xiàn)和維護(hù);2)降低了原Slope One算法的時間復(fù)雜度和空間復(fù)雜度;3)新增加的評分可以立即用于預(yù)測,易于實時在線推薦;4)提高了評分?jǐn)?shù)據(jù)利用率,解決推薦系統(tǒng)中的數(shù)據(jù)稀疏問題。

      1 Slope One及其相關(guān)算法

      推薦系統(tǒng)中,假設(shè)有m個用戶和n個項目,設(shè)用戶集合為U={U1,U2,…,Um},項目集合為I={I1,I2,…,In},用戶對項目的評分為m×n的矩陣,用R(m,n)表示,其中rij代表用戶Ui對項目Ij的評分,評分為0代表未評分。評分矩陣如表1所示。

      Slope One算法是一種經(jīng)典的基于評分預(yù)測的算法,采用簡單的基于f(x)=x+b形式的線性回歸公式進(jìn)行預(yù)測,參數(shù)x為目標(biāo)用戶對參照項目的評分,參數(shù)b為參照用戶對參照項目和目標(biāo)項目評分的平均差,f(x)即為預(yù)測的目標(biāo)用戶對目標(biāo)項目的評分。其中b是由所有同時評價過這兩個項目的參照用戶求得評分差之后再求平均得到。實際預(yù)測中,會有大量的參照用戶和參照項目,因此需要對用戶和項目分別加權(quán)平均處理。

      表1 評分矩陣R(m,n)Tab. 1 Rating matrix R(m,n)

      圖1演示了當(dāng)只有一個參照用戶UserA和一個參照項目Itemi時,如何預(yù)測目標(biāo)用戶UserB對目標(biāo)項目Itemj的評分的方法,“?”代表用戶B對項目j的預(yù)測評分,計算公式為:

      rBj=rBi+(rAj-rAi)

      (1)

      圖1 基本Slope One算法示意圖Fig. 1 Schematic diagram of basic Slope One algorithm

      基本的Slope One預(yù)測算法首先采用式(2)計算目標(biāo)項目與參照物項目的平均評分差devj,k,再采用式(3)預(yù)測目標(biāo)用戶u對目標(biāo)項目的評分P(u)j。

      (2)

      (3)

      其中:Ijk為評價過項目Ij、Ik的參照用戶集合;uj表示用戶u對項目Ij的評分;Rj為與項目Ij同時被評價過的參照項目集合;card(Rj)代表集合Rj中的參照項目個數(shù)。

      Slope One算法的作者同時提出了兩種改進(jìn)算法:Weighted Slope One算法和BI-Polar Slope One算法。前者以同時評價過項目Ij、Ik的用戶數(shù)作為這兩個項目評分差的權(quán)重;后者以用戶平均分作為用戶對項目喜歡和不喜歡的判斷閾值,將用戶對項目的評分分成喜歡評分和不喜歡評分,分別計算喜歡評分差和不喜歡評分差,再加權(quán)平均進(jìn)行預(yù)測。

      許多研究者在Slope One算法基礎(chǔ)上提出了一些改進(jìn),如引入SVD進(jìn)行數(shù)據(jù)預(yù)處理[17],采用動態(tài)k近鄰[18]、基于用戶的協(xié)同過濾算法[19-20]對用戶進(jìn)行篩選,采用Pearson相似性計算進(jìn)行數(shù)據(jù)處理[21],預(yù)先對項目進(jìn)行聚類處理[22],對用戶進(jìn)行模糊聚類處理[23]等,這些改進(jìn)雖然可以在一定程度上提高預(yù)測評分的準(zhǔn)確性,但往往增加了算法的復(fù)雜度。因此,本文的研究重點是如何在不影響Slope One算法推薦準(zhǔn)確性的前提下盡量降低其時間和空間復(fù)雜度。

      2 Simplified Slope One算法

      2.1 Slope One算法的參照用戶和參照項目

      Slope One算法中,用戶對項目的預(yù)測評分可由參照用戶對參照項目的評分計算得到。被同一用戶評價過的任意兩個項目可互為參照項目。在只有較少的參照用戶和參照項目時,訓(xùn)練和預(yù)測算法都比較簡單,但實際推薦時,推薦系統(tǒng)中的參照用戶和參照項目都非常多。以Movielens數(shù)據(jù)集為例,943個用戶貢獻(xiàn)了10萬條評分記錄,平均每個用戶評價了106個項目,即平均每個項目有105個參照項目。

      圖2演示了用戶C預(yù)測項目k時,同時有2個參照用戶和2個參照項目時的預(yù)測過程??梢钥闯觯A(yù)測目標(biāo)用戶對目標(biāo)項目的評分時,由于參照用戶和參照項目各代表一個維度,因此當(dāng)推薦系統(tǒng)中有m個用戶和n個項目時,算法的時間復(fù)雜度趨近于O(mn)。

      圖2 多個參照用戶和參照項目的Slope One算法示意圖Fig. 2 Schematic diagram of Slope One algorithm with multiple referential users and items

      2.2 Simplified Slope One算法

      簡化后項目i,j的評分差devj,i根據(jù)式(4)計算。

      (4)

      以圖3為例,簡化后,參照用戶A、B…合并為全體用戶,用戶這個維度的時間復(fù)雜度從O(m)降至O(1)。兩個項目的平均分之差仍能代表兩個項目在評分上的差異。這個簡化使原算法中由于參照用戶過多而導(dǎo)致的時間和空間復(fù)雜度較高的現(xiàn)象得到改善,另外也解決了數(shù)據(jù)稀疏問題,因為在原Slope One算法中,用戶至少貢獻(xiàn)2個以上的歷史評分才對預(yù)測其他評分有參照價值,而簡化后的算法中,用戶即使只有1個歷史評分,也對項目歷史平均分有貢獻(xiàn)。

      圖3 Simplified Slope One算法示意圖Fig. 3 Schematic diagram of Simplified Slope One algorithm

      相應(yīng)地,預(yù)測目標(biāo)用戶UserC對目標(biāo)項目Itemj的評分公式變?yōu)椋?/p>

      (5)

      預(yù)測目標(biāo)用戶u對目標(biāo)項目j的評分p(u)j時,首先找出目標(biāo)用戶評價過的項目作為參照項目集合Rj,再根據(jù)式(6)預(yù)測評分,其中rui為目標(biāo)用戶u對參照項目i的歷史評分。

      (6)

      2.3 時間復(fù)雜度和空間復(fù)雜度分析

      原Slope One算法中,由于預(yù)測采用的線性回歸模型時間復(fù)雜度較低,比較適合實時預(yù)測;但與其他推薦算法類似,訓(xùn)練的時間較長,需要離線計算。推薦系統(tǒng)的歷史信息中只保存單個用戶對單個項目的評分,因此要想得到兩個項目的評分差,需要進(jìn)行復(fù)雜的連接操作。評分差簡化后的Slope One算法中,較好地降低了算法訓(xùn)練的時間和空間復(fù)雜度。

      設(shè)推薦系統(tǒng)中共有m個用戶,n個項目,N個評分。

      1)訓(xùn)練階段時間復(fù)雜度對比。

      原Slope One算法中,訓(xùn)練階段的主要計算單位為計算任意兩個項目之間的評分差。計算每對項目的評分差共需要n(n-1)/2 個時間單位,時間復(fù)雜度為O(n2)。而Simplified Slope One算法中只需要維護(hù)n個項目的平均分,因此時間復(fù)雜度為O(n)。

      2)預(yù)測階段時間復(fù)雜度對比。

      預(yù)測階段的主要計算單位為查找任意兩個項目的評分差。原Slope One算法中,查找每對項目的評分差需要用兩個項目id作為關(guān)鍵字進(jìn)行查找,雙關(guān)鍵字查找次數(shù)與具體數(shù)據(jù)庫的實現(xiàn)有關(guān),時間復(fù)雜度介于O(n)和O(n2)之間。Simplified Slope One算法中,只需要分別查找這兩個項目的平均分,然后增加一次減法計算,時間復(fù)雜度仍為O(n)。

      3)空間復(fù)雜度對比。

      原Slope One算法中,要存儲任意兩個項目之間的評分差,需存儲2個項目id、總評分次數(shù)、總評分差,假設(shè)各字段所需單位相同,所需存儲空間為4n(n-1)/2=2n(n-1),即空間復(fù)雜度為O(n2)。而Simplified Slope One算法中只需要存儲n個項目的項目id、總評分次數(shù)、總評分,所需空間為3n,因此空間復(fù)雜度仍為O(n)。

      Simplified Slope One算法在時間復(fù)雜度和空間復(fù)雜度方面都優(yōu)于原Slope One算法。

      3 實驗與結(jié)果分析

      3.1 時間敏感的Movielens數(shù)據(jù)集分析

      本文采用推薦系統(tǒng)研究中常用的由美國明尼蘇達(dá)大學(xué)GroupLens研究小組提供的Movielens電影評分?jǐn)?shù)據(jù)集(10萬條評分版本)進(jìn)行實驗。該數(shù)據(jù)集包含943個用戶對1 682部電影的10萬條評分記錄,評分范圍為1~5,每個用戶至少評價20部電影,時間跨度約7個月。數(shù)據(jù)集中的評分記錄由用戶id、項目id、評分、時間戳組成。MovieLens數(shù)據(jù)集的數(shù)據(jù)稀疏度為93.7%,即評分矩陣中有93.7%的評分為空。

      MovieLens提供5個子數(shù)據(jù)集u1~u5,每個子數(shù)據(jù)集中包含一個訓(xùn)練集和一個測試集,分別是將全部評分記錄按80%和20%比例隨機(jī)選擇,用于交叉驗證。查詢結(jié)果顯示,這5個子數(shù)據(jù)集并不是嚴(yán)格按照評價的時間排序的。正常情況下,訓(xùn)練集為歷史記錄,評分時間應(yīng)該先于測試集的記錄評分時間,但實際的時間戳如表2所示。

      表2 Movielens數(shù)據(jù)集時間戳統(tǒng)計Tab. 2 Timestamp statistics of Movielens dataset

      新用戶和新項目的冷啟動問題是數(shù)據(jù)稀疏問題的一個特例。實驗數(shù)據(jù)中,如果測試集中的用戶在訓(xùn)練集中無評分記錄,則視該用戶為新用戶,反之為非新用戶。同理,如果測試集中的項目在訓(xùn)練集中無評分記錄,則視該項目為新項目,反之為非新項目。這5個子數(shù)據(jù)集的測試集中非新用戶和非新項目的統(tǒng)計結(jié)果如表3所示。

      由表3統(tǒng)計結(jié)果可知,在這5個子數(shù)據(jù)集中,測試集中根本不存在新用戶,新項目的比例平均為2.2%。以u5為例,整個測試集的20 000條評分記錄中,非新用戶對非新項目的評分?jǐn)?shù)為19 964,占全部評分記錄的99.8%。因此可見,采用Movielens數(shù)據(jù)集中事先劃分好的u1~u5子數(shù)據(jù)集進(jìn)行實驗時由于新用戶和新項目引起的冷啟動問題比較少。

      在實際應(yīng)用中,推薦系統(tǒng)的訓(xùn)練集為歷史記錄,評分時間應(yīng)先于測試集的記錄評分時間。因此,應(yīng)依據(jù)此原則劃分?jǐn)?shù)據(jù)集,即將全部評分?jǐn)?shù)據(jù)先按照時間戳排序后再按比例劃分成訓(xùn)練集和測試集,簡稱時間戳數(shù)據(jù)集。例如按80%比例劃分訓(xùn)練集時,將按照時間戳排序的全部評分記錄的前80%作為訓(xùn)練集,后20%作為測試集,這樣劃分得到的數(shù)據(jù)集為80%時間戳數(shù)據(jù)集。表4為分別按50%~90%比例劃分訓(xùn)練集時,測試集中的非新用戶和非新項目所占比例情況。

      由表4可知,按照時間戳劃分的測試集中,新用戶的比例非常高,平均達(dá)到65.1%,新項目平均約為7.8%。同時也可以看出,隨著訓(xùn)練集比例的擴(kuò)大,非新用戶和非新項目的比例上升比較明顯。

      表3 Movielens子數(shù)據(jù)集中的非新用戶和非新項目統(tǒng)計Tab. 3 Statistics of non-new users and non-new items in Movielens subdataset

      表4 按時間戳劃分?jǐn)?shù)據(jù)集中的非新用戶和非新項目統(tǒng)計Tab. 4 Statistics of non-new users and non-new items by using timestamp of dataset

      Movielens數(shù)據(jù)集本身已經(jīng)經(jīng)過篩選,只保留了評分?jǐn)?shù)在20以上的用戶的評分?jǐn)?shù)據(jù),因此,真實的推薦系統(tǒng)中數(shù)據(jù)稀疏問題和冷啟動問題將更加嚴(yán)重。

      本文采用推薦系統(tǒng)中常用的平均絕對偏差(Mean Absolute Error, MAE)作為預(yù)測評分準(zhǔn)確性的度量標(biāo)準(zhǔn),其計算公式如式(7)所示,MAE值越小越好。其中測試集中的評分?jǐn)?shù)為N,實際用戶評分集合為{q1,q2,…,qN},預(yù)測得到的評分集合為{p1,p2,…,pN}。

      (7)

      新用戶和新項目在測試集中所占的比例直接影響預(yù)測評分的準(zhǔn)確性。以常用的基于用戶的協(xié)同過濾(User-Based Collaborative Filtering, UBCF)推薦算法和Weighted Slope One算法為例,在不按時間戳排序劃分的數(shù)據(jù)集u1~u5上的MAE測試結(jié)果比按照時間戳排序取前80%作為訓(xùn)練集劃分的數(shù)據(jù)集(以下簡稱timestamp80)低13.5%。測試時近鄰數(shù)k默認(rèn)設(shè)置為10,測試結(jié)果如表5所示。

      從表5中可看出,測試集中新用戶和新項目的比例越高,MAE越大,表明評分預(yù)測越不準(zhǔn)確,因為只有非新用戶和非新項目的歷史評分才能貢獻(xiàn)預(yù)測。而時間戳數(shù)據(jù)集timestamp80中,數(shù)據(jù)的稀疏程度遠(yuǎn)遠(yuǎn)高于u1~u5子數(shù)據(jù)集。真實的推薦系統(tǒng)中,歷史數(shù)據(jù)必然先發(fā)生于測試數(shù)據(jù),也就是說,要模擬真實的推薦系統(tǒng),應(yīng)該嚴(yán)格按照時間戳來劃分訓(xùn)練集和測試集。因此本文的實驗在對MovieLens數(shù)據(jù)集按照時間戳排序后劃分得到的訓(xùn)練集和測試集上進(jìn)行。

      表5 Movielens和timestamp80數(shù)據(jù)集的平均絕對偏差對比Tab. 5 MAE comparison of Movielens and timestamp80 dataset

      3.2 實驗及結(jié)果分析

      將Simplified Slope One算法同改進(jìn)前的Weighted Slope One算法、BI-Polar Slope One算法以及傳統(tǒng)的基于用戶的協(xié)同過濾算法UBCF(k=10)進(jìn)行對比實驗。實驗采用的數(shù)據(jù)集為Movielens數(shù)據(jù)集全部943個用戶對1 682部電影的10萬條評分記錄。為了模擬真實的推薦系統(tǒng)環(huán)境,所有評分記錄嚴(yán)格按照時間戳排序,然后依照訓(xùn)練集比例依次從50%~90%劃分出訓(xùn)練集,剩余記錄為測試集。實驗環(huán)境的主要參數(shù)如下:Intel Core i7- 4510U CPU;8 GB內(nèi)存;Windows 8.1(64位)操作系統(tǒng);MySQL 5.5數(shù)據(jù)庫;jdk1.7開發(fā)環(huán)境;Java語言。

      表6所示為隨機(jī)抽取500個用戶,按50%比例劃分訓(xùn)練集和測試集時,各算法的訓(xùn)練時間和數(shù)據(jù)存儲空間的對比??梢钥闯?,由于推薦系統(tǒng)中的項目數(shù)比用戶數(shù)大得多,因此基于項目的Weighted Slope One和BI-polar Slope One算法的訓(xùn)練時間和存儲空間都遠(yuǎn)遠(yuǎn)大于基于用戶的UBCF算法;而本文提出的Simplified Slope One算法雖然也是基于項目的推薦算法,但由于簡化后降低了時間復(fù)雜度和空間復(fù)雜度,因此,其訓(xùn)練時間和數(shù)據(jù)存儲空間均遠(yuǎn)遠(yuǎn)小于其他算法。

      表6 訓(xùn)練時間和數(shù)據(jù)存儲空間對比Tab. 6 Comparison of training time and data storage space

      圖4、5為各算法預(yù)測評分準(zhǔn)確性的測試結(jié)果,通過計算推薦算法對測試數(shù)據(jù)集中用戶的預(yù)測評分與其實際評分之間的平均差來度量預(yù)測評分的準(zhǔn)確性,采用的準(zhǔn)確性度量指標(biāo)為平均絕對偏差MAE。其中圖4為隨機(jī)抽取500個用戶的結(jié)果,圖5則為采用全部943個用戶的結(jié)果。

      從圖4、5中可以看出,在嚴(yán)格按照時間戳排序后劃分的數(shù)據(jù)集中,MAE整體偏高,這是由于新用戶和新項目所占比例較高,數(shù)據(jù)較稀疏。但本文提出的Simplified Slope One算法與原來的Weighted Slope One算法的MAE幾乎重合,圖5中,僅在訓(xùn)練集比例超過80%之后略高于Weighted Slope One算法,而通常推薦系統(tǒng)中訓(xùn)練集在全部數(shù)據(jù)中所占比例都小于80%,這表明本文提出的Simplified Slope One算法雖然簡化了原算法的計算評分差過程,但對預(yù)測評分的準(zhǔn)確性影響較小,而且無論時間復(fù)雜度還是空間復(fù)雜度都降低至僅為O(n),遠(yuǎn)優(yōu)于Weighted Slope One算法和BI-polar Slope One算法,因此,Simplified Slope One算法能更好地適應(yīng)數(shù)據(jù)規(guī)模增長迅速的推薦系統(tǒng)。

      圖4 算法的MAE對比(隨機(jī)選取500個用戶)Fig. 4 MAE Comparison among algorithms (500 randomly selected users)

      圖5 算法的MAE對比(采用全部943個用戶)Fig. 5 MAE Comparison among algorithms (all 943 users)

      4 結(jié)語

      本文提出了Simplified Slope One算法,以項目的歷史平均評分之差代替原Slope One算法中相同用戶同時評價兩項目得到的評分差。由于推薦系統(tǒng)中只保存單個用戶對單個項目的評分,因此原算法中需要執(zhí)行耗時的表連接操作才能得到任意兩項目的評分差,而簡化后的Simplified Slope One算法將時間復(fù)雜度和空間復(fù)雜度均降低至O(n)。此外,Simplified Slope One算法不需要用戶同時評價兩個項目才能計算評分差,使任何兩個項目只要有歷史評分記錄就可以計算評分差,因而有效提高了評分?jǐn)?shù)據(jù)的利用率。Simplified Slope One算法減少了訓(xùn)練時間以后,可以縮短訓(xùn)練周期,使新的評分記錄迅速補(bǔ)充到歷史記錄中,對后面的預(yù)測起到訓(xùn)練作用,有效地解決了測試集中的數(shù)據(jù)稀疏問題。在按照時間戳排序后劃分的Movielens數(shù)據(jù)集上的測試結(jié)果表明,Simplified Slope One算法對評分預(yù)測的準(zhǔn)確性與原 Slope One算法非常接近,但時間復(fù)雜度和空間復(fù)雜度均優(yōu)于原Slope One算法,因此更適合在數(shù)據(jù)規(guī)模增長迅速的大型推薦系統(tǒng)中應(yīng)用。

      參考文獻(xiàn):

      [1]LOPS P, de GEMMIS M, SEMERARO G, et al. Content-based and collaborative techniques for tag recommendation: an empirical evaluation [J]. Journal of Intelligent Information Systems, 2013, 40(1): 41-61.

      [2]FENG S, CAO J, WANG J, et al. Recommendations based on comprehensively exploiting the latent factors hidden in items’ ratings and content [J]. ACM Transactions on Knowledge Discovery from Data, 2017, 11(3): Article No. 35.

      [3]GEORGIOU T, EL ABBADI A, YAN X. Extracting topics with focused communities for social content recommendation [C]// Proceedings of the 2017 ACM Conference on Computer Supported Cooperative Work and Social Computing. New York: ACM, 2017: 1432-1443.

      [4]ALEXANDRIDIS G, SIOLAS G, STAFYLOPATIS A. Enhancing social collaborative filtering through the application of non-negative matrix factorization and exponential random graph models [J]. Data Mining & Knowledge Discovery, 2017, 31(4): 1031-1059.

      [5]WANG J, DE VRIES A P, REINDERS M J T. Unifying user-based and item-based collaborative filtering approaches by similarity fusion [C]// SIGIR 2006: Proceedings of the 29th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval. New York: ACM, 2006: 501-508.

      [6]SARWAR B, KARYPIS G, KONSTAN J, et al. Item-based collaborative filtering recommendation algorithms [C]// WWW ’01: Proceedings of the 10th International Conference on World Wide Web. New York: ACM, 2001: 285-295.

      [7]JAMALI M, ESTER M. Trustwalker: a random walk model for combining trust-based and item-based recommendation [C]// KDD ’09: Proceedings of the 15th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York: ACM, 2009: 397-406.

      [8]YILDIRIM H, KRISHNAMOORTHY M S. A random walk method for alleviating the sparsity problem in collaborative filtering [C]// RecSys ’08: Proceedings of the 2008 ACM Conference on Recommender Systems. New York: ACM, 2008: 131-138.

      [9]YIN F. Sparsity-tolerated algorithm with missing value recovering in user-based collaborative filtering recommendation [J]. Journal of Information & Computational Science, 2013, 10(15): 4939-4948.

      [10]REN X, SONG M, HAIHONG E, et al. Context-aware probabilistic matrix factorization modeling for point-of-interest recommendation [J]. Neurocomputing, 2017, 241: 38-55.

      [11]SARWAR B M, KARYPIS G, KONSTAN J A, et al. Application of dimensionality reduction in recommender system — a case study [C]// Proceedings of the 2000 ACM WebKDD Web Mining for E-Commerce Workshop. New York: ACM, 2000: 82-90.

      [12]柴華,劉建毅.一種改進(jìn)的Slope One推薦算法研究[J].信息網(wǎng)絡(luò)安全,2015(2):77-81. (CHAI H, LIU J Y. Research on improved Slope One recommendation algorithm [J]. Netinfo Security, 2015(2): 77-81.)

      [13]孫麗梅,李晶皎,孫煥良.基于動態(tài)k近鄰的Slope One協(xié)同過濾推薦算法[J].計算機(jī)科學(xué)與探索,2011,5(9):857-864. (SUN L M, LI J J, SUN H L. Slope One collaborative filtering recommendation algorithm based on dynamick-nearest-neighborhood [J]. Journal of Frontiers of Computer Science and Technology, 2011, 5(9): 857-864.)

      [14]LEMIRE D, MACLACHLAN A. Slope One predictors for online rating-based collaborative filtering [C]// SDM ’05: Proceedings of the 2005 SIAM Data Mining Conference. Philadelphia, PA: Society for Industrial and Applied Mathematics (SIAM), 2005: 471-475.

      [15]JANNACH D, ZANKER M, FELFERNIG A, et al.推薦系統(tǒng)[M].蔣凡,譯.北京:人民郵電出版社,2013:26-28. (JANNACH D, ZANKER M, FELFERNIG A, et al. Recommender Systems [M]. JIANG F, translated. Beijing: Posts & Telecom Press, 2013: 26-28.)

      [16]董麗,邢春曉,王克宏.基于不同數(shù)據(jù)集的協(xié)作過濾算法評測[J].清華大學(xué)學(xué)報(自然科學(xué)版),2009,49(4):590-594. (DONG L, XING C X, WANG K H. Collaborative filtering algorithm evaluation for various datasets [J]. Journal of Tsinghua University (Science and Technology), 2009, 49(4): 590-594.)

      [17]LIU Y, LIU D, XIE H, et al. A research on the improved Slope One algorithm for collaborative filtering [J]. International Journal of Computing Science & Mathematics, 2016, 7(3): 245-253.

      [18]LI J, SUN L, WANG J. A Slope One collaborative filtering recommendation algorithm using uncertain neighbors optimizing [C]// WAIM 2011: Proceedings of the 2011 International Conference on Web-Age Information Management, LNCS 7142. Berlin: Springer, 2011: 160-166.

      [19]TIAN S, OU L. An improved Slope One algorithm combining KNN method weighted by user similarity [C]// WAIM 2016: Proceedings of the 2016 International Conference on Web-Age Information Management, LNCS 9998. Cham: Springer, 2016: 88-98.

      [20]王潘潘,錢謙,王鋒.改進(jìn)加權(quán)Slope One協(xié)同過濾推薦算法研究[J].傳感器與微系統(tǒng),2017,36(7):138-141. (WANG P P, QIAN Q, WANG F. Study on improved weighted Slope one collaborative filtering algorithm [J]. Transducer and Microsystem Technologies, 2017, 36(7): 138-141.)

      [21]VADIVELOU G, ILAVARASAN E. Fusion of Pearson similarity and Slope One methods for QoS prediction for Web services [C]// IC3I 2015: Proceedings of the 2014 International Conference on Contemporary Computing and Informatics. Piscataway, NJ: IEEE, 2014: 1118-1124.

      [22]MI Z, XU C. A recommendation algorithm combining clustering method and Slope One scheme [C]// ICIC 2011: Proceedings of the 2011 Bio-Inspired Computing and Applications — International Conference on Intelligent Computing, LNCS 6840. Berlin: Springer, 2011: 160-167.

      [23]LIANG T, FAN J, ZHAO J, et al. Improved Slope One collaborative filtering predictor using fuzzy clustering [C]// ADMA 2013: Proceedings of the 2013 International Conference on Advanced Data Mining and Applications, LNCS 8346. Berlin: Springer, 2013: 181-192.

      猜你喜歡
      復(fù)雜度預(yù)測測試
      無可預(yù)測
      黃河之聲(2022年10期)2022-09-27 13:59:46
      選修2-2期中考試預(yù)測卷(A卷)
      選修2-2期中考試預(yù)測卷(B卷)
      幽默大測試
      幽默大師(2020年11期)2020-11-26 06:12:12
      “攝問”測試
      “攝問”測試
      一種低復(fù)雜度的慣性/GNSS矢量深組合方法
      “攝問”測試
      求圖上廣探樹的時間復(fù)雜度
      不必預(yù)測未來,只需把握現(xiàn)在
      和静县| 巴东县| 长乐市| 镇巴县| 西林县| 青岛市| 巩义市| 五寨县| 闸北区| 兴国县| 曲阜市| 旌德县| 三台县| 樟树市| 青田县| 乌拉特前旗| 余姚市| 廉江市| 图们市| 和静县| 平罗县| 云阳县| 耿马| 察哈| 衡水市| 宽城| 宜黄县| 利津县| 蒙城县| 靖宇县| 永济市| 原平市| 大洼县| 千阳县| 绵竹市| 广灵县| 澄迈县| 迁西县| 六盘水市| 横山县| 南丹县|