国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于改進(jìn)用戶畫像的協(xié)同過濾推薦算法

2022-02-09 02:21:46姜久雷李盛慶
計(jì)算機(jī)仿真 2022年12期
關(guān)鍵詞:畫像矩陣特征

凌 坤,姜久雷,李盛慶

(1. 北方民族大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,寧夏 銀川 750021;2. 常熟理工學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院,江蘇 蘇州 215500)

1 引言

隨著Internet技術(shù)的發(fā)展,網(wǎng)絡(luò)數(shù)據(jù)逐年增加[1]。為了更好地解決客戶的復(fù)雜需求和海量信息之間的矛盾,誕生了個(gè)性化推薦系統(tǒng)[2],該系統(tǒng)可運(yùn)用到很多領(lǐng)域中,例如,產(chǎn)品推薦[3],電影推薦[4],音樂推薦[5],社交網(wǎng)絡(luò)推薦[6]和許多其它行業(yè)。個(gè)性化推薦技術(shù)[7]會(huì)根據(jù)客戶在科學(xué)研究中的興趣和偏好,強(qiáng)烈推薦客戶所需的各種資源。在許多強(qiáng)烈推薦的技術(shù)中,協(xié)作過濾算法現(xiàn)在是更流行的技術(shù)。與傳統(tǒng)的基于內(nèi)容過濾的強(qiáng)推薦方法不同,協(xié)作過濾算法通過分析客戶的興趣和偏好,在消費(fèi)者群體中尋找與目標(biāo)客戶相似的客戶,并為不同的新客戶提供相似的客戶評(píng)級(jí)。對(duì)于新項(xiàng)目,對(duì)該最新項(xiàng)目的目標(biāo)客戶的偏好水平進(jìn)行了預(yù)測(cè)分析,并根據(jù)相反方向的排名得分獲得了強(qiáng)烈的推薦結(jié)果。

根據(jù)用戶喜好將相應(yīng)的作品推送給用戶的算法,即協(xié)同過濾算法。實(shí)際上,它們可以分為三類:基于用戶的[8,9],基于新項(xiàng)目的[10,11]和基于物理模型的[12]。協(xié)同過濾算法。協(xié)同過濾算法可以過濾這些復(fù)雜的敘事內(nèi)容,可以解決不能完全自動(dòng)化的信息過濾問題,并且具有強(qiáng)烈推薦新信息的功能。但該算法并不是完美的。在信息量持續(xù)擴(kuò)大的情況下,它存在評(píng)分矩陣稀疏的問題[13]。

關(guān)于傳統(tǒng)強(qiáng)烈推薦算法的稀缺性問題,來自世界各地的許多學(xué)者介紹了與用戶畫像有關(guān)的算法,并從不同角度進(jìn)行了科學(xué)研究。Bertani等[14]處理了傳統(tǒng)的強(qiáng)推薦算法不能合理利用用戶信息的問題,并明確提出了一種基于用戶資料的用戶肖像強(qiáng)推薦算法。該算法通過學(xué)習(xí)用戶的個(gè)人信息并整合對(duì)象的新穎性和時(shí)尚性來開發(fā)智能推薦。經(jīng)過實(shí)驗(yàn)研究后發(fā)現(xiàn),與其它算法相比,該算法獲得的效果更為理想。姚等[15]明確提出了一種基于愛好識(shí)別和個(gè)人行為的智能推薦算法。該算法基于用戶的愛好標(biāo)識(shí)和歷史時(shí)間訪問記錄來構(gòu)建用戶肖像,并強(qiáng)烈推薦用戶感興趣的電影。Hu等[16]經(jīng)過研究后,以肖像特征為基礎(chǔ),提出相應(yīng)的推薦算法。該算法使用酒店餐廳的消費(fèi)者信息和房間總數(shù)來構(gòu)造用戶畫像,以開發(fā)針對(duì)酒店房間及其酒店餐廳服務(wù)項(xiàng)目的智能推薦。Abri等[17]明確提出了一種基于主題風(fēng)格用戶畫像的智能推薦實(shí)體模型。實(shí)體模型使用K-means聚類算法為用戶執(zhí)行聚類算法,并在每種主題樣式中使用普遍的方法來考慮用戶之間的相似性,提高最終用戶得分排名,并解決用戶的冷啟動(dòng)問題。黃等[18]明確提出了一種針對(duì)人性化廣告的強(qiáng)力推薦算法。該算法根據(jù)每個(gè)用戶的歷史瀏覽記錄建立用戶肖像,并直觀地表達(dá)用戶的廣告偏好。對(duì)于這些不常見的廣告,請(qǐng)使用廣告的特征和用戶頭像來提出強(qiáng)烈的建議。楊等[19]結(jié)合馬爾科夫鏈,設(shè)計(jì)出智能推薦算法。該算法使用馬爾可夫鏈獲得用戶之間的相似度,并根據(jù)用戶分?jǐn)?shù)開發(fā)相關(guān)信息。Ahmadian等[20]以信任為基礎(chǔ)提出的推計(jì)算法將信任度分?jǐn)?shù)與社交媒體中的信任度緊密集成在一起,并通過增加用戶之間的信任度來改善強(qiáng)推薦功能。上述研究表明,在用戶肖像協(xié)同過濾方面已經(jīng)取得了一些研究成果,但仍存在數(shù)據(jù)稀缺,強(qiáng)推薦精度低的問題[13]。

針對(duì)目前還存在的用戶評(píng)分矩陣稀疏性問題,本文提出了一種基于用戶畫像的協(xié)同過濾推薦算法(CPCF),該算法將用戶評(píng)分矩陣轉(zhuǎn)化為用戶特征矩陣,采用用戶畫像產(chǎn)生的特征權(quán)重與傳統(tǒng)相似度相結(jié)合,計(jì)算得到CPsim相似度公式,最后利用改進(jìn)的權(quán)重聚合公式(DFM)得到評(píng)分矩陣,有效填充了評(píng)分矩陣中的缺失值,部分解決協(xié)同過濾算法在相似度計(jì)算階段由于用戶評(píng)分?jǐn)?shù)據(jù)稀疏性引起的推薦準(zhǔn)確率不高的問題。經(jīng)在movieslens和數(shù)據(jù)集上與UBCF等推薦算法進(jìn)行對(duì)比分析,實(shí)驗(yàn)結(jié)果表明,相比UBCF等算法平均絕對(duì)誤差(MAE)降低了13%,精確率、召回率和F1-Score分別提高了11%、3%和4%。

2 傳統(tǒng)協(xié)同過濾推薦模型

2.1 基于奇異值的相似性推薦算法

2012年Bobadilla等人[21]提出了一種SM(similarity measure based on singularity)相似度量模型。其分析用戶相關(guān)性,根據(jù)分析來獲得實(shí)際相似度。根據(jù)相關(guān)性把所有內(nèi)容分為兩部分:正相關(guān)、負(fù)相關(guān),若相關(guān)性過低,則屬于負(fù)相關(guān),可定義為與用戶喜好相反的項(xiàng)目,在實(shí)際操作時(shí),盡可能減少該類項(xiàng)目的推薦。分析相關(guān)性時(shí),可利用評(píng)分的方法來表示分析結(jié)果。對(duì)每個(gè)項(xiàng)目均進(jìn)行一次評(píng)分,最高為5分,最低為1分,若分值低于3(含3分),則可將該項(xiàng)目歸類到負(fù)相關(guān)。該過程中,得到的所有正相關(guān)項(xiàng)目存放到Zi集合內(nèi),負(fù)相關(guān)存放至Fi集合,則奇異值的計(jì)算公式

(1)

(2)

以下通過三步來計(jì)算目標(biāo)用戶對(duì)項(xiàng)目的評(píng)分。

首先利用MSD(Mean Squared Differences)進(jìn)行相似度計(jì)算,見式(3)

(3)

Iu和Iu′表示用戶u和用戶u′的項(xiàng)目,rui為用戶u對(duì)于項(xiàng)目i的評(píng)分。

對(duì)式(3)進(jìn)行改進(jìn),將之前計(jì)算的奇異值加入MSD公式,得到了SM相似度量模型,見式(4)

(4)

rui為用戶u對(duì)于項(xiàng)目i的評(píng)分,ruj為用戶u對(duì)于項(xiàng)目j的評(píng)分。

隨后結(jié)合上述表達(dá)式,設(shè)定閾值為k,若計(jì)算結(jié)果高于該值,則可將該項(xiàng)目設(shè)置為鄰居用戶。確定所有鄰居用戶后,分析其與目標(biāo)用戶間的相似性,從而得到該項(xiàng)目的最終分值預(yù)估值。這里利用改進(jìn)的權(quán)重聚合公式進(jìn)行評(píng)分預(yù)測(cè),見式(5)

(5)

以上表達(dá)式內(nèi),各參數(shù)涵義如下:s(u,u′)——目標(biāo)用戶及u的相似度;rui——u對(duì)項(xiàng)目評(píng)分值;ru——u平均分值。

根據(jù)以上計(jì)算的最終分值,確定該項(xiàng)目奇異值,并融合其與評(píng)分矩陣后,計(jì)算后得到的結(jié)果即為相似度,通過這種方法可避免矩陣中存在數(shù)據(jù)稀疏的問題。但是SM算法的不足之處在于用戶評(píng)分矩陣奇異值稀疏問題,導(dǎo)致計(jì)算結(jié)果不準(zhǔn)確并且影響相似度結(jié)果,最終影響推薦的性能。

2.2 基于用戶協(xié)同過濾推薦算法

在許多推薦算法方法中,基于用戶協(xié)同過濾的強(qiáng)推薦算法是第一個(gè)問世。用戶協(xié)同過濾算法是在1992年明確提出的,并用于電子郵件過濾設(shè)備[22]。兩年后出現(xiàn)了有關(guān)該算法使用的相關(guān)報(bào)道。到2000年,該算法已成為業(yè)界最知名的算法。

實(shí)際上人們不管是在購(gòu)物還是做其它事情,都會(huì)無意識(shí)根據(jù)自己的喜好來選擇,如在商場(chǎng)內(nèi)購(gòu)物時(shí),通常都是基于自己的喜好或結(jié)合朋友推薦來購(gòu)物。而本文中提出的協(xié)同過濾算法,就是以該思想為基礎(chǔ)而設(shè)計(jì)的,其首先采集用戶信息,判斷該用戶的喜好,再根據(jù)該結(jié)果搜索到喜好較為相似的鄰居用戶,結(jié)合鄰居用戶評(píng)分值,來預(yù)估目標(biāo)用戶對(duì)該項(xiàng)目的評(píng)分,并根據(jù)該評(píng)估結(jié)果,給用戶推薦相應(yīng)的Top-N項(xiàng)目。將其運(yùn)算過程用結(jié)構(gòu)圖描述出來,如下圖,項(xiàng)目a、b、d都為用戶A的喜好,而B僅喜好c,用戶C則喜好a、d,由此,項(xiàng)目a、d都為用戶A、C的喜好,表明兩用戶喜好較為接近,根據(jù)算法思想,可得項(xiàng)目b可能為用戶C的喜好,因此可將該項(xiàng)目推薦給C,這就是該算法的基本原理。

圖1 基于用戶協(xié)同過濾算法原理

該算法雖然具有較高的準(zhǔn)確率,但其也有一定的缺陷。隨著用戶的增加,相似度測(cè)量和得分矩陣的成本非常高,導(dǎo)致矩陣的稀缺性增加。另外,由于新用戶在歷史上的個(gè)人行為較少,因此在協(xié)作過濾強(qiáng)推薦算法中仍然存在無法立即對(duì)新用戶進(jìn)行智能推薦的問題。

針對(duì)算法中存在的該問題,人們經(jīng)過不斷研究后也提出了相應(yīng)的解決方法。用戶畫像可以準(zhǔn)確提供用戶的偏好信息,根據(jù)偏好信息構(gòu)建用戶畫像并填充稀疏矩陣,部分改進(jìn)傳統(tǒng)協(xié)同過濾算法具有的數(shù)據(jù)稀疏問題,可以提升推薦性能,所以本文重點(diǎn)研究基于用戶畫像的協(xié)同過濾推薦[23]。人像的定義[24]首先是人機(jī)交互的發(fā)起者艾倫·庫(kù)珀(Alan Cooper)明確提出的。用戶肖像指的是基于用戶的相關(guān)特征,偏好,生活方式,個(gè)人行為和其它信息的帶有標(biāo)簽的抽象用戶實(shí)體模型。本文使用用戶的性別,年齡和工作特征來構(gòu)建用戶肖像,并使用改進(jìn)的CPsim來衡量用戶的相似性。即采集用戶的相關(guān)信息,如職業(yè)、性別等,利用這些信息得到對(duì)應(yīng)的用戶畫像。

3 基于改進(jìn)的用戶畫像協(xié)同過濾算法

3.1 生成用戶特征

Bobadilla在基于奇異值的相似性模型中提出的SM模型[21],根據(jù)用戶-項(xiàng)目評(píng)分矩陣,計(jì)算奇異值權(quán)重,從而獲得對(duì)應(yīng)的畫像。本章基于SM模型進(jìn)行用戶特征權(quán)重的計(jì)算。對(duì)于不同的用戶信息進(jìn)行分類,并且計(jì)算每一類別相應(yīng)的特征系數(shù)與特征權(quán)重,從而生成用戶畫像進(jìn)行推薦。用戶的基本信息包括性別、年齡和職業(yè),以用戶性別信息為例,將用戶評(píng)分矩陣轉(zhuǎn)換為用戶性別矩陣,計(jì)算性別系數(shù)以及性別權(quán)重,得到用戶性別矩陣,見表1。

表1 用戶性別矩陣

M=男性特征

W=女性特征

其中,M、W分別為男、女性特征。如U1與I1對(duì)應(yīng)的用戶性別矩陣中為M,則表示對(duì)項(xiàng)目I1感興趣的用戶U1為男性用戶。如果一個(gè)項(xiàng)目中的某一性別的用戶越多,則該項(xiàng)目更加受這一性別人群的喜愛。

計(jì)算用戶的特征系數(shù),通過用戶性別矩陣選取相應(yīng)的性別特征集合。該系數(shù)中包含男性、女性兩部分,計(jì)算公式如下:

(8)

(9)

結(jié)合以上得到的計(jì)算值,獲得相應(yīng)的性別權(quán)重,進(jìn)而確定性別特征。用戶特征反應(yīng)了某一性別的用戶對(duì)于該項(xiàng)目的偏好程度,性別特征計(jì)算見式(10)(11):

(10)

(11)

上述即為性別特征的分析方法。根據(jù)性別系數(shù)來判斷權(quán)重值,從而獲得對(duì)應(yīng)的特征。其它的用戶特征計(jì)算方法與用戶性別特征計(jì)算方法相類似,年齡、職業(yè)等特征不再具體描述。

3.2 用戶畫像生成

2.1節(jié)以用戶性別特征為例介紹了用戶特征計(jì)算方法,本節(jié)將用戶的信息進(jìn)行明確的劃分并計(jì)算信息特征,然后通過信息特征權(quán)重構(gòu)建用戶畫像。

對(duì)于用戶的年齡和職業(yè)信息來說,信息的種類比較復(fù)雜,無法直接利用公式進(jìn)行計(jì)算。因此在計(jì)算前,需把職業(yè)、年齡分為兩個(gè)不同的特征。比如,將用戶的年齡信息按照不同的年齡階段分為青少年、青年、中年、老年,將用戶的職業(yè)信息按照不同的職業(yè)種類分為技術(shù)人員、學(xué)術(shù)人員、事務(wù)人員、經(jīng)管人員及其他人員。

將用戶的信息分類完成,利用之前的分類結(jié)果設(shè)立相應(yīng)的特征系數(shù)及特征標(biāo)簽,具體標(biāo)簽見表2。

表2 用戶特征含義

對(duì)用戶的基本信息設(shè)立相應(yīng)的標(biāo)簽,然后對(duì)用戶的標(biāo)簽進(jìn)行數(shù)值化,將相應(yīng)的年齡段以及職業(yè)轉(zhuǎn)化為數(shù)值形式。具體的年齡轉(zhuǎn)化方法為:1:0-18歲,18:18-24歲,25:25-34歲,35:35-44歲,45:45-49歲,50:50-55歲,56:56歲以上。具體的職業(yè)轉(zhuǎn)化方法為:0-20:未知,老師,藝術(shù)者,行政,學(xué)生,服務(wù)人員,醫(yī)生,管理人員,農(nóng)民,家庭主婦,青少年,律師,IT人員,退休人員,銷售者,科學(xué)家,個(gè)體戶,工程師,技術(shù)人員,待業(yè)人員,作家。其特征標(biāo)簽如表3所示。

表3 特征標(biāo)簽

下面通過分類產(chǎn)生新的用戶信息表,將用戶項(xiàng)目評(píng)分矩陣轉(zhuǎn)換為項(xiàng)目特征矩陣,具體轉(zhuǎn)換方法如式(12)所示。根據(jù)得到的矩陣,結(jié)合評(píng)分矩陣,即可獲得對(duì)應(yīng)的特征矩陣,轉(zhuǎn)換公式如下

(12)

(13)

4 CPCF推薦算法

為解決傳統(tǒng)推薦算法用戶評(píng)分矩陣稀疏、推薦精度不足、無法有效利用用戶信息問題,本文采用改進(jìn)的權(quán)重聚合方法(DFM)進(jìn)行評(píng)分,提出基于用戶畫像的協(xié)同過濾推薦算法,。本文算法以用戶-特征矩陣作為原始數(shù)據(jù),把整個(gè)推薦過程分為改進(jìn)用戶項(xiàng)目評(píng)分矩陣、改進(jìn)的相似性計(jì)算方法和評(píng)分并產(chǎn)生推薦結(jié)果三部分。

4.1 改進(jìn)用戶-項(xiàng)目評(píng)分矩陣

根據(jù)上文中提出的矩陣轉(zhuǎn)換公式,采集到用戶基本信息后,利用生成的矩陣融合特征,即可獲得對(duì)應(yīng)的特征矩陣,這就是評(píng)分矩陣的優(yōu)化方法。用戶特征矩陣即為用戶畫像,通過用戶畫像中每一個(gè)特征對(duì)應(yīng)的權(quán)重值可以觀察出該項(xiàng)目受哪些用戶的喜愛。

4.2 改進(jìn)的相似性計(jì)算方法

通常情況下,可利用余弦相似度、Pearson相關(guān)系數(shù)兩種方法,對(duì)用戶相似度展開計(jì)算。1994年,Resnick明確提出應(yīng)用Pearson相關(guān)系數(shù)[25](PCC)來測(cè)量用戶之間的相似度,請(qǐng)參見式(14)

(14)

相關(guān)參數(shù)含義如下:Iu——u進(jìn)行過評(píng)分的全部項(xiàng)目集合;i——評(píng)分項(xiàng)目;ru——u的評(píng)分均值。

余弦相似度[26],即判斷空間中任意2向量角度的余弦值,根據(jù)該值來分析兩者差異。若兩者計(jì)算得到的余弦值與1相差越小,表明兩向量存在的差異非常小,相似度極大。將其運(yùn)用到推薦算法內(nèi),可將向量設(shè)置為用戶針對(duì)該項(xiàng)目給出的評(píng)分值,以此來計(jì)算相似度

(15)

下面分三步得到CPsim相似度公式。

首先將用戶畫像融入皮爾遜相關(guān)系數(shù)公式得到改進(jìn)的皮爾遜相似度(PCCstrsim),見式(16)所示。在該公式中加入畫像權(quán)重后,得到的表達(dá)式為(17),即余弦相似度。將完善后的兩個(gè)相似度結(jié)合,即可獲得CPsim相似度,即表達(dá)式(18)。這里將用戶畫像融入皮爾遜以及余弦相似度公式,可以利用用戶的特征信息代替?zhèn)鹘y(tǒng)相似度的評(píng)分,通過用戶準(zhǔn)確的畫像信息獲取相似度可以更加準(zhǔn)確的觀察用戶之間的相似程度。最后將兩種改進(jìn)的相似度公式進(jìn)行加權(quán),從兩種不同角度統(tǒng)一去判定用戶間的相似程度,有效提高了推薦的準(zhǔn)確性。

(16)

(17)

(18)

4.3 評(píng)分并進(jìn)行推薦

結(jié)合實(shí)際情況,利用實(shí)驗(yàn)的方法尋找最實(shí)用的評(píng)分法,本次設(shè)計(jì)中對(duì)比WS、DFM兩種算法下獲得的MAE值來選擇相應(yīng)的評(píng)分法,最終確定使用DFM法來獲得相應(yīng)的評(píng)分值。結(jié)合表達(dá)式(16),對(duì)相似度展開計(jì)算,獲得鄰居用戶。隨后通過下表達(dá)式來預(yù)估用戶對(duì)該項(xiàng)目的評(píng)分值

(19)

以上內(nèi)容介紹了CPCF推薦的三個(gè)主要步驟,具體的推薦流程如圖2所示。

圖2 CPCF推薦算法流程

首先根據(jù)數(shù)據(jù)集提供的用戶評(píng)分矩陣,利用性別系數(shù)、職業(yè)系數(shù)以及年齡系數(shù)計(jì)算公式計(jì)算每一個(gè)用戶的特征系數(shù),從而獲得項(xiàng)目特征矩陣。獲得特征矩陣后,即可獲得該用戶的畫像。下面將用戶畫像融入PCC相似度和COS相似度,獲得改進(jìn)的PCCstrsim相似度以及COSstrsim相似度,并對(duì)兩種相似度加權(quán)求和生成CPsim相似度。其次利用CPsim相似度和改進(jìn)的權(quán)重聚合評(píng)分公式獲取用戶評(píng)分。以降序的方式,將得到的所有分值進(jìn)行排列,并把排列在前k的用戶提取出來。

算法描述:

Algorithm 1 Recommendation based on user profile INPUT: Train_User_Item_Rating_MatrixTest_User_Item_Rating_MatrixUser_Profile_Matrix,Label_setOUTPUT: Scoring_Matrix1) for every user in Train_User_Profile_Matrix:2) for every label in Label_set:3) Use improved similarity formula4) Generate user similarity_matrix5) for every user in Test_User_Item_Rating_Matrix:6) for every item in Test_User_Item_Rating_Matrix:7) find the nearest neighbor8) use dfm score prediction formula 9) generate user_item score matrix Return Scoring_Matrix

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

本次實(shí)驗(yàn)中獲得的所有數(shù)據(jù)通過MoviesLens-1M進(jìn)行收集。在這兩個(gè)數(shù)據(jù)集通過與UBCF等算法進(jìn)行對(duì)比實(shí)驗(yàn)分析,驗(yàn)證所提推薦算法的性能。在Windows10系統(tǒng)、8G內(nèi)存、Intel Core i5-4570@2.20GHz處理器條件下完成所有操作。將F1-Score、召回率、MAE、精確率設(shè)置為評(píng)價(jià)指標(biāo)。

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

本文中所進(jìn)行的實(shí)驗(yàn)通過MoviesLens-1M、Book-Crossing數(shù)據(jù)集完成,前者中包含評(píng)分、電影、用戶三部分,而實(shí)驗(yàn)中所研究到的職業(yè)、年齡、性別等均屬于用戶信息。而評(píng)分文件內(nèi),評(píng)分次數(shù)達(dá)到一百萬(wàn)次,總用戶數(shù)為6040,電影數(shù)量3952,表明該文件中,每位用戶評(píng)分過的電影最少有20部。而Book-Crossing數(shù)據(jù)集由Cai-Nicolas Ziegler在經(jīng)過4周的爬取,在人類系統(tǒng) 首席技術(shù)官Ron Hornbaker的允許下,從Book-Crossing社區(qū)中收集。其中包含了278858個(gè)用戶對(duì)271379個(gè)項(xiàng)目的1149780次評(píng)分,其中包括用戶信息、書目信息和評(píng)分信息。

表4 數(shù)據(jù)集

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

為了更好地考慮所提出方法的特性,本文將平均絕對(duì)誤差(MAE),精度,均方誤差和F1-Score用作評(píng)估指標(biāo)值。MAE指標(biāo)值表示預(yù)測(cè)分析與特定值之間的平均偏差。若獲得的該指標(biāo)值相對(duì)較小,表明該算法推薦的精準(zhǔn)率越高。若{ac1,ac2,…,acn}表示為真實(shí)評(píng)分集合,{pr1,pr2,…,prn}表示為預(yù)估分值,則可利用以下表達(dá)式來計(jì)算MAE

(20)

在所有推薦的項(xiàng)目中,用戶實(shí)際喜歡的項(xiàng)目占總推薦項(xiàng)目的比例,即為精確率,因此可根據(jù)該指標(biāo)值的大小,來判斷系統(tǒng)給出的推薦是否精確。而推薦準(zhǔn)確的項(xiàng)目數(shù)、測(cè)試集內(nèi)所有項(xiàng)目的比值,即為召回率,根據(jù)召回率大小可判斷系統(tǒng)所使用的算法是否合適,從而判斷其推薦精度。通常在計(jì)算這兩個(gè)指標(biāo)的時(shí)候,首先需要根據(jù)評(píng)分值,把測(cè)試集內(nèi)的項(xiàng)目劃分為正相關(guān)、負(fù)相關(guān),分值較高的部分,為正相關(guān);而評(píng)分后項(xiàng)目集合內(nèi),也需要?jiǎng)澐譃橥扑]、不推薦項(xiàng)目。精確率是針對(duì)預(yù)測(cè)結(jié)果而言,表示為被推薦的相關(guān)項(xiàng)目數(shù)量與被推薦的項(xiàng)目總數(shù)之比,具體見式(21)所示

(21)

與精確率不同,召回率針對(duì)的是原來的樣本,表示為被推薦的相關(guān)項(xiàng)目數(shù)量與所有相關(guān)項(xiàng)目的總數(shù)量,具體見式(22)所示

(22)

其中,Nrx——相關(guān)項(xiàng)目中,被推薦數(shù);Nbx——不相關(guān)項(xiàng)目中,被推薦數(shù);Nrn——相關(guān)項(xiàng)目中,未推薦數(shù)。

利用算法設(shè)計(jì)推薦系統(tǒng)時(shí),為提高推薦精度,不僅要分析其精確率,還需要對(duì)召回率展開計(jì)算,通常可根據(jù)兩者加權(quán)調(diào)和后得到的均值來結(jié)合分析,即計(jì)算F1-Score值。當(dāng)?shù)玫降闹递^高時(shí),表明該系統(tǒng)推薦的項(xiàng)目較為準(zhǔn)確。其計(jì)算公式為

(23)

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

將操作中采集到的全部數(shù)據(jù)劃分為5類,其中測(cè)試集占比20%,剩余為訓(xùn)練集。為了增強(qiáng)結(jié)果的穩(wěn)定性,本文使用不同的劃分進(jìn)行多輪交叉驗(yàn)證,并把每次的結(jié)果取平均值,本文實(shí)驗(yàn)進(jìn)行了五重交叉驗(yàn)證。

本文選取鄰居數(shù)為5到195,依次遞增10,分別對(duì)UBCF算法、SM算法以及本文所提算法的MAE進(jìn)行比較,比較結(jié)果如圖3所示。

圖3 三種算法在不同k值的MAE

圖3中對(duì)比了兩個(gè)數(shù)據(jù)集中三種算法的MAE值,從圖中MAE的變化趨勢(shì)可以看出,3種算法的MAE都會(huì)隨著鄰居數(shù)量的變化而變化。當(dāng)鄰居數(shù)量選取較少時(shí),由于只參考了少數(shù)人的意見,導(dǎo)致預(yù)測(cè)評(píng)分受個(gè)人因素影響較大,CPCF和SM算法中不能給出準(zhǔn)確的預(yù)測(cè),所以MAE偏高,但是UPCF算法基于用戶進(jìn)行評(píng)分,所以當(dāng)用戶數(shù)較少時(shí)也可以給出準(zhǔn)確的預(yù)測(cè),MAE低于另兩個(gè)算法;當(dāng)鄰居數(shù)量逐漸增多時(shí),由于融入更多用戶的參考意見,會(huì)有效的改進(jìn)預(yù)測(cè)效果,導(dǎo)致MAE有所降低,并且隨著鄰居數(shù)量達(dá)到峰值,MAE值達(dá)到最低。但是由于MoviesLens數(shù)據(jù)集的數(shù)據(jù)相較于Book-Crossing數(shù)據(jù)更加稀疏,導(dǎo)致用戶對(duì)于同一項(xiàng)目的評(píng)分過多,真實(shí)評(píng)分的數(shù)量降低,所以Book-Crossing上的MAE值要低于MoviesLens。從以上分析來看,本文提出的CPCF算法的MAE值較UBCF等算法最多降低了13%,在推薦性能方面要優(yōu)于其它兩種算法。

對(duì)比不同算法下獲得的召回率、準(zhǔn)確率,結(jié)果如下圖,前者為橫軸,圖中的點(diǎn)為推薦數(shù)值。推薦數(shù)值越高,表明該算法下獲得的兩指標(biāo)值越大。從圖中可以看出,兩個(gè)數(shù)據(jù)集上CPCF均在SM的上方,而SM在UBCF的上方,綜合看來,CPCF算法的準(zhǔn)確率與召回率較其它兩種算法依次提高了11%和3%,推薦準(zhǔn)確性有所提升。

精確率與召回率在某種程度上是相互矛盾的,如果精確率很高,那么相應(yīng)的召回率就會(huì)很低。兩種評(píng)價(jià)指標(biāo)對(duì)于算法性能的評(píng)價(jià)還有所弊端,所以這里利用F1-score綜合兩種評(píng)價(jià)指標(biāo)的優(yōu)缺點(diǎn),更全面的評(píng)價(jià)三種算法的性能。對(duì)不同算法下計(jì)算的F1-score值展開對(duì)比分析。

圖4 三種算法在不同k值的準(zhǔn)確率-召回率

圖5 三種算法在不同k值的F1-Score

從圖5可以看出,在兩個(gè)數(shù)據(jù)集上隨著k值的增加,三種算法的F1-score均逐漸上升,k為9時(shí)F1-score達(dá)到最高點(diǎn)。兩個(gè)數(shù)據(jù)集的CPCF與SM的F1-score差異很小,但是都要優(yōu)于UBCF算法,說明隨著鄰居數(shù)量的增加,UBCF算法整體性能較差。但是MoviesLens數(shù)據(jù)集更加稀疏,所以Book-Crossing的F1-score要優(yōu)于MoviesLens。Book-Crossing中CPCF性能最優(yōu),較UBCF等算法提高了4%,表明該算法在整體性能方面要優(yōu)于其它兩種算法。

6 結(jié)語(yǔ)

本文針對(duì)傳統(tǒng)協(xié)同過濾推薦算法面對(duì)稀疏數(shù)據(jù)計(jì)算相似度不準(zhǔn)確,導(dǎo)致推薦效果不佳的問題,利用用戶的年齡、性別、職業(yè)三種基本信息,將用戶特征進(jìn)行數(shù)值化,計(jì)算用戶特征系數(shù)。根據(jù)相應(yīng)的公式計(jì)算特征系數(shù),進(jìn)而獲得相應(yīng)的用戶特征,該特征即可作為用戶畫像輸入到系統(tǒng)內(nèi)。然后將用戶畫像融入改進(jìn)的皮爾遜相關(guān)系數(shù)和改進(jìn)的余弦相似度中,進(jìn)行線性加權(quán)得到CPsim相似度。最終利用改進(jìn)的權(quán)重聚合公式(DFM)進(jìn)行評(píng)分得到推薦結(jié)果。

在兩個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)表明,該算法較UBCF等算法平均絕對(duì)誤差降低13%,精確率提高11%、召回率和F1-score分別提高了3%和4%,有效改善了推薦性能。在現(xiàn)實(shí)生活中用戶特征會(huì)隨時(shí)間的推移有所變化,導(dǎo)致推薦結(jié)果受到一定影響,因此在后續(xù)工作中考慮將時(shí)間特征信息中的數(shù)據(jù)融入CPCF算法,進(jìn)一步提高推薦效果。除此之外本文構(gòu)建信息標(biāo)簽時(shí)只考慮了用戶性別、年齡和職業(yè)信息,未考慮其它重要特征,今后的研究中可以考慮加入家庭住址、興趣愛好、學(xué)歷以及有無配偶等信息,豐富用戶畫像,從而改善推薦性能。

猜你喜歡
畫像矩陣特征
威猛的畫像
“00后”畫像
畫像
如何表達(dá)“特征”
不忠誠(chéng)的四個(gè)特征
抓住特征巧觀察
初等行變換與初等列變換并用求逆矩陣
矩陣
南都周刊(2015年4期)2015-09-10 07:22:44
矩陣
南都周刊(2015年3期)2015-09-10 07:22:44
矩陣
南都周刊(2015年1期)2015-09-10 07:22:44
新绛县| 望都县| 通辽市| 胶州市| 兖州市| 循化| 紫金县| 凉城县| 丹江口市| 吐鲁番市| 宁南县| 海门市| 巫溪县| 曲松县| 容城县| 虞城县| 盐边县| 隆子县| 白水县| 成安县| 阳高县| 栾城县| 石家庄市| 墨玉县| 高唐县| 太原市| 巴中市| 大连市| 绥江县| 玉林市| 克山县| 克拉玛依市| 巴中市| 满洲里市| 乳源| 洞头县| 郓城县| 泾阳县| 灵山县| 陆河县| 方城县|