• 
    

    
    

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

      矩陣分解技術(shù)在電影推薦系統(tǒng)中的應(yīng)用

      2021-02-04 06:53:44蔡崇超許華虎
      軟件導(dǎo)刊 2021年1期
      關(guān)鍵詞:梯度社交矩陣

      蔡崇超,許華虎

      (1.上海大學(xué)計(jì)算機(jī)工程與科學(xué)學(xué)院,上海 200444;2.湖州職業(yè)技術(shù)學(xué)院物流與信息工程學(xué)院,浙江湖州 313000)

      0 引言

      為解決社交網(wǎng)絡(luò)信息過載問題,需引入用戶或內(nèi)容推薦系統(tǒng)。傳統(tǒng)的推薦系統(tǒng)以協(xié)同過濾算法為主,該算法沒有考慮到社交網(wǎng)絡(luò)中不同用戶之間的關(guān)聯(lián)關(guān)系對(duì)推薦結(jié)果的影響。并且,在社交網(wǎng)絡(luò)研究過程中發(fā)現(xiàn),大多數(shù)用戶對(duì)于內(nèi)容的評(píng)論較少,絕大多數(shù)內(nèi)容由少數(shù)人產(chǎn)生,即存在著稀疏矩陣問題。

      本文主要研究基于社交網(wǎng)絡(luò)關(guān)系的推薦系統(tǒng)在電影領(lǐng)域的應(yīng)用情況。隨著移動(dòng)互聯(lián)網(wǎng)在人們?nèi)粘I钪械娜鏉B透,互聯(lián)網(wǎng)公司往往應(yīng)用千人千面技術(shù)增加用戶粘度,在影視領(lǐng)域這種情況更加普遍。

      相比而言,電影點(diǎn)評(píng)推薦相關(guān)研究開展得較早。目前,在推薦系統(tǒng)領(lǐng)域較為成熟的電影數(shù)據(jù)集有很多,例如movielens[1]、Netflix[2]、Douban[3],以上都是推薦系統(tǒng)較為常用的數(shù)據(jù)集,本實(shí)驗(yàn)主要在Douban 和Netflix 上進(jìn)行。

      協(xié)同過濾推薦算法[4-5]在電影推薦領(lǐng)域較為常見,該算法通過記錄用戶行為預(yù)測(cè)用戶喜好,進(jìn)而完成電影推薦任務(wù)。王駿等[4]通過改進(jìn)神經(jīng)協(xié)同過濾模型,利用多層感知機(jī)的非線性特征處理提取隱含高階特征信息以及貝葉斯個(gè)性化排序算法提取排序信息,使推薦更加精準(zhǔn),但是該方法忽略了社交網(wǎng)絡(luò)中用戶之間關(guān)系的影響力。隨著社交網(wǎng)絡(luò)的興起,用戶之間有了更加復(fù)雜的關(guān)聯(lián)關(guān)系,這使得單純的協(xié)同過濾算法推薦精度有所下降。

      在社交網(wǎng)絡(luò)中用戶之間的社交關(guān)系和用戶發(fā)布的內(nèi)容往往有很強(qiáng)的關(guān)聯(lián)性[6-7],人們總是傾向于關(guān)注與自己興趣點(diǎn)近似的人群。Koren 等[2]首次將矩陣分解技術(shù)引入電影推薦系統(tǒng)中,不過其當(dāng)時(shí)的數(shù)據(jù)集較小,同時(shí)僅僅將其應(yīng)用到了一個(gè)數(shù)據(jù)集,本文實(shí)驗(yàn)擴(kuò)展了Koren 等的數(shù)據(jù)集規(guī)模。肖曉麗等[3]通過引入信任機(jī)制,通過定義直接信任、間接信任、傳遞路徑和計(jì)算方法度量社交網(wǎng)絡(luò)用戶之間隱含的信任值,將社交網(wǎng)絡(luò)轉(zhuǎn)換為信任網(wǎng)絡(luò),為推薦系統(tǒng)中基于用戶關(guān)系提升推薦精度提供了理論依據(jù)。

      本文的創(chuàng)新之處在于,傳統(tǒng)的電影推薦系統(tǒng)主要以協(xié)同過濾算法推薦為主,很少將社交網(wǎng)絡(luò)信息作為重要參考,本文通過矩陣分解技術(shù)[2,8-9]設(shè)置特征參數(shù)、損失函數(shù)、隨機(jī)梯度下降等方法對(duì)推薦系統(tǒng)的精度進(jìn)行改進(jìn),同時(shí)融合社交網(wǎng)絡(luò)用戶信息關(guān)系,進(jìn)而提升推薦系統(tǒng)精度。由實(shí)驗(yàn)結(jié)果可知,在兩個(gè)實(shí)驗(yàn)數(shù)據(jù)集上精度分別提高62%、51%。

      1 相關(guān)問題

      社交網(wǎng)絡(luò)是一個(gè)巨大的實(shí)時(shí)信息傳播平臺(tái),根據(jù)用戶發(fā)布的內(nèi)容尋找相似用戶,可以找到自己感興趣的電影或內(nèi)容,Massa 等[10]于2004 年提出將社交網(wǎng)絡(luò)中的相互關(guān)系融入推薦算法中構(gòu)建推薦模型。Lin & Gemmis 等[11-12]通過構(gòu)建用戶—項(xiàng)目評(píng)分矩陣進(jìn)行用戶相似度計(jì)算,以提升推薦系統(tǒng)精確度。

      傳統(tǒng)的推薦系統(tǒng)假設(shè)用戶是獨(dú)立且分布相同,這種假設(shè)忽略了使用者的社交關(guān)系。在類似于電影社交網(wǎng)絡(luò)領(lǐng)域,網(wǎng)絡(luò)中的不確定關(guān)系往往成為影響推薦精度的重要因素,如果兩個(gè)用戶興趣相同,觀點(diǎn)相近,那么認(rèn)為他們之間的關(guān)聯(lián)關(guān)系會(huì)大于那些具有不同興趣和關(guān)注內(nèi)容的人。如果兩個(gè)人喜歡電影的個(gè)數(shù)超過一定比例,則認(rèn)為他們有相同的欣賞品味,這種社交網(wǎng)絡(luò)關(guān)系可以在很大程度上影響推薦結(jié)果。

      1.1 矩陣分解技術(shù)

      對(duì)于一個(gè)電影推薦系統(tǒng)而言,其用戶和電影之間的關(guān)系轉(zhuǎn)換為一個(gè)user-item 矩陣。矩陣中的行代表用戶,列代表電影。若用戶對(duì)電影有過評(píng)分,則矩陣中處于用戶對(duì)應(yīng)行與電影對(duì)應(yīng)列的交叉位置表示用戶對(duì)電影的分值,該矩陣被稱為評(píng)分矩陣。通過矩陣分解技術(shù)[13-14],可以將us?er-item 評(píng)分矩陣分解為2 個(gè)低秩的用戶電影矩陣,同時(shí)降低計(jì)算復(fù)雜度。利用線性回歸思想,通過最小化觀察數(shù)據(jù)的平方尋求最優(yōu)用戶和項(xiàng)目的隱含向量表示,進(jìn)而用于預(yù)測(cè)缺失評(píng)分。

      1.2 梯度下降算法

      求解矩陣分解最優(yōu)化問題時(shí),本文采用梯度下降法(Gradient Descent),其核心思想是沿梯度下降方向逐步迭代。梯度是一個(gè)向量,表示一個(gè)函數(shù)在該點(diǎn)處沿梯度方向變化最快,變化率最大,而梯度下降方向指負(fù)梯度方向。在實(shí)際實(shí)驗(yàn)過程中采用隨機(jī)梯度下降算法,隨機(jī)梯度下降算法[15-17]指在迭代過程中隨機(jī)選擇一個(gè)或幾個(gè)樣本的梯度替代總體梯度,從而極大降低了計(jì)算復(fù)雜度。本文求解目標(biāo)函數(shù)最小化方法使用的就是隨機(jī)梯度下降算法。

      Fig.1 Relationship among user,topic and latent factor matrix圖1 用戶、主題、潛在因子矩陣之間的關(guān)系

      2 基于矩陣分解技術(shù)的電影推薦系統(tǒng)

      矩陣分解技術(shù)用途十分廣泛,基于矩陣分解技術(shù)的電影推薦系統(tǒng)可以解決傳統(tǒng)推薦系統(tǒng)技術(shù)中存在的矩陣稀疏、冷啟動(dòng)等問題。本文首先分析基礎(chǔ)矩陣分解技術(shù),然后考慮損失函數(shù)構(gòu)建,最后通過梯度下降算法進(jìn)行最小值求解。

      2.1 基礎(chǔ)矩陣分解技術(shù)

      通過矩陣分解技術(shù)構(gòu)建了一個(gè)用戶—電影矩陣。在該推薦系統(tǒng)中用戶集合U={U1,U2,…Um}。電影集合M={M1,M2,…Mm},用戶對(duì)電影的評(píng)分矩陣R={Rut},其中,Rum 表示用戶u對(duì)電影m的評(píng)分,每一部電影都得到一個(gè)向量q,每一個(gè)用戶也得到一個(gè)向量p,如式(1)所示。

      為了防止過擬合問題,加入正則化λ(‖pu‖2+‖qi‖2),λ為正則化參數(shù)。最終得到求解公式如式(2)所示。

      接下來利用求最小值方法計(jì)算出新評(píng)分矩陣的各項(xiàng)參數(shù)值。

      2.2 損失函數(shù)構(gòu)建

      當(dāng)在電影社交網(wǎng)絡(luò)中的兩個(gè)用戶同時(shí)討論一個(gè)電影,其中一個(gè)較為偏激,針對(duì)某一個(gè)話題經(jīng)常表達(dá)較為悲觀的情緒,而另一個(gè)用戶則顯示出較為正面的情緒。在電影選取過程中,由于電影分布不同也可能存在偏差。對(duì)于用戶而言,不同的用戶針對(duì)相同電影表現(xiàn)出的情感傾向性的激烈程度并不相同。此外,同一個(gè)用戶針對(duì)不同的電影時(shí),表現(xiàn)出的情感傾向性也不同。為此,通過Koren 等[2]的研究表明,在推薦系統(tǒng)中考慮用戶和主題偏差可以有效改進(jìn)系統(tǒng)的推薦精度。矩陣分解模型通過明確考慮以下偏差參數(shù)解決這些問題,如式(3)所示。

      其中,bu代表了用戶偏差,bi代表電影偏差。將偏差計(jì)算整合到式(1)中,得到公式如式(4)所示。

      2.3 最小值求解

      建立評(píng)分矩陣和損失函數(shù)后,需通過優(yōu)化算法進(jìn)行最小值求解。本文使用隨機(jī)梯度下降算法進(jìn)行最小值求解,過程如式(5)—式(8)所示。

      對(duì)于目標(biāo)函數(shù)式(4),對(duì)其進(jìn)行求梯度,如式(5)—式(6)所示。

      利用梯度下降進(jìn)行最小值求解,如式(7)—式(8)所示。

      通過上述隨機(jī)梯度算法,對(duì)分解后的矩陣進(jìn)行參數(shù)估計(jì),得到相應(yīng)的矩陣參數(shù)。

      2.4 算法流程

      本文首先對(duì)數(shù)據(jù)進(jìn)行抽取式整理,其次根據(jù)測(cè)試數(shù)據(jù)比例進(jìn)行實(shí)驗(yàn),設(shè)置矩陣分解模型參數(shù)并進(jìn)行不同角度的觀察,最后利用梯度下降算法得到最優(yōu)解。流程如圖2 所示。

      Fig.2 Process of algorithm圖2 算法過程

      4 實(shí)驗(yàn)設(shè)計(jì)與分析

      4.1 數(shù)據(jù)集分析

      本文選擇Douban 電影評(píng)論和Netflix 數(shù)據(jù)集作為社會(huì)推薦的參考數(shù)據(jù)集。

      Douban 是一個(gè)以電影評(píng)論為主的社交網(wǎng)站。用戶注冊(cè)后,能夠?qū)ζ渌呀?jīng)發(fā)布的電影或即將發(fā)布的電影發(fā)布評(píng)論和打分,評(píng)分登記是1~5 的整數(shù)。這些評(píng)價(jià)分?jǐn)?shù)和評(píng)論會(huì)影響其它網(wǎng)站用戶,是一部電影是否值得觀看的依據(jù)。網(wǎng)站用戶之間可以有關(guān)注和被關(guān)注的關(guān)系,評(píng)論內(nèi)容有短評(píng)和長(zhǎng)評(píng)。本文實(shí)驗(yàn)中使用的數(shù)據(jù)集來源于豆瓣網(wǎng)站,tsv 文件總大小為46.8M,包括94 890 個(gè)用戶,共有81 906個(gè)不同項(xiàng)目,每個(gè)用戶至少有一次評(píng)論,總共有11 742 260條評(píng)論。在實(shí)驗(yàn)過程中為了考察不同數(shù)據(jù)集大小情況,分別選取K 篇文章的所有評(píng)論進(jìn)行試驗(yàn),K 的大小分別為5、10、15、20、25。選取這些數(shù)據(jù)內(nèi)容是為了與Netflix 數(shù)據(jù)集規(guī)模保持一致,方便對(duì)比。

      Netflix 數(shù)據(jù)集由Netflix 網(wǎng)站提供,該數(shù)據(jù)總計(jì)有100萬(wàn)用戶評(píng)論,其中評(píng)論用戶500 000,電影總計(jì)17 000 部。每一個(gè)點(diǎn)評(píng)的評(píng)分在1~5 區(qū)間。在實(shí)驗(yàn)過程中,分別選取10 000、25 000、50 000、75 000、100 000 條評(píng)論數(shù)據(jù)作為試驗(yàn)數(shù)據(jù)。數(shù)據(jù)集規(guī)模如表1 所示,其中豆瓣電影數(shù)據(jù)集以討論的電影數(shù)目進(jìn)行分類,Netflix 數(shù)據(jù)集以評(píng)論數(shù)據(jù)進(jìn)行分類。從整體看,評(píng)論數(shù)目的規(guī)模較為相近。

      Table 1 Dataset size表1 數(shù)據(jù)集規(guī)模

      4.2 評(píng)價(jià)指標(biāo)與模型參數(shù)

      采用均方根誤差RMSE 和評(píng)價(jià)絕對(duì)誤差MAE 對(duì)試驗(yàn)結(jié)果進(jìn)行評(píng)價(jià)。這兩個(gè)評(píng)價(jià)指標(biāo)的值越低表示預(yù)測(cè)準(zhǔn)確度越高。

      矩陣分解模型是本次實(shí)驗(yàn)的主要貢獻(xiàn),除原本矩陣外,主要參數(shù)有4 個(gè),如表2 所示。

      Table 2 Parameters and values表2 參數(shù)含義和取值范圍

      其中,K 表示潛在用戶特征向量個(gè)數(shù),將其取值范圍設(shè)定為2~10。

      Alpha 表示學(xué)習(xí)率(learning rate),代表梯度下降算法中迭代步長(zhǎng)。學(xué)習(xí)率一般不宜過大,過大時(shí),迭代過程會(huì)出現(xiàn)震蕩現(xiàn)象。在實(shí)驗(yàn)過程中,將其值設(shè)置為0.01。

      Beta 表示過擬合參數(shù),在實(shí)驗(yàn)過程中將其設(shè)置為0.01。在進(jìn)行梯度下降算法求解過程中可能會(huì)造成過擬合問題,所謂過擬合,就是過分地?cái)M合了樣本數(shù)據(jù),造成引入了大量噪音,無(wú)法呈現(xiàn)原本規(guī)律,但又無(wú)法針對(duì)特殊樣本數(shù)據(jù)進(jìn)行剔除,因此干脆對(duì)所有參數(shù)加入隨機(jī)因子,即正則項(xiàng)。正則化是降低過擬合問題的常見手段。

      Iterations 表示迭代次數(shù),迭代次數(shù)越多,準(zhǔn)確度越高,但是相應(yīng)的計(jì)算開銷也會(huì)增大,在實(shí)驗(yàn)過程中將其值的范圍設(shè)定為10~100。

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

      依據(jù)上述數(shù)據(jù)集、評(píng)價(jià)指標(biāo)和模型參數(shù)設(shè)置等內(nèi)容,通過實(shí)驗(yàn)觀察該模型如何改變推薦精度。

      首先將本文提出的模型應(yīng)用于豆瓣數(shù)據(jù)集中,數(shù)據(jù)集規(guī)模按照評(píng)論個(gè)數(shù)劃分為45 872、70 220、90 819、111 793、164 122。具體結(jié)果如表3 所示。

      Table 3 Evaluation values表3 評(píng)測(cè)值

      RMSE 的值表示對(duì)原始電影評(píng)論集設(shè)置測(cè)試用例比例后得到的RMSE 誤差,MF-RMSE 表示應(yīng)用本文提到的矩陣分解技術(shù)后得到的RMSE 值??梢钥闯觯琈F-RMSE 對(duì)于推薦精度有了較大提升。同時(shí)還可以看出,隨著評(píng)論數(shù)即樣本數(shù)據(jù)的增加,無(wú)論是Douban 數(shù)據(jù)集還是Netflix 數(shù)據(jù)集,評(píng)論精度有較大幅度提升,具體如圖3 和圖4 所示。

      Fig.3 Douban dataset圖3 Douban 數(shù)據(jù)集

      Fig.4 Netflix dataset圖4 Netflix 數(shù)據(jù)集

      通過上述實(shí)驗(yàn)內(nèi)容可以看出,使用矩陣分解技術(shù)前后,推薦系統(tǒng)的準(zhǔn)確度有了相應(yīng)提升。隨著數(shù)據(jù)集的增加,推薦精度也會(huì)有相應(yīng)增加,但是增長(zhǎng)幅度會(huì)有所減小,數(shù)據(jù)集規(guī)模達(dá)到一定程度后,要提高精度有一定難度。上述兩個(gè)實(shí)驗(yàn)雖然基于不同的數(shù)據(jù)集,但是數(shù)據(jù)規(guī)模較為相似,得到的數(shù)據(jù)結(jié)論也較為相似,因此本文提出的算法頗具代表性。

      5 結(jié)語(yǔ)

      本文提出了一種矩陣分解算法,將其應(yīng)用到電影推薦系統(tǒng)中。該算法通過融合用戶和電影內(nèi)容之間的評(píng)分機(jī)制,利用矩陣分解技術(shù)進(jìn)行內(nèi)容推薦,首先將用戶—電影評(píng)分矩陣分解為用戶潛在因子矩陣和主題潛在因子矩陣,然后引入損失函數(shù)防止出現(xiàn)過擬合現(xiàn)象,最后利用梯度下降算法進(jìn)行最優(yōu)值求解。將該方法應(yīng)用于Douban 電影數(shù)據(jù)集和Netflix 電影數(shù)據(jù)集后取得了較好效果。在未來工作中,可將用戶之間的關(guān)聯(lián)關(guān)系和動(dòng)態(tài)內(nèi)容作為一個(gè)重要因素整合到模型中,以更好地提高推薦系統(tǒng)精度。

      猜你喜歡
      梯度社交矩陣
      社交之城
      社交牛人癥該怎么治
      意林彩版(2022年2期)2022-05-03 10:25:08
      一個(gè)改進(jìn)的WYL型三項(xiàng)共軛梯度法
      一種自適應(yīng)Dai-Liao共軛梯度法
      社交距離
      一類扭積形式的梯度近Ricci孤立子
      你回避社交,真不是因?yàn)閮?nèi)向
      文苑(2018年17期)2018-11-09 01:29:28
      初等行變換與初等列變換并用求逆矩陣
      矩陣
      南都周刊(2015年4期)2015-09-10 07:22:44
      矩陣
      南都周刊(2015年3期)2015-09-10 07:22:44
      新巴尔虎右旗| 武义县| 遵化市| 黄陵县| 怀远县| 湾仔区| 嘉峪关市| 双桥区| 静宁县| 运城市| 漾濞| 迁西县| 甘孜| 临邑县| 铜鼓县| 奈曼旗| 永和县| 庆元县| 蚌埠市| 九龙县| 马山县| 内江市| 汝阳县| 盐源县| 响水县| 丹阳市| 九江市| 淳安县| 湘乡市| 宿松县| 阿拉善左旗| 颍上县| 丰顺县| 陕西省| 台北县| 东光县| 青铜峡市| 香港| 海晏县| 安宁市| 鄯善县|