亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        結(jié)合貢獻(xiàn)度與時(shí)間權(quán)重的協(xié)同過濾推薦算法

        2023-03-27 02:04:18賈俊康李玲娟
        關(guān)鍵詞:用戶

        賈俊康,李玲娟

        (南京郵電大學(xué) 計(jì)算機(jī)學(xué)院,江蘇 南京 210023)

        0 引 言

        隨著互聯(lián)網(wǎng)和信息技術(shù)的普及,人類全面進(jìn)入web2.0時(shí)代以后,就面臨著“信息超載”[1]問題,用戶想要從海量數(shù)據(jù)中篩選出滿意的結(jié)果變得愈加艱難。因此,作為信息過濾工具的推薦系統(tǒng)應(yīng)運(yùn)而生,它能夠根據(jù)用戶的需求,快速、準(zhǔn)確地向用戶進(jìn)行有效推薦。推薦算法作為推薦系統(tǒng)的核心[2],直接決定了推薦效果。主流推薦算法包括基于內(nèi)容的推薦、協(xié)同過濾推薦和混合推薦三類傳統(tǒng)的推薦算法,以及各種與深度學(xué)習(xí)結(jié)合的推薦算法[3-4]。其中,協(xié)同過濾推薦算法是應(yīng)用最為成功的推薦算法之一[5]。它又分為兩類,一類是基于模型的協(xié)同過濾,另一類是基于內(nèi)存的協(xié)同過濾。后者又有基于用戶的協(xié)同過濾UserCF和基于項(xiàng)目的協(xié)同過濾ItemCF之分[3]。UserCF源于生活中的經(jīng)驗(yàn)假設(shè):興趣愛好類似的用戶,他們對(duì)同一項(xiàng)目可能有著相似的喜好程度[6],這種算法不是分析用戶之間潛在的某種關(guān)系,而是從用戶歷史行為數(shù)據(jù)信息中計(jì)算用戶相似度,從中尋找相似用戶進(jìn)行推薦,思路簡單,易于實(shí)現(xiàn)[7]。但是這種算法至少存在三方面的問題:①未考慮時(shí)間因素,沒有將用戶不同時(shí)間的評(píng)分區(qū)別對(duì)待;②未考慮跟風(fēng)用戶帶來的影響;③未考慮不同用戶對(duì)同一個(gè)項(xiàng)目評(píng)分差異過大帶來的影響。

        由于存在以上問題,傳統(tǒng)的UserCF算法的推薦精度仍有待提高。為此,該文設(shè)計(jì)了一種結(jié)合貢獻(xiàn)度與時(shí)間權(quán)重的協(xié)同過濾推薦算法(collaborative filtering recommendation algorithm combining contribution and time weight),命名為CTCF。該算法通過定義可信誤差閾值與貢獻(xiàn)度來減少不同用戶對(duì)同一項(xiàng)目評(píng)分差異過大對(duì)推薦結(jié)果產(chǎn)生的負(fù)面影響;通過在用戶相似度計(jì)算中引入擬合時(shí)間因子與貢獻(xiàn)度的時(shí)間權(quán)重來動(dòng)態(tài)模擬用戶興趣隨時(shí)間的變化;既充分利用了傳統(tǒng)的UserCF算法的優(yōu)勢,又避免其存在的問題,進(jìn)一步提高了基于用戶的協(xié)同過濾推薦算法的精度。

        1 相關(guān)技術(shù)

        1.1 UserCF算法推薦過程

        UserCF的推薦過程如圖1所示。

        圖1 UserCF算法推薦過程

        主要步驟為[8]:

        ①利用用戶的歷史行為數(shù)據(jù)構(gòu)建用戶-項(xiàng)目評(píng)分矩陣;

        ②使用用戶相似度計(jì)算方法計(jì)算用戶相似度,并找出目標(biāo)用戶的最近鄰;

        ③選擇最近鄰喜歡而目標(biāo)用戶未評(píng)分的項(xiàng)目;

        ④預(yù)測目標(biāo)用戶對(duì)第③步中得到的項(xiàng)目的評(píng)分,并將預(yù)測評(píng)分高(即喜歡程度高)的項(xiàng)目推薦給目標(biāo)用戶。

        1.2 評(píng)分矩陣

        假設(shè)U={u1,u2,…,um}表示m個(gè)用戶,I={i1,i2,…,in}表示n個(gè)項(xiàng)目。用戶-項(xiàng)目評(píng)分矩陣可表示為Rm,n={Ru,i},Ru,i是用戶u對(duì)項(xiàng)目i的評(píng)分。表1是5個(gè)用戶對(duì)6個(gè)項(xiàng)目的評(píng)分示例,其中“/”表示該用戶沒有對(duì)項(xiàng)目進(jìn)行過評(píng)分,評(píng)分值為1至5的整數(shù),數(shù)值越大表示用戶對(duì)這個(gè)項(xiàng)目喜好程度越高。

        表1 用戶對(duì)項(xiàng)目的評(píng)分示例

        與之對(duì)應(yīng)的評(píng)分矩陣如下:

        1.3 相似度計(jì)算方法

        相似度的計(jì)算方法主要有余弦相似性[9]、歐幾里得相似度[10]、皮爾遜相關(guān)系數(shù)[11]等。余弦相似度是兩個(gè)評(píng)分向量夾角的余弦值。歐幾里得相似度指的是兩個(gè)點(diǎn)之間的真實(shí)距離。皮爾遜相關(guān)系數(shù)廣泛用于度量兩個(gè)變量之間的相關(guān)性,其計(jì)算公式如下:

        sim(a,b)=

        (1)

        2 CTCF算法設(shè)計(jì)

        該文所設(shè)計(jì)的CTCF算法的核心內(nèi)容包括:可信誤差閾值與貢獻(xiàn)度的計(jì)算、擬合貢獻(xiàn)度與時(shí)間因子的時(shí)間權(quán)重的計(jì)算、用戶相似度的計(jì)算、評(píng)分的預(yù)測。

        2.1 可信誤差閾值與貢獻(xiàn)度的計(jì)算方法設(shè)計(jì)

        如前所述,傳統(tǒng)的UserCF算法,在計(jì)算用戶相似度時(shí),可能會(huì)遇到不同用戶對(duì)同一項(xiàng)目評(píng)分差異較大的情況,例如表1中user1和user2雖然共同評(píng)分的項(xiàng)目占比為67.7%,但其中至少有75%的項(xiàng)目評(píng)分差異較大。這種不同用戶對(duì)共同項(xiàng)目的評(píng)分差異從一定程度上能夠反映出用戶興趣的差異,因此,在判斷當(dāng)前用戶對(duì)目標(biāo)用戶的價(jià)值時(shí),應(yīng)該充分考慮這種差異。該文分別定義了可信誤差閾值與貢獻(xiàn)度,用可信誤差閾值來計(jì)算貢獻(xiàn)度,依據(jù)貢獻(xiàn)度來評(píng)定當(dāng)前用戶對(duì)目標(biāo)用戶的價(jià)值大小,從而為進(jìn)一步計(jì)算用戶相似度提供權(quán)重。

        定義1 可信誤差閾值:是不同用戶對(duì)同一項(xiàng)目的評(píng)分差異的度量,計(jì)算方法如公式(2)所示:

        (2)

        (3)

        定義2 貢獻(xiàn)度:是用戶間的參考價(jià)值度量,反映不同用戶的共同喜好程度高低,計(jì)算方法如公式(4)所示:

        (4)

        其中,t為|ga,i-gb,i|<χ的數(shù)目,|I(a)∪I(b)|為用戶a和用戶b評(píng)分項(xiàng)目的總數(shù)量??梢钥闯鰏up∈[0,1],且評(píng)分相近的項(xiàng)目越多(即共同喜好程度越高),貢獻(xiàn)度sup就越大,彼此的參考價(jià)值越高。

        2.2 擬合貢獻(xiàn)度與時(shí)間因子的時(shí)間權(quán)重計(jì)算方法設(shè)計(jì)

        如前文所述,傳統(tǒng)的UserCF算法忽略了用戶興趣愛好會(huì)隨時(shí)間變化這一事實(shí)[12],由此得出的最近鄰可能并不準(zhǔn)確。一般來講用戶近期的行為更能充分說明其目前的興趣愛好。隨著時(shí)間推移,用戶會(huì)逐漸減弱對(duì)某個(gè)項(xiàng)目的喜好,這種趨勢呈現(xiàn)出先快后慢、最后趨于穩(wěn)定的特點(diǎn),這與艾賓浩斯曲線[13]很相似。因此,該文進(jìn)一步將貢獻(xiàn)度與時(shí)間因子相結(jié)合來對(duì)艾賓浩斯曲線加以改進(jìn),設(shè)計(jì)了擬合貢獻(xiàn)度與時(shí)間因子的時(shí)間權(quán)重,計(jì)算方法如公式(5)所示。

        (5)

        不難看出,該時(shí)間權(quán)重既考慮了不同用戶對(duì)同一項(xiàng)目評(píng)分差異過大對(duì)推薦結(jié)果的影響,又動(dòng)態(tài)模擬了用戶興趣隨時(shí)間的變化。

        2.3 改進(jìn)的用戶相似度計(jì)算方法設(shè)計(jì)

        在計(jì)算用戶相似度時(shí),該文對(duì)皮爾遜相關(guān)系數(shù)加以改進(jìn),引入公式(5)的擬合貢獻(xiàn)度與時(shí)間因子的時(shí)間權(quán)重,同時(shí)考慮目標(biāo)用戶a評(píng)價(jià)過的項(xiàng)目可能包含某用戶b評(píng)價(jià)過的全部項(xiàng)目(即前者是后者的超集,如表1中user2與user4)的情況,因后者不能為目標(biāo)用戶提供有用的信息,將其視為跟風(fēng)用戶[14],并將目標(biāo)用戶與跟風(fēng)用戶的相似度置零。改進(jìn)后的相似度計(jì)算方法如公式(6)所示:

        sim(a,b)=

        (6)

        2.4 評(píng)分預(yù)測方法

        計(jì)算得到目標(biāo)用戶與其他用戶的相似度后,按照相似度降序排列,取前K個(gè)作為目標(biāo)用戶的近鄰集,產(chǎn)生近鄰評(píng)價(jià)過的項(xiàng)目集,并用公式(7)[15]對(duì)其中目標(biāo)用戶未評(píng)價(jià)的項(xiàng)目進(jìn)行評(píng)分預(yù)測。

        (7)

        最后,按照目標(biāo)用戶a的預(yù)測評(píng)分的降序?qū)?xiàng)目排序,取Top-N個(gè)加以推薦。

        2.5 CTCF算法流程

        CTCF算法的總體流程如圖2所示。

        圖2 CTCF算法流程

        具體步驟可描述如下:

        算法:結(jié)合貢獻(xiàn)度與時(shí)間權(quán)重的協(xié)同過濾推薦算法。

        輸入:用戶評(píng)分信息,目標(biāo)用戶a,推薦結(jié)果個(gè)數(shù)N;

        輸出:推薦給目標(biāo)用戶a的項(xiàng)目列表。

        Step1:首先,對(duì)用戶評(píng)分信息做預(yù)處理,用公式(8)將時(shí)間戳歸一化;其中,ti為當(dāng)前時(shí)間戳,tmin為最小時(shí)間戳,tmax為最大時(shí)間戳。

        (8)

        然后,構(gòu)建出用戶-項(xiàng)目評(píng)分矩陣與用戶-項(xiàng)目評(píng)分時(shí)間矩陣。

        Step2:用公式(4)計(jì)算貢獻(xiàn)度sup,用公式(5)計(jì)算時(shí)間權(quán)重。

        Step3:用公式(6)計(jì)算相似度矩陣,并產(chǎn)生目標(biāo)用戶a的近鄰集以及該近鄰集已評(píng)價(jià)的項(xiàng)目集I,在I中去除用戶a已評(píng)價(jià)過的項(xiàng)目,構(gòu)成I'。

        Step4:用公式(7)預(yù)測目標(biāo)用戶a對(duì)I'中各個(gè)項(xiàng)目的評(píng)分。

        Step5:將預(yù)測得到的評(píng)分由高到低排序,并將前N個(gè)項(xiàng)目作為目標(biāo)用戶a的推薦集。

        3 實(shí)驗(yàn)及結(jié)果分析

        為了測試CTCF算法的性能,做了相關(guān)實(shí)驗(yàn)。

        3.1 實(shí)驗(yàn)數(shù)據(jù)及環(huán)境

        實(shí)驗(yàn)所用的數(shù)據(jù)是MovieLens ml-100K數(shù)據(jù)集中u.data文件的數(shù)據(jù),有943個(gè)用戶、1 652部電影、100 000個(gè)評(píng)分[16]。隨機(jī)選取其中的75%用作訓(xùn)練集,剩余的25%用作測試集,用戶的評(píng)分范圍為1~5,數(shù)值越大表示用戶興趣越大。

        實(shí)驗(yàn)環(huán)境:CPU為Intel Core i7,主頻為2.2 GHz,內(nèi)存為16 GB;操作系統(tǒng)是macOS 10.13;編程語言是Python3.7。

        3.2 評(píng)價(jià)指標(biāo)

        該文采取目前比較主流的推薦算法評(píng)價(jià)指標(biāo)召回率(recall)和精度(precision)來評(píng)估算法。分別用公式(9)和公式(10)進(jìn)行計(jì)算。

        (9)

        (10)

        其中,R(a)表示算法推薦給用戶a的項(xiàng)目集合,I'(a)表示用戶a實(shí)際喜歡的項(xiàng)目集合,U表示測試集中所有用戶的集合。

        為了比較全面地評(píng)價(jià)算法,還采用F-Measure作為評(píng)價(jià)指標(biāo),F(xiàn)-Measure公式如下:

        (11)

        當(dāng)參數(shù)α=1時(shí),就是最常用的F1值,即:

        (12)

        F1的值越大表示算法的綜合表現(xiàn)越好。

        3.3 實(shí)驗(yàn)結(jié)果分析

        (1)可信誤差閾值(χ)的有效性實(shí)驗(yàn)。

        為驗(yàn)證定義的可信誤差閾值(χ)的有效性,在χ取常數(shù)(0、1、2、3、4)以及用公式(2)進(jìn)行動(dòng)態(tài)計(jì)算的情況下,測試CTCF算法的F1值,結(jié)果如圖3所示。

        圖3 不同可信誤差閾值對(duì)F1值的影響

        從圖3可以看出,隨著近鄰數(shù)的增加,F(xiàn)1值不斷增大,然后趨于穩(wěn)定,而且采用該文定義的可信誤差閾值時(shí),F(xiàn)1明顯高于其他幾種情況。

        (2)CTCF算法總體性能實(shí)驗(yàn)。

        為驗(yàn)證CTCF算法能有效提升推薦質(zhì)量,將其與采用皮爾遜相似度的UserCF、使用了改進(jìn)皮爾遜相似度的文獻(xiàn)[17]的算法作對(duì)比,統(tǒng)計(jì)三種算法的precision、recall和F1值,結(jié)果如圖4至圖6所示。

        圖4 不同近鄰數(shù)N對(duì)應(yīng)的precision

        圖5 不同近鄰數(shù)N對(duì)應(yīng)的recall

        圖6 不同近鄰數(shù)N對(duì)應(yīng)的F1

        從圖4和圖5可以看出,不同近鄰數(shù)下,CTCF算法對(duì)recall和precision有了明顯的提升。從圖6可以看出,CTCF算法的F1值始終高于另外兩種算法。

        時(shí)間復(fù)雜度也是評(píng)價(jià)一個(gè)算法優(yōu)劣的重要指標(biāo),CTCF算法與UserCF類似,最耗時(shí)的階段是用戶相似度計(jì)算,時(shí)間復(fù)雜度是O(n2),n為用戶數(shù);文獻(xiàn)[17]算法的時(shí)間復(fù)雜度是O(n3)。為對(duì)比三種算法的時(shí)間開銷,進(jìn)行了相關(guān)實(shí)驗(yàn),結(jié)果如圖7所示。

        由圖7可知,CTCF算法與傳統(tǒng)的協(xié)同過濾算法耗時(shí)相近,遠(yuǎn)遠(yuǎn)小于文獻(xiàn)[17]算法。綜上,CTCF算法在不增加時(shí)間復(fù)雜度的前提下,提升了推薦精度。

        圖7 三種算法對(duì)應(yīng)不同近鄰數(shù)N的時(shí)間開銷

        4 結(jié)束語

        以提高推薦精度為目標(biāo),該文設(shè)計(jì)了一種結(jié)合貢獻(xiàn)度與時(shí)間權(quán)重的協(xié)同過濾算法CTCF,該算法對(duì)傳統(tǒng)的基于用戶的協(xié)同過濾推薦算法做了改進(jìn),在用戶相似度計(jì)算中引入貢獻(xiàn)度與時(shí)間因子,降低了不同用戶對(duì)相同項(xiàng)目評(píng)分差異過大帶來的影響,同時(shí)在一定程度上增大了用戶近期反饋行為的權(quán)重,對(duì)用戶早期的行為信息權(quán)重進(jìn)行了衰減,客觀地反映了用戶興趣隨時(shí)間的動(dòng)態(tài)變化。在MovieLens數(shù)據(jù)集上與類似算法的對(duì)比實(shí)驗(yàn)結(jié)果表明,設(shè)計(jì)的CTCF算法能有效提高推薦質(zhì)量。

        猜你喜歡
        用戶
        雅閣國內(nèi)用戶交付突破300萬輛
        車主之友(2022年4期)2022-08-27 00:58:26
        您撥打的用戶已戀愛,請(qǐng)稍后再哭
        關(guān)注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        關(guān)注用戶
        商用汽車(2016年5期)2016-11-28 09:55:15
        兩新黨建新媒體用戶與全網(wǎng)新媒體用戶之間有何差別
        關(guān)注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        關(guān)注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        挖掘用戶需求尖端科技應(yīng)用
        Camera360:拍出5億用戶
        100萬用戶
        久久久久亚洲精品无码网址蜜桃 | 精品中文字幕在线不卡| 国产色av一区二区三区| 亚洲一区二区三区毛片| 中国免费av网| 亚洲av无码专区在线亚| 色se在线中文字幕视频| 文字幕精品一区二区三区老狼| 377p日本欧洲亚洲大胆张筱雨| 日韩www视频| 国产精品一区二区三区色| 校园春色日韩高清一区二区| 日本肥老妇色xxxxx日本老妇| 激情97综合亚洲色婷婷五| 强d漂亮少妇高潮在线观看 | 欧美人与动牲交片免费| 亚洲av高清不卡免费在线| 丰满少妇被粗大猛烈进人高清| 国产精品.xx视频.xxtv| h动漫尤物视频| 中文字幕人妻日韩精品| 精品国产午夜肉伦伦影院| 亚洲精品一区久久久久久| 男女超爽视频免费播放| 亚洲人成网站久久久综合| 国产av区亚洲av毛片| 可以直接在线看国产在线片网址 | 国产成人av片在线观看| 久久成人永久免费播放| 亚洲中文字幕人妻诱惑| 亚洲中文字幕在线综合| 国产二级一片内射视频插放| 最新精品国偷自产在线婷婷| 老司机在线免费视频亚洲| 隔壁老王国产在线精品| 国产又黄又大又粗视频| 国产精品久久婷婷婷婷| 国产av天堂一区二区二区| 精品香蕉99久久久久网站| 日本丰满人妻xxxxxhd| 国产又爽又黄又不遮挡视频|