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

        ?

        基于動(dòng)態(tài)時(shí)序的特征復(fù)合協(xié)同過濾算法

        2018-11-19 11:05:08汪麗君
        軟件導(dǎo)刊 2018年11期
        關(guān)鍵詞:偏置特征向量矩陣

        龔 成,王 潔,汪麗君

        (北京工業(yè)大學(xué) 信息學(xué)部,北京 100124)

        0 引言

        推薦系統(tǒng)是目前最有發(fā)展和應(yīng)用前景的系統(tǒng),推薦引擎已經(jīng)在電子商務(wù)(例如 Amazon、淘寶、京東等)和一些基于用戶娛樂的社會(huì)化站點(diǎn)(包括音樂、電影和圖書,例如愛奇藝、豆瓣等)上取得了成功。目前推薦系統(tǒng)主要分為兩大類,分別是基于內(nèi)容的推薦系統(tǒng)和基于協(xié)同過濾技術(shù)的推薦系統(tǒng)。

        協(xié)同過濾技術(shù)(Collaborative Filtering,CF)[1]是推薦系統(tǒng)中應(yīng)用最早和最為成功的技術(shù)之一,但是隨著商務(wù)網(wǎng)站結(jié)構(gòu)的復(fù)雜化,商品信息和用戶量與日俱增,協(xié)同過濾技術(shù)面臨一系列挑戰(zhàn),主要存在實(shí)時(shí)性差、數(shù)據(jù)稀疏以及推薦質(zhì)量低等問題[2]。原因主要是用戶不能產(chǎn)生足夠多的有效數(shù)據(jù)。

        基于隱因子模型的協(xié)同過濾算法是目前解決上述問題應(yīng)用最廣泛的模型。其中,在解決原始矩陣稀疏性問題上,Sarwar等[3]提出利用單值分解對(duì)原始稀疏數(shù)據(jù)進(jìn)行處理,將矩陣分解到較低維的稠密矩陣;Salakhutdunov等[4-5]提出概率矩陣分解用來解決稀疏性,并將其與受限玻爾茲曼機(jī)線性結(jié)合,取得了不錯(cuò)效果。在處理推薦質(zhì)量低問題上,Weston等[6]通過對(duì)用戶模型建立多維度特征集,描述用戶不同的興趣,與項(xiàng)目匹配的最大興趣進(jìn)行推薦,模型是一個(gè)非線性的隱因子模型。為解決協(xié)同過濾中實(shí)時(shí)性差和推薦質(zhì)量低的問題,沈鍵等[7]提出基于滾動(dòng)時(shí)間窗的動(dòng)態(tài)協(xié)同過濾推薦模型,提高了協(xié)同過濾算法的時(shí)效性;項(xiàng)亮[8]將時(shí)間信息作為第三個(gè)維度,然后利用張量分解方式將動(dòng)態(tài)變化模型化。上述兩種模型僅僅模擬了數(shù)據(jù)隨時(shí)間變化的程度,而沒有研究連續(xù)時(shí)間內(nèi)數(shù)據(jù)的動(dòng)態(tài)變化以及預(yù)測(cè)未來時(shí)間內(nèi)的推薦結(jié)果。

        基于隱因子模型的協(xié)同過濾算法,主要技術(shù)是通過矩陣分解(Matrix Factorization,MF)對(duì)項(xiàng)目評(píng)分進(jìn)行預(yù)測(cè),其中最常見的是奇異值分解(Singular Value Decomposition,SVD)算法。Koren等[9]改進(jìn)SVD算法并提出新的SVD++算法,在原算法中加入用戶行為的顯示因子記錄,使得算法精確度得到較大提升。但該算法無法處理未來時(shí)間的動(dòng)態(tài)變化,且忽略了用戶個(gè)體的特征信息[10]。

        因此,本文在此基礎(chǔ)上改進(jìn)SVD++算法[11],加入含有動(dòng)態(tài)時(shí)序因子的用戶偏置和項(xiàng)目偏置[12],同時(shí)在算法中加入用戶的特征信息影響因子(性別、年齡、職業(yè)),提出一種新的SpecialTSVD++算法。實(shí)驗(yàn)結(jié)果表明,SpecialTSVD++算法對(duì)時(shí)間動(dòng)態(tài)變化帶來的推薦影響進(jìn)行了優(yōu)化處理[13],訓(xùn)練集在算法訓(xùn)練過程中求得的參數(shù)都與時(shí)間相關(guān),推薦結(jié)果更加貼近用戶當(dāng)前需求,顯著提升了推薦系統(tǒng)準(zhǔn)確率。

        1 SVD++算法

        推薦系統(tǒng)旨在預(yù)測(cè)用戶對(duì)未知項(xiàng)目的偏好程度,可以轉(zhuǎn)化為矩陣填充問題,推薦過程中用戶評(píng)分?jǐn)?shù)據(jù)分布在一個(gè)二維評(píng)分矩陣中[14]。數(shù)據(jù)用二元組 (rui,tui) 表示,其中rui表示用戶u對(duì)項(xiàng)目i的評(píng)分?jǐn)?shù)據(jù),tui表示當(dāng)時(shí)的評(píng)分時(shí)間,如果用戶對(duì)項(xiàng)目沒有評(píng)分,則矩陣中對(duì)應(yīng)項(xiàng)的值為空[15]。推薦系統(tǒng)通過預(yù)測(cè)評(píng)分矩陣中的缺失值達(dá)到推薦目的。

        處理協(xié)同過濾中矩陣分解問題時(shí),目前研究都集中在基于梯度下降的矩陣分解模型[16]。該模型表示:?jiǎn)蝹€(gè)用戶和項(xiàng)目可以通過一組維數(shù)相同的潛在特征向量建模[17],而單個(gè)用戶對(duì)項(xiàng)目的評(píng)分可以通過用戶特征向量pu和項(xiàng)目特征向量qi的點(diǎn)乘建模,如式(1)所示。

        (1)

        因?yàn)槟P驮跁r(shí)間復(fù)雜度和空間復(fù)雜度上都有較大優(yōu)勢(shì)[18],且預(yù)測(cè)精度得到提高,所以在此基礎(chǔ)上研究人員提出了很多改進(jìn)模型,其中效果最優(yōu)的是SVD模型[19]。SVD模型是在矩陣分解模型的基礎(chǔ)上加入基準(zhǔn)預(yù)測(cè),如式(2)所示。

        (2)

        其中,μ表示全局平均分,bu是用戶u的偏置(bias),表示此用戶相對(duì)于全局平均分的偏差;bi是項(xiàng)目i的偏置,表示此項(xiàng)目相對(duì)于全局平均分的偏差;pu表示用戶u的潛在因子特征向量,qi表示項(xiàng)目i的潛在因子特征向量,該兩個(gè)特征向量的內(nèi)積表示用戶與項(xiàng)目的相互影響作用大小。

        SVD++算法模型相對(duì)于SVD更加精細(xì),該模型在SVD基礎(chǔ)上加入了隱式數(shù)據(jù)表達(dá)的物品興趣偏好[20]。用戶對(duì)項(xiàng)目評(píng)分類型的數(shù)據(jù)為顯式數(shù)據(jù),而用戶的行為數(shù)據(jù),如瀏覽電影詳情頁、觀看電影等,稱為隱式數(shù)據(jù)[21]。隱式數(shù)據(jù)反映了用戶的興趣偏好,即隱式反饋。而在現(xiàn)實(shí)推薦系統(tǒng)中,隱式數(shù)據(jù)才是主體數(shù)據(jù)。于是評(píng)分變?yōu)轱@式興趣+偏置+隱式反饋,用戶興趣=顯式興趣+隱式反饋,新的評(píng)分公式如式(3)所示。

        (3)

        式(3)中,N(u)表示用戶u的行為項(xiàng)目集,即用戶評(píng)價(jià)過的所有項(xiàng)目集合;yj表示項(xiàng)目j所表達(dá)的隱式反饋。此即為SVD++在SVD的基礎(chǔ)上加入隱式反饋因素,更細(xì)致地表達(dá)了用戶興趣。

        2 改進(jìn)SpecialTSVD++算法

        隨著時(shí)間的延續(xù),用戶對(duì)項(xiàng)目的喜好以及項(xiàng)目受歡迎程度都會(huì)發(fā)生變化[22],但是SVD++模型中并沒有考量時(shí)間對(duì)于用戶以及項(xiàng)目的影響,因?yàn)閭鹘y(tǒng)SVD++模型中所有參數(shù)不包含時(shí)間變量,所有參數(shù)都由梯度下降直接求得,在迭代過程中所有參數(shù)變化都是梯度下降的過程。上文提到評(píng)分矩陣的基本數(shù)據(jù)是二元組形式 (rui,tui)[23],原本評(píng)分矩陣的數(shù)據(jù)稀疏性會(huì)影響推薦的準(zhǔn)確性,所以推薦模型更應(yīng)該考慮如何利用已有數(shù)據(jù)對(duì)推薦結(jié)果產(chǎn)生積極影響。本文在SVD++模型基礎(chǔ)上加入了時(shí)間因子,用來體現(xiàn)用戶偏置、項(xiàng)目偏置和用戶偏好特征向量隨時(shí)間的變化,主要實(shí)現(xiàn)過程是把原來的參數(shù)擬合成時(shí)間函數(shù)形式,并且在SpecialTSVD++算法中加入用戶屬性,可以為用戶提供更加個(gè)性化的推薦。用戶屬性可以通過數(shù)據(jù)集中的注冊(cè)信息表得到,本文從中提取年齡、性別和職業(yè)3個(gè)屬性,用加權(quán)方式豐富了平均分μ的概念,提升了SpecialTSVD++算法的容錯(cuò)率。

        2.1 融入動(dòng)態(tài)時(shí)序的SpecialTSVD++算法

        SpecialTVD++算法改進(jìn)了SVD++算法中3個(gè)受時(shí)間影響較大的參數(shù),分別是bu、bi和pu。用戶偏置bu會(huì)隨時(shí)間變化而變化,例如,一個(gè)傾向于對(duì)普通電影評(píng)分為4分的用戶,現(xiàn)在對(duì)一部同類電影評(píng)分3分,反映了幾個(gè)可能因素:用戶評(píng)分過程中的自然漂移;最近給出的其它評(píng)分與該評(píng)分之間的關(guān)系;一個(gè)家庭中評(píng)分者的身份隨時(shí)間而變化。對(duì)于項(xiàng)目偏置bi,項(xiàng)目受外界事件影響可能變得流行或者過時(shí),例如若老電影中的普通演員出名了,則該電影的平均評(píng)分也會(huì)隨之提高。用戶偏好pu是時(shí)間變化過程中必須考量的參數(shù),因?yàn)橛脩舯旧硎请S時(shí)間變化的,所以用戶偏好一定是隨時(shí)間變化的,例如小時(shí)候偏向于看動(dòng)畫片,成年之后偏向于看科幻片。SpecialTSVD++算法使用時(shí)間函數(shù)分別表示上述3個(gè)參數(shù)的時(shí)間變化,改進(jìn)的評(píng)分公式如式(4)所示。

        (4)

        其中,bu(t)、bi(t)和pu(t)是分別對(duì)應(yīng)的時(shí)間函數(shù),下文將分別詳細(xì)介紹各函數(shù)的組成部分和參數(shù)構(gòu)成。

        2.1.1 融入動(dòng)態(tài)時(shí)序的用戶偏置

        (5)

        其中,sgn( )為符號(hào)函數(shù),βu的值由交叉驗(yàn)證選??;式(5)定義了時(shí)間偏差后,bu(t)函數(shù)表示在原本的用戶偏置上因?yàn)闀r(shí)間推移會(huì)產(chǎn)生偏差,所以定義成式(6)。

        bu(t)=bu+αu·devu

        (6)

        其中,bu為固定部分,αu·devu為隨時(shí)間變化的部分。對(duì)每個(gè)用戶選取一個(gè)對(duì)應(yīng)的新參數(shù)αu,該參數(shù)也將加入梯度下降的訓(xùn)練中。

        2.1.2 融入動(dòng)態(tài)時(shí)序的項(xiàng)目偏置

        項(xiàng)目受歡迎程度會(huì)隨時(shí)間變化,因?yàn)殡S時(shí)間推移,某個(gè)項(xiàng)目可能會(huì)在特定環(huán)境下有新的定義,此時(shí)對(duì)該項(xiàng)目的評(píng)分會(huì)明顯提高或下降。以本文數(shù)據(jù)集中的電影為例,在時(shí)間較小的區(qū)間內(nèi),評(píng)分的波動(dòng)不會(huì)很大,但是在一段較長(zhǎng)時(shí)間里,如分散在兩個(gè)月之中,評(píng)分對(duì)比會(huì)有明顯波動(dòng)。因此,為項(xiàng)目偏置擬合一個(gè)新函數(shù)以描述項(xiàng)目偏置隨時(shí)間的變化,如式(7)所示。

        (7)

        bi(t)=bi+αi·devi

        (8)

        2.1.3 融入動(dòng)態(tài)時(shí)序的用戶偏好特征向量

        上文為基準(zhǔn)預(yù)測(cè)中的用戶偏置和項(xiàng)目偏置加入了動(dòng)態(tài)時(shí)序,然而,如果考量時(shí)間對(duì)偏置的影響,就必須考慮時(shí)間對(duì)用戶和項(xiàng)目交互的影響。用戶會(huì)隨時(shí)間改變偏好,例如,“心理驚悚劇”粉絲可能會(huì)在一年后成為“犯罪劇”粉絲,同樣,用戶會(huì)隨時(shí)間改變對(duì)某些演員或?qū)а莸目捶ā?duì)于該類影響,本文通過將用戶偏好特征向量(向量pu)作為時(shí)間函數(shù)進(jìn)行建模。

        事實(shí)上,該時(shí)間變化相比上文提到的單獨(dú)完整的用戶偏置,是很難捕捉的,因?yàn)橛脩籼卣髌帽环殖纱罅康钠靡蜃樱圆扇槊總€(gè)因子建模的方式,表示為pu(t)T=(pu(t)[1],pu(t)[2],…,pu(t)[f]),然后對(duì)于每個(gè)因子pu(t)[k],使用與用戶時(shí)間偏置相同的方法建模,如式(9)所示。

        pu(t)[k]=puk+αuk·devu

        (9)

        其中,puk作為固定部分,αuk·devu作為隨時(shí)間變化的部分。

        2.2 融入用戶特征的SpecialTSVD++算法

        傳統(tǒng)的推薦系統(tǒng)僅通過用戶歷史評(píng)分行為進(jìn)行推薦,面臨的問題是數(shù)據(jù)量過少、推薦精確度較低。用戶注冊(cè)信息往往包含用戶潛在的興趣,比如,男性用戶和女性用戶的評(píng)分不同,不同年齡段以及不同職業(yè)的評(píng)分也不相同。本文數(shù)據(jù)集包含一張單獨(dú)的用戶信息數(shù)據(jù)表,其中包括用戶編號(hào)、性別、年齡以及職業(yè)等信息,在上文基礎(chǔ)上融入以上信息從而得到最終的SpecialTSVD++模型,提高了推薦質(zhì)量。

        2.2.1 融入用戶特征信息的評(píng)分預(yù)測(cè)

        用戶特征信息主要是用戶注冊(cè)信息,包括3種:用戶性別、用戶年齡和用戶職業(yè)。通過實(shí)驗(yàn)發(fā)現(xiàn),特征信息不同的用戶對(duì)電影評(píng)分的平均分也不一樣。例如,男性用戶平均分在3.56左右,而女性用戶平均分在3.62左右;18歲以下用戶平均分在3.55左右,而50歲以上用戶平均分在3.76左右?;谝陨蠑?shù)據(jù),對(duì)上文全局平均分μ進(jìn)行如式(10)的改進(jìn)。

        μ=ω1μall+ω2μage+ω3μsex+ω4μoccupation

        (10)

        2.3 模型優(yōu)化與算法描述

        由上文所述,本文算法在SVD++算法基礎(chǔ)上分別加入時(shí)間信息和用戶特征信息,兩者融合最后得到SpecialTSVD++完整的預(yù)測(cè)評(píng)分公式,如式(11)所示。

        (11)

        SpecialSVD++算法的訓(xùn)練過程如下:

        基于動(dòng)態(tài)時(shí)序的復(fù)合協(xié)同過濾算法SpecialTSVD++算法

        輸入:訓(xùn)練數(shù)據(jù)集Movielens-10m,特征向量維數(shù)f,迭代次數(shù)n

        輸出:參數(shù)值,RMSE

        訓(xùn)練階段:

        for(iteration=0;iteration

        foreach(u,i)∈Dtrain

        //對(duì)模型中每個(gè)參數(shù)梯度下降

        bu=bu+η(eui-λ1bu)

        bi=bi+η(eui-λ1bi)

        αu=αu+η(eui×devu-λ1αu)

        αi=αi+η(eui×devi-λ1αi)

        //對(duì)用戶項(xiàng)目特征向量進(jìn)行迭代更新

        for(k=0;k

        puk=puk+η(eui×qik-λ2puk)

        qik=qik+η[eui×(puk+sqrtNum×Sumyjk)-λ2qik]

        yjk=yjk+η(eui×sqrtNum×qik-λ2yjk)

        αuk=αuk+η(eui×qik×devuk-λ2αuk)

        end for

        end foreach

        end for

        η=0.4

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

        3.1 數(shù)據(jù)集

        本文數(shù)據(jù)集使用的是Movielens-10m,包含1 000 209條評(píng)分?jǐn)?shù)據(jù),來自6 040個(gè)用戶對(duì)大約3 900部電影的評(píng)分,并且每名用戶至少對(duì)20部電影進(jìn)行了評(píng)分。此外,該數(shù)據(jù)集還包含了用戶注冊(cè)信息表,注冊(cè)信息主要有性別、年齡和職業(yè)。本文將此數(shù)據(jù)集隨機(jī)劃分為訓(xùn)練集和測(cè)試集,其中,訓(xùn)練集占整個(gè)數(shù)據(jù)集的80%,測(cè)試集占20%。

        3.2 度量標(biāo)準(zhǔn)

        采用均方根誤差(Root mean square error,RMSE)作為推薦準(zhǔn)確性的評(píng)價(jià)標(biāo)準(zhǔn),RMSE值越小,算法精確度越高,RMSE定義為公式(12)。

        (12)

        3.3 實(shí)驗(yàn)結(jié)果對(duì)比

        在相同數(shù)據(jù)集的情況下,對(duì)SVD、SVD++和SpecialTSVD++算法作對(duì)比實(shí)驗(yàn),在特征維度變化情況下對(duì)比各個(gè)模型RMSE的結(jié)果,實(shí)驗(yàn)結(jié)果如表1所示。

        表1 實(shí)驗(yàn)結(jié)果

        如表1所示,隨著特征向量維數(shù)增多,RMSE的值會(huì)降低,3種算法都有一定提升,但是算法的學(xué)習(xí)時(shí)間也會(huì)隨之變長(zhǎng)。從實(shí)驗(yàn)結(jié)果看,改進(jìn)的SpecialTSVD++算法在特征向量維度由10增加到200的過程中,RMSE的值始終在降低,且跟同類型SVD算法和SVD++算法相比,在特征向量維度增高過程中,RMSE的值始終比兩個(gè)算法低大約0.02。最終,SpecialTSVD++算法在特征向量維度為200時(shí),RMSE達(dá)到0.872 2,其推薦精度明顯優(yōu)于SVD和SVD++算法。

        4 結(jié)語

        傳統(tǒng)的推薦算法在面對(duì)當(dāng)今信息時(shí)代數(shù)據(jù)快速更迭時(shí),無法根據(jù)時(shí)間產(chǎn)生精準(zhǔn)推薦,本文由此在SVD++算法基礎(chǔ)上進(jìn)行改進(jìn),提出了一種SpecialTSVD++算法。SpecialTSVD++算法可以滿足未來時(shí)間里的動(dòng)態(tài)變化,并且結(jié)合用戶個(gè)體特征,將傳統(tǒng)的SVD++算法與動(dòng)態(tài)時(shí)序相結(jié)合,解決了傳統(tǒng)算法中實(shí)時(shí)性差和推薦質(zhì)量低的問題。通過在Movielens-10M數(shù)據(jù)集上實(shí)驗(yàn),對(duì)比傳統(tǒng)的SVD和SVD++算法,SpecialTSVD++算法在推薦效果和推薦精度上都有明顯提升。

        猜你喜歡
        偏置特征向量矩陣
        二年制職教本科線性代數(shù)課程的幾何化教學(xué)設(shè)計(jì)——以特征值和特征向量為例
        基于40%正面偏置碰撞的某車型仿真及結(jié)構(gòu)優(yōu)化
        基于雙向線性插值的車道輔助系統(tǒng)障礙避讓研究
        克羅內(nèi)克積的特征向量
        一類特殊矩陣特征向量的求法
        EXCEL表格計(jì)算判斷矩陣近似特征向量在AHP法檢驗(yàn)上的應(yīng)用
        一級(jí)旋流偏置對(duì)雙旋流杯下游流場(chǎng)的影響
        初等行變換與初等列變換并用求逆矩陣
        矩陣
        南都周刊(2015年4期)2015-09-10 07:22:44
        矩陣
        南都周刊(2015年3期)2015-09-10 07:22:44
        精品人妻一区二区三区四区| 亚洲一区二区三区福利久久蜜桃 | 少妇饥渴偷公乱a级无码| 亚洲碰碰人人av熟女天堂| 国产成人精品日本亚洲直播| 国产亚洲精品视频在线| 在线播放国产自拍av| 亚洲日韩在线中文字幕综合| 美女视频黄的全免费视频网站| 国产AV无码专区亚洲AV桃花庵 | 蜜桃视频国产一区二区| 天天躁夜夜躁狠狠躁2021a2| 俺来也俺去啦最新在线| 中文字幕国产精品中文字幕| 亚洲色图偷拍自拍亚洲色图| 手机av在线中文字幕| 射精专区一区二区朝鲜| 国产性一交一乱一伦一色一情| 亚洲欧洲AV综合色无码| 中文字幕视频一区二区 | 国产亚洲午夜高清国产拍精品不卡| 国产在线一区二区三区四区乱码| 日韩精品人妻中文字幕有码| 777午夜精品免费观看| 人妻精品丝袜一区二区无码AV| 午夜日本理论片最新片| 精品亚洲第一区二区三区| 97人伦色伦成人免费视频| 美女视频黄的全免费的| 国产精品毛片99久久久久| 一级内射免费观看视频| 后入内射国产一区二区| 夜夜躁狠狠躁2021| 美女爽好多水快进来视频| 亚洲天堂av在线一区| 人妖一区二区三区四区| 国产成本人片无码免费2020| 自拍 另类 综合 欧美小说| 色妞一区二区三区免费视频| 亚洲视频在线观看青青草| 在线成人影院国产av|