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

        ?

        基于因子分解機(jī)和隱馬爾可夫的推薦算法

        2019-06-14 07:36:36王曉耘
        關(guān)鍵詞:用戶信息方法

        王曉耘,李 賢,袁 媛

        (1.杭州電子科技大學(xué) 管理學(xué)院,浙江 杭州 310018;2.杭州電子科技大學(xué) 計(jì)算機(jī)學(xué)院,浙江 杭州 310018)

        0 引 言

        近年來,隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,數(shù)據(jù)呈現(xiàn)出了爆炸式的增長(zhǎng)。如何快速又有效地從海量數(shù)據(jù)中尋找用戶所需要的信息成為了一個(gè)迫切的問題。為了應(yīng)對(duì)海量的數(shù)據(jù)信息,搜索系統(tǒng)和推薦系統(tǒng)應(yīng)運(yùn)而生。對(duì)于那些有著明確目的的用戶,信息搜索系統(tǒng)是一種非常有效的方法,但通常用戶并不是非常清楚自己所需要什么,在這種情況下使用推薦系統(tǒng)便是一個(gè)較好的應(yīng)對(duì)策略,現(xiàn)如今推薦系統(tǒng)的應(yīng)用已經(jīng)遍布網(wǎng)絡(luò)的各個(gè)領(lǐng)域。協(xié)同過濾是一種常見且有效的推薦方法,協(xié)同過濾是通過尋找與當(dāng)前用戶最相似的用戶,根據(jù)相似用戶的歷史購買記錄來進(jìn)行推薦的。此外還有基于內(nèi)容的推薦方法和其他一些傳統(tǒng)的推薦方法,這類傳統(tǒng)的推薦方法起初往往在推薦過程中并不會(huì)引入上下文信息,這導(dǎo)致在推薦精度存在一些不足。在這種情況下,研究者們開始在推薦系統(tǒng)中引入上下文信息,通過結(jié)合上下文信息來對(duì)用戶進(jìn)行個(gè)性化推薦。這便出現(xiàn)了將傳統(tǒng)的“用戶-產(chǎn)品”二維的評(píng)分模型User×Item→Rating擴(kuò)充為含有上下文信息的模型User×Context×Item→Rating。

        文中主要基于上下文信息來對(duì)用戶進(jìn)行個(gè)性化推薦,提出了一種結(jié)合因子分解機(jī)[1]和隱馬爾可夫模型的方法來進(jìn)行個(gè)性化推薦,通過因子分解機(jī)進(jìn)行初始預(yù)測(cè),之后利用隱馬爾可夫模型對(duì)用戶的興趣愛好進(jìn)行預(yù)測(cè),從而為用戶進(jìn)行個(gè)性化推薦。通過引入上下文信息來構(gòu)建包含用戶和產(chǎn)品的上下文信息矩陣,但該矩陣通常是稀疏矩陣,而因子分解機(jī)能夠較好地對(duì)稀疏矩陣進(jìn)行學(xué)習(xí),能夠較好地解決實(shí)際情況中一些數(shù)據(jù)稀疏的問題,而擁有隱藏狀態(tài)的隱馬爾可夫模型則能夠模擬以用戶興趣為隱藏狀態(tài)的用戶評(píng)分模型。在MovieLens數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,該方法能夠有效提高個(gè)性化推薦的準(zhǔn)確度。

        1 相關(guān)工作

        1.1 推薦算法

        目前推薦系統(tǒng)[2-4]可以分為兩類:上下文感知推薦系統(tǒng)和非上下文感知推薦系統(tǒng)。它們之間的主要區(qū)別可以表述如下。對(duì)于一個(gè)用戶集合U={u1,u2,…,um}和一個(gè)產(chǎn)品集合I={i1,i2,…,im},傳統(tǒng)的推薦技術(shù)即非上下文感知推薦系統(tǒng),是基于用戶對(duì)產(chǎn)品的評(píng)分矩陣M∈Rm×n來進(jìn)行的,通過擬合矩陣特征模型來預(yù)測(cè)那些空白的數(shù)據(jù),這類被稱為非上下文感知的推薦。這種推薦模型能夠適應(yīng)很多的案例,但那些上下文信息,例如:時(shí)間、地點(diǎn)、用戶情緒等[5]并未參與其中。這些信息能為推薦提供更多的維度??梢詾樯舷挛男畔6]定義一系列上下文的維度{C3,C4,…,Ck},每個(gè)上下文維度Ci是由一系列在某一情境下所捕獲的屬性集所組成的。事實(shí)上用戶和產(chǎn)品也可以由上下文維度C1,C2來表示。

        使用用戶對(duì)產(chǎn)品的評(píng)分來進(jìn)行個(gè)性化推薦,在部分情況下有著不錯(cuò)的效果,但在許多應(yīng)用場(chǎng)景下并不能進(jìn)行精確的推薦。上下文感知推薦系統(tǒng)是通過利用用戶以及產(chǎn)品的額外信息來構(gòu)建適應(yīng)面更加廣泛的推薦系統(tǒng),以達(dá)到提高個(gè)性化推薦準(zhǔn)確度的目的,具有重要的研究意義和應(yīng)用價(jià)值。

        通常用戶的選擇是受當(dāng)前上下文信息影響的,包括時(shí)間、地點(diǎn)、人物、環(huán)境等等。Karatzoglou等[7]提出了一種將用戶,產(chǎn)品,上下文信息作為N維張量的多層推薦模型。對(duì)特征因子采用了高階奇異值分解。然而,這種模型只能應(yīng)用在一些特定的上下文信息之中,而且計(jì)算復(fù)雜度較高。Rendle等[8]通過使用因子分解機(jī)(FM)來進(jìn)行上下文感知推薦。因子分解機(jī)中可以將大量的上下文信息轉(zhuǎn)換到特征矩陣中。與多層推薦模型相比,因子分解機(jī)具有較短的計(jì)算時(shí)間,并且在預(yù)測(cè)結(jié)果和預(yù)測(cè)的質(zhì)量上都要優(yōu)于多層推薦模型。Hong等[9]提出了一種co-FM方法來對(duì)用戶的興趣進(jìn)行建模,并進(jìn)行個(gè)性化推薦。Cheng等[10]提出了一種具有損失函數(shù)的因子分解機(jī)模型,將一種特征選擇算法和因子分級(jí)機(jī)進(jìn)行合并。Wang等[11]提出了一種隨機(jī)分割的因子分解機(jī)模型來進(jìn)行上下文感知推薦。在訓(xùn)練隨機(jī)分割的因子分解機(jī)模型之前隨機(jī)選擇樹需要手動(dòng)進(jìn)行,另外還具有非常高的計(jì)算復(fù)雜度。Yin[12-15]等采用主題模型進(jìn)行興趣點(diǎn)推薦,利用一個(gè)包含隱藏變量的中間層以及用戶和產(chǎn)品空間的鏈接,但該模型面對(duì)大量信息時(shí)效果不佳。

        1.2 隱馬爾可夫模型

        隱馬爾可夫模型的主要特點(diǎn)是具有隱藏的狀態(tài)序列,以及在觀測(cè)序列的一般隨機(jī)過程。目前,基于隱馬爾可夫模型的改進(jìn)包括對(duì)隱馬爾可夫模型的改進(jìn)和將隱馬爾可夫模型與其他模型的結(jié)合。文獻(xiàn)[16-17]將一階隱馬爾可夫模型改為二階隱馬爾可夫模型,這在實(shí)際應(yīng)用中能更加符合對(duì)象特征,但算法的計(jì)算復(fù)雜度將會(huì)是一個(gè)重要的問題。Krishnalal[18]提出一種將隱馬爾可夫模型和支持向量機(jī)相結(jié)合的方法,先使用隱馬爾可夫模型進(jìn)行預(yù)分類,再使用支持向量機(jī)進(jìn)行二元分類。為解決小波系數(shù)之間的依賴問題,Crouse等[19]提出一種小波域馬爾可夫模型,該模型在分類、預(yù)測(cè)等方面也有不錯(cuò)的表現(xiàn)。

        2 方 法

        2.1 因子分解機(jī)

        因子分解機(jī)是一種基于矩陣分解的機(jī)器學(xué)習(xí)方法,對(duì)于稀疏數(shù)據(jù)有較好的學(xué)習(xí)效果。因子分解機(jī)[20]的2維模型可表示為:

        (1)

        在該模型中,模型參數(shù)Θ={w0,w1,…,wn,v1,1,…,vn,k}為w0∈R,W∈Rn,V∈Rn×k。并且

        (2)

        (3)

        對(duì)于不同的目的,損失函數(shù)的選擇也可以有所不同,通常采用的是:

        lLS(y1,y2):=(y1-y2)2

        (4)

        或者對(duì)于二分類問題(y∈{-1,1}),有:

        lC(y1,y2):=-lnσ(y1,y2)

        (5)

        由于FM模型通常含有大量的模型參數(shù)Θ,因此容易出現(xiàn)過擬合??梢酝ㄟ^引入正則化進(jìn)行處理。

        (6)

        其中,λθ∈R+是模型參數(shù)θ的正則化系數(shù)。

        對(duì)于上述優(yōu)化問題可以采用SGD算法來求解,SGD算法具有較低的計(jì)算復(fù)雜度和存儲(chǔ)復(fù)雜度,以及易實(shí)現(xiàn)等特點(diǎn),常用來優(yōu)化因子分解機(jī)模型。參數(shù)的更新如下:

        (7)

        (8)

        (9)

        (10)

        其中,η∈R+是學(xué)習(xí)速率,也可理解為梯度下降的下降速度。

        2.2 隱馬爾可夫

        一個(gè)離散的馬爾可夫鏈?zhǔn)且幌盗芯哂旭R爾可夫性質(zhì)的隨機(jī)變量X1,X2,X3…。也就是說下一狀態(tài)的可能取值只依賴于當(dāng)前狀態(tài),而與歷史狀態(tài)無關(guān)。

        P(Xn+1=x|X1=x1,X2=x2,…,Xn=xn)=P(Xn+1=x|Xn=xn)

        一個(gè)馬爾可夫模型可以表示為(S,P,Q),其中S為xi的所有可能取值所構(gòu)成的可數(shù)集,稱為該馬爾可夫鏈的狀態(tài)空間;P=[Pij]n×n是狀態(tài)轉(zhuǎn)移矩陣,Pij則表示在某一時(shí)刻處于狀態(tài)i而下一時(shí)刻處于狀態(tài)j的概率,其中n表示所有的狀態(tài)個(gè)數(shù);Q={q1,q2,…,qn}是初始的各個(gè)狀態(tài)的概率分布。

        隱馬爾可夫模型也是一種馬爾可夫鏈,不同的是它的狀態(tài)轉(zhuǎn)移過程是不可觀察的,定義如下:X={s1,s2,…,sn}表示一組狀態(tài)集合,其中n為狀態(tài)數(shù);O={v1,v2,…,vm}為一組可觀察符號(hào)集合,m為觀察值的數(shù)目;狀態(tài)轉(zhuǎn)移概率為A={aij},B={bI(k)}為狀態(tài)i的觀察概率分布,表示狀態(tài)i為對(duì)應(yīng)觀察值的概率;π={πi}表示初始化狀態(tài)分布。至此,一個(gè)隱馬爾可夫模型可以定義為:

        λ=(X,O,π,A,B)

        2.3 推薦方法

        在推薦系統(tǒng)中,數(shù)據(jù)稀疏是一個(gè)常見的問題,由于因子分解機(jī)能夠在稀疏數(shù)據(jù)中有較好的學(xué)習(xí)效果。因此,可以使用因子分解機(jī)來進(jìn)行處理。首先構(gòu)建含有上下文信息的矩陣,如圖1所示。

        圖1 含有上下文信息的矩陣

        圖1表示用戶U={u1,u2,…,um}對(duì)于產(chǎn)品I={i1,i2,…,in}在條件L={l1,l2,…,lk}的情況下進(jìn)行的評(píng)分,其中L便是由上下文信息所組成的,在L中可以添加想要加入的上下文信息,當(dāng)與該信息所描述的情況符合時(shí)由1表示,否則為0。例如,第一行的x1向量表示用戶u1在l1的條件下對(duì)于產(chǎn)品i1的評(píng)分為3。在構(gòu)建完含有上下文信息的矩陣后便可使用因子分解機(jī)來進(jìn)行學(xué)習(xí)。

        用戶的興趣是對(duì)用戶進(jìn)行個(gè)性化推薦的一個(gè)關(guān)鍵點(diǎn),如果根據(jù)用戶的興趣來進(jìn)行推薦便可大大提高推薦的準(zhǔn)確度。用戶的興趣通常來說是無法直接觀察到的,但是可以通過用戶的歷史記錄來對(duì)用戶的興趣進(jìn)行猜測(cè)。

        通過引入隱馬爾可夫模型來進(jìn)行預(yù)測(cè)操作,以用戶的興趣作為隱馬爾可夫模型中的隱藏狀態(tài),可以事先手動(dòng)設(shè)置隱含狀態(tài)集合X,接著根據(jù)用戶對(duì)產(chǎn)品的評(píng)分,對(duì)每一個(gè)用戶按照時(shí)間的順序來構(gòu)建一組可觀察符號(hào)集合O,之后便可以通過這組可觀察的狀態(tài)序列來對(duì)隱馬爾可夫模型進(jìn)行學(xué)習(xí)。具體的方法可以使用前向后向算法進(jìn)行,這里就不再進(jìn)行介紹了。

        文中采用的推薦方法的整體流程如圖2所示。

        首先對(duì)數(shù)據(jù)集進(jìn)行隨機(jī)劃分,按一定比例分為測(cè)試集和訓(xùn)練集。接著對(duì)訓(xùn)練數(shù)據(jù)集構(gòu)建上下文信息矩陣,再對(duì)上下文信息矩陣引入因子分解機(jī)來進(jìn)行求解,便可求得用戶評(píng)分的初始預(yù)測(cè)值,之后將初始預(yù)測(cè)值加入到上述可觀察符號(hào)集O中,結(jié)合用戶的歷史評(píng)分對(duì)隱馬爾可夫模型進(jìn)行學(xué)習(xí),最后再根據(jù)得到的隱馬爾可夫模型求解用戶對(duì)產(chǎn)品的最終預(yù)測(cè)值。得到最終預(yù)測(cè)值后便可根據(jù)最終預(yù)測(cè)評(píng)分的最高n位來進(jìn)行推薦。

        圖2 算法流程

        3 實(shí) 驗(yàn)

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

        為驗(yàn)證文中方法的有效性,使用MovieLens-1M和MovieLens-10M數(shù)據(jù)集,其中MovieLens-1M數(shù)據(jù)集包含由6 040名用戶對(duì)于3 900部電影進(jìn)行的約一百萬的評(píng)分,而Movielens-10M數(shù)據(jù)集包含71 567名用戶對(duì)10 681部電影進(jìn)行的約一千萬的評(píng)分。其中評(píng)分為1到5星,對(duì)于用戶記錄了用戶性別、年齡、職業(yè)和郵編,其中對(duì)于年齡的劃分分為:小于18,18-24,25-34,34-44,45-49,50-55以及大于55。在職業(yè)上則進(jìn)行了20種劃分,包括作家、律師、無業(yè)游民、大學(xué)生等。而對(duì)于電影分成18種類型。

        用戶對(duì)電影的評(píng)分構(gòu)成可觀察的集合,再根據(jù)電影的類型作為用戶興趣集合。而對(duì)于上下文矩陣對(duì)用戶考慮性別、職業(yè)和年齡屬性。而對(duì)于電影則考慮電影類型。此外對(duì)用戶的評(píng)分按照評(píng)分時(shí)間的順序構(gòu)建每個(gè)用戶的評(píng)分序列。在數(shù)據(jù)上按照80%和20%進(jìn)行劃分,其中20%的測(cè)試集合為隨機(jī)選取,剩余的80%則是訓(xùn)練集。

        3.2 評(píng)估指標(biāo)

        推薦方法的評(píng)價(jià)指標(biāo)有很多,但目前使用較多也是最直接的一類指標(biāo)是準(zhǔn)確度,比較典型的有平均絕對(duì)誤差(mean absolute error,MAE)。

        (11)

        另外,均方根誤差(root mean squared error,RMSE)也是一個(gè)使用較為頻繁的指標(biāo)。

        (12)

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

        在對(duì)提出的方法(FM-HMM)進(jìn)行實(shí)驗(yàn)時(shí),選擇了SVD++[20]和因子分解機(jī)(FM)兩種方法分別對(duì)MovieLens-1M和MovieLens-10M兩個(gè)數(shù)據(jù)集進(jìn)行對(duì)比實(shí)驗(yàn),并選擇了平均絕對(duì)誤差和均方根誤差作為評(píng)估標(biāo)準(zhǔn)。另外SVD++是一種典型的非上下文感知推薦算法,而FM和FM-HMM則是基于上下文信息來進(jìn)行推薦的。在構(gòu)建含有上下文信息的矩陣時(shí),對(duì)于用戶選取了性別、年齡和職業(yè)作為上下文信息,在年齡和職業(yè)的劃分上,采用了數(shù)據(jù)集所使用的劃分方法分別將年齡劃分為7段,而對(duì)職業(yè)則分為21種。對(duì)于電影,使用了電影類型來作為上下文信息,將電影分為了18種類型。而在對(duì)用戶建立按照時(shí)間順序的用戶評(píng)分序列時(shí),對(duì)于使用因子分解機(jī)初步預(yù)測(cè)得到的數(shù)據(jù)集,選擇將這些預(yù)測(cè)值作為最新的評(píng)分來進(jìn)行排列。

        對(duì)于兩種數(shù)據(jù)集得到的實(shí)驗(yàn)結(jié)果如表1和表2所示。分別查看可以明顯地發(fā)現(xiàn),上下文感知推薦在誤差上明顯要低于非上下文感知推薦方法。再對(duì)比FM模型和FM-HMM模型可以發(fā)現(xiàn)FM-HMM模型表現(xiàn)要略優(yōu)于FM模型。再對(duì)比表1和表2的結(jié)果可以發(fā)現(xiàn),當(dāng)數(shù)據(jù)量增加時(shí),三種方法在誤差上都有相應(yīng)的減少并且FM-HMM方法減少的量要略微大于FM方法。以上結(jié)果表明,引入上下文信息以及隱藏信息來進(jìn)行推薦是可行的。

        表1 MovieLens-1M數(shù)據(jù)結(jié)果

        表2 MovieLens-10M數(shù)據(jù)結(jié)果

        4 結(jié)束語

        文中提出了一種應(yīng)對(duì)上下文感知的推薦算法,通過結(jié)合因子分解機(jī)和隱馬爾可夫模型來實(shí)現(xiàn)個(gè)性化推薦。該算法使用因子分解機(jī)進(jìn)行初始預(yù)測(cè),再將用戶的興趣偏好作為隱藏屬性來構(gòu)建隱馬爾可夫模型進(jìn)行預(yù)測(cè)。通過與其他機(jī)器學(xué)習(xí)方法的對(duì)比來驗(yàn)證該方法的有效性,并采用MovieLens數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)分析。實(shí)驗(yàn)結(jié)果表明,引入因子分解機(jī)和隱馬爾可夫模型能夠有效地提升推薦結(jié)果的準(zhǔn)確性。但是文中研究也存在一些不足之處,在對(duì)用戶的興趣偏好方面比較依賴具體的應(yīng)用領(lǐng)域,而且興趣的選擇上也比較單一,今后將會(huì)嘗試在興趣的選擇上進(jìn)行更多元化的實(shí)現(xiàn)。此外,也會(huì)思考如何在大數(shù)據(jù)平臺(tái)下進(jìn)行實(shí)現(xiàn)。

        猜你喜歡
        用戶信息方法
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        關(guān)注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        可能是方法不對(duì)
        關(guān)注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        關(guān)注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        用對(duì)方法才能瘦
        Coco薇(2016年2期)2016-03-22 02:42:52
        四大方法 教你不再“坐以待病”!
        Coco薇(2015年1期)2015-08-13 02:47:34
        捕魚
        如何獲取一億海外用戶
        展會(huì)信息
        日本不卡一区二区三区在线视频 | 亚洲国产精品线路久久| 人妻少妇中文字幕久久69堂| 美女被内射中出在线观看| 国产成人无码a在线观看不卡| 国产在线精品成人一区二区三区| 999精品全免费观看视频| 亚洲av日韩一区二三四五六七| 最新中文字幕日韩精品| 麻豆精品久久久久久中文字幕无码| 一道久在线无码加勒比| 波多吉野一区二区三区av | 美女国产毛片a区内射| 精品无码久久久久成人漫画| 在线观看av手机网址| 亚洲一级天堂作爱av| 欧美成人精品第一区| 台湾佬自拍偷区亚洲综合| 亚洲国产另类久久久精品小说| 国产色婷亚洲99精品av网站| 亚洲欧洲日产国码av系列天堂| 日本公妇在线观看中文版| 久久久国产精品免费无卡顿| 91精品蜜桃熟女一区二区| 日本护士xxxxhd少妇| 亚洲熟女综合一区二区三区| 免费 无码 国产精品| 激情都市亚洲一区二区| 亚洲精品色婷婷在线影院| 精品久久久久久久久久久aⅴ| 国产免费视频一区二区| 美女用丝袜脚玩我下面| 欧美大屁股xxxx| 天天躁日日操狠狠操欧美老妇 | 国产亚洲av成人噜噜噜他| 挺进朋友人妻雪白的身体韩国电影 | 国产99r视频精品免费观看 | 黑人巨大精品欧美一区二区免费| 亚欧AV无码乱码在线观看性色| 男女干逼视频免费网站| 乱码窝窝久久国产无人精品|