• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    結(jié)合用戶主觀偏好與項目屬性擴(kuò)充的推薦算法①

    2021-10-11 06:46:52鐘耀億丁曉劍
    關(guān)鍵詞:相似性標(biāo)簽預(yù)測

    鐘耀億,丁曉劍,楊 帆

    (南京財經(jīng)大學(xué) 信息工程學(xué)院,南京 210046)

    1 概述

    互聯(lián)網(wǎng)的迅速發(fā)展使得網(wǎng)絡(luò)上每天都產(chǎn)生數(shù)量驚人的信息,其在為用戶提供豐富的信息化服務(wù)的同時,也讓用戶越發(fā)難以搜索到滿足其個人偏好的有效信息,進(jìn)而讓用戶迷失在信息的海洋中,這就是互聯(lián)網(wǎng)時代的“信息過載”問題,推薦系統(tǒng)技術(shù)的出現(xiàn)在一定程度上緩解了互聯(lián)網(wǎng)數(shù)據(jù)爆炸式增長帶給人們的信息過載問題[1-3],如今,推薦系統(tǒng)擁有廣泛的實際應(yīng)用場景,如商品推薦,影視推薦,新聞推薦,社交推薦等.

    基于項目的協(xié)同過濾算法因簡單易行,目前是推薦系統(tǒng)廣泛使用的一種技術(shù),其基于“物以類聚”的核心思想,根據(jù)用戶對項目的評價信息來計算項目相似性,再利用相似性信息進(jìn)行后續(xù)的推薦步驟,但是其在實際應(yīng)用中表現(xiàn)出了一些缺陷,首先是該算法非常依賴用戶評分矩陣的質(zhì)量,只有高密度的評分矩陣才能保證項目相似度計算的準(zhǔn)確度,然而用戶評分矩陣往往是稀疏的,因此計算出的項目相似度就會不準(zhǔn)確[4,5],同時,基于項目的協(xié)同過濾算法也并未深入考慮用戶的主觀偏好情況,其往往會向單個用戶推薦大眾喜好的流行項目[6,7],因此推薦的個性化程度不高,不能很好地滿足用戶需求.

    本文針對基于項目的協(xié)同過濾算法相似度計算不準(zhǔn)確和推薦缺乏個性化這兩個問題進(jìn)一步地做了改進(jìn)工作,考慮到傳統(tǒng)基于項目的協(xié)同過濾算法只利用用戶評分?jǐn)?shù)據(jù)計算相似度,比較單一,因此在原有基于評分的項目相似度計算方法基礎(chǔ)上,額外增加了兩個維度的項目相似度計算,可以更全面地評估項目間的相似度,此外考慮到用戶主觀偏好挖掘?qū)ν扑]算法的重要性,本文使用支持向量機(jī)構(gòu)建用戶標(biāo)簽偏好預(yù)測模型,并用于評分預(yù)測公式的修正,可以提供更準(zhǔn)確的評分預(yù)測.

    2 相關(guān)工作

    2.1 基于項目的協(xié)同過濾算法

    以下是基于項目的協(xié)同過濾算法的主要流程[8]:

    1)評分矩陣構(gòu)建

    基于項目的協(xié)同過濾推薦需要利用用戶對項目的評價數(shù)據(jù).用戶評價數(shù)據(jù)可以表示為一個評分矩陣RM×N,其中M表示用戶的數(shù)量,N表示項目的數(shù)量,Ri,j表示用戶i對項目j的數(shù)值化評分.

    2)項目相似性計算

    項目相似性主要根據(jù)評分矩陣來計算,常用的相似性計算方法有皮爾遜相關(guān)系數(shù),余弦相似度,Jaccard相似度,這3 種計算方式分別如式(1)~式(3)所示:

    其中,Ru,i和Ru,j分別表示用戶u對項目i和項目j的評分,Ui,j表示對項目i和項目j都評分過的用戶集合,和分別表示項目i和項目j的平均評分,Ri和Rj分別表示項目i和項目j的用戶評分向量,和分別表示項目i和項目j評分向量的模,Ui和Uj分別表示對項目i和項目j有過評價的用戶集合.根據(jù)項目間的相似度值,就可以得到項目相似性矩陣SN×N,Si,j表示項目i和項目j的相似度.

    3)項目鄰居選擇

    給定項目i,它的鄰居是指與其相似性最高的k的項目,可以從項目相似性矩陣中得到,k是可選的值,一般根據(jù)實際情況調(diào)整.

    4)項目評分預(yù)測

    對用戶未評分的項目,根據(jù)式(4)來預(yù)測評分:

    式(4)中,Ni表示項目i的鄰居,Iu表示用戶u已評價的項目集合,Si,j表示項目i和項目j的相似性,Ru,j表示用戶u對項目j的評分,和為項目i和項目j的平均評分.

    2.2 支持向量機(jī)

    支持向量機(jī)作為一種新興的機(jī)器學(xué)習(xí)算法,以其自身在二類分類學(xué)習(xí)問題上表現(xiàn)出較好的泛化和推廣性能,近年來得到了人工智能和機(jī)器學(xué)習(xí)領(lǐng)域研究者的廣泛關(guān)注.基于統(tǒng)計學(xué)習(xí)理論,支持向量機(jī)的主要目標(biāo)是借助于核方法來最小化結(jié)構(gòu)風(fēng)險,并最終得到支持向量[9].

    支持向量機(jī)算法的基本理念是,假設(shè)給定一個特征空間上的訓(xùn)練樣本數(shù)據(jù)集{ (x1,y1),(x2,y2),···,(xn,yn)},其中,xi∈Rn,yi∈{+1,-1},i=1,2,···,n.xi為第i個樣本數(shù)據(jù)的特征向量,yi為xi對應(yīng)的類標(biāo)記,當(dāng)yi=+1時,稱xi為正例;而當(dāng)yi=-1時,稱xi為負(fù)例,支持向量機(jī)的目標(biāo)是在特征空間中找到一個最優(yōu)的分離超平面,其能夠盡可能正確地將正負(fù)實例分到其各自所對應(yīng)的類中去,不僅如此,支持向量機(jī)算法還確保兩種實例間分類間隔距離的最大化,以此來降低結(jié)構(gòu)化風(fēng)險,獲得較優(yōu)的分類效果.

    在本文的研究中,支持向量機(jī)將被用于學(xué)習(xí)并預(yù)測用戶對給定項目標(biāo)簽的偏好,而給定一個項目標(biāo)簽實例,其到分離超平面的距離將被認(rèn)為是用戶對該項目標(biāo)簽的偏好程度.

    3 標(biāo)簽相關(guān)度與用戶偏好預(yù)測

    傳統(tǒng)基于項目的協(xié)同過濾算法依賴用戶的評分來計算項目之間的相似度,受到用戶評分矩陣稀疏的影響,相似度計算的結(jié)果往往不夠準(zhǔn)確,因此推薦效果有很大的局限性.在推薦系統(tǒng)平臺中,除了有用戶的評分?jǐn)?shù)據(jù)可用,有時項目本身也有一些描述性的屬性信息,例如標(biāo)簽信息,那么就可以合理地利用這些信息來進(jìn)一步地挖掘項目之間的聯(lián)系以及用戶對項目的主觀偏好.

    3.1 標(biāo)簽相關(guān)度

    標(biāo)簽可以用于概括性地描述項目的內(nèi)在特征,比較常見的根據(jù)標(biāo)簽信息表征項目的方法是采用獨熱編碼(one-hot encoding)來構(gòu)造項目的標(biāo)簽向量[10],其將所有的項目標(biāo)簽考慮進(jìn)來,如果一個項目有一個給定的標(biāo)簽,則該項目標(biāo)簽向量中相對應(yīng)的值將為1,否則為0,之后可以基于余弦相似度公式,使用標(biāo)簽向量計算項目之間的相似度,該方法具有簡單易行的優(yōu)點,但由于忽略了標(biāo)簽之間的關(guān)系,只對兩個標(biāo)簽向量中相對應(yīng)的標(biāo)簽進(jìn)行了比較,因此損失了一些有價值的信息.

    在電影推薦中,一部電影通常有多個標(biāo)簽,有些標(biāo)簽經(jīng)常同時出現(xiàn)在一部電影中,這說明標(biāo)簽之間存在一定的關(guān)聯(lián),假如電影1 有動作標(biāo)簽,電影2 有冒險標(biāo)簽,并且假設(shè)動作標(biāo)簽和冒險標(biāo)簽經(jīng)常同時出現(xiàn),如果用標(biāo)簽向量的方式表征電影,并用余弦相似度計算電影1和電影2在標(biāo)簽之間的相似度,那么將得到值為零的相似度,這意味著系統(tǒng)會認(rèn)為這兩部電影在用戶看來是完全不同的,不幸的是,對于一個喜歡動作和冒險電影的用戶來說,如果用戶曾經(jīng)對電影 1 打過評分,但由于電影 1和電影2的相似度為零,那么電影2 就沒有機(jī)會被推薦給那個用戶,但是如果換種方式使用項目標(biāo)簽數(shù)據(jù),具體來說,可以統(tǒng)計所有不同標(biāo)簽的共現(xiàn)次數(shù),那么就可以計算出標(biāo)簽之間的相關(guān)性,這樣就可以用標(biāo)簽相關(guān)性代替標(biāo)簽向量來計算項目之間的標(biāo)簽相似度了,在前面提到的情況中,可以利用動作標(biāo)簽和冒險標(biāo)簽之間的相關(guān)性來計算兩部電影的相似度,這樣得到的電影相似度就不會為零,而用戶可能得到滿意的推薦.

    3.2 標(biāo)簽相關(guān)度計算

    本文根據(jù)不同標(biāo)簽的共現(xiàn)次數(shù)來計算標(biāo)簽間的相關(guān)性,具體如式(5)所示,其中COR(Ti,Tj)代表標(biāo)簽Ti和標(biāo)簽Tj的相關(guān)度,k為數(shù)據(jù)集中的項目數(shù)目,mn為訓(xùn)練集中的第n個 項目,I(TiandT j)和I(Ti)是指示函數(shù),前者判斷當(dāng)前項目是否同時含有標(biāo)簽Ti和標(biāo)簽Tj,后者判斷當(dāng)前項目是否含有標(biāo)簽Ti,若為真則函數(shù)值為1,否則為0.

    3.3 基于標(biāo)簽的項目相似性計算

    如式(6)所示,可以計算出項目間基于標(biāo)簽的相似性,其中,Ttmi和Ttmj分別表示項目mi的第tmi個標(biāo)簽和項目mj的第tmj個標(biāo)簽,kmi和kmj分別表示項目mi和項目mj的標(biāo)簽數(shù).式(6)通過式(5)對兩個項目中的各個標(biāo)簽對計算相關(guān)度,之后再求出兩個項目中所有標(biāo)簽對間相關(guān)度的均值得出兩個項目的標(biāo)簽相似性.

    3.4 用戶偏好預(yù)測

    如前文所述,基于項目的協(xié)同過濾算法僅利用用戶矩陣來進(jìn)行推薦,兩個項目的相似性很大程度取決于有多少用戶共同評價過,這就使傳統(tǒng)的協(xié)同過濾算法偏向于給單個用戶推薦大眾流行的項目,但并未探究用戶對特定項目標(biāo)簽的主觀偏好,因此給品味獨特的用戶的推薦就不夠個性化,考慮到傳統(tǒng)算法的這一不足,本文使用支持向量機(jī)構(gòu)建一種可以預(yù)測單個用戶對項目標(biāo)簽偏好的模型,以提高推薦的個性化程度和準(zhǔn)確度.

    由于要訓(xùn)練預(yù)測模型,因此要根據(jù)用戶歷史評分構(gòu)建數(shù)據(jù)集,設(shè)用戶ui的歷史評價項目集合為M={m1,m2,···,mK},項目集中任意一個項目mk包含標(biāo)簽的集合為T={t1,t2,···,tl},l表示項目mk包含的標(biāo)簽總數(shù),用戶ui對項目mk的評分為Ri,k,首先需要確定用戶對項目的偏好程度,可以依據(jù)評分設(shè)定一個用戶偏好閾值?,若Ri,k≥?,則認(rèn)為用戶ui對項目mk有正向偏好,若Ri,k<?,則認(rèn)為用戶ui對項目mk有負(fù)向偏好,其次,需要將用戶對項目的偏好映射到用戶對標(biāo)簽的偏好上,本文的做法是構(gòu)建項目mk的標(biāo)簽特征向量xk={xk1,xk2,···,xkL},將其對應(yīng)的用戶偏好記為yk,L表示所有標(biāo)簽的總數(shù),xki表示項目mk屬于標(biāo)簽ti的程度,具體計算如式(7)所示,項目標(biāo)簽特征向量記錄項目屬于各個標(biāo)簽的程度,若用戶對項目mk有正向偏好,則將用戶對該標(biāo)簽特征向量的偏好yk設(shè)為1,否則將yk設(shè)為-1.

    項目標(biāo)簽特征向量包含了所有標(biāo)簽的權(quán)值,這么做的原因和3.1 節(jié)中所述例子類似,即若僅考慮用戶已評價過的標(biāo)簽,則學(xué)習(xí)到的預(yù)測模型只會在這個用戶歷史評價標(biāo)簽范圍內(nèi)做出有效預(yù)測,對一個不在該范圍內(nèi)但和用戶歷史評價標(biāo)簽高度相關(guān)的標(biāo)簽就會一直預(yù)測為負(fù)向偏好,這顯然是不合理的.

    對任意一個用戶ui,其標(biāo)簽偏好數(shù)據(jù)集為{(x1,y1),(x2,y2),···,(xK,yK)},其中,K為用戶已評價項目的總數(shù),這樣就可以對每個用戶訓(xùn)練一個標(biāo)簽偏好預(yù)測模型,預(yù)測模型的獲得需要求解如式(8)所示的優(yōu)化問題[11]:

    式(8)中,ω ·xi+b為需要求解的預(yù)測模型,在實際情況中,一些樣本數(shù)據(jù)往往是非線性可分的,支持向量機(jī)通常會先使用一些映射函數(shù)將樣本的特征從低維空間映射到高維空間中,然后再進(jìn)行后續(xù)的優(yōu)化步驟,最終的預(yù)測模型可由式(9)表示.

    式(9)中,xj是支持向量,μ為支持向量的個數(shù),αj是支持向量xj所對應(yīng)的拉格朗日乘子,經(jīng)映射函數(shù)映射后的點積運(yùn)算k(x,xj)=φ(x)·φ(xj)被稱為核函數(shù).

    在預(yù)測階段,將項目的標(biāo)簽特征向量輸入到預(yù)測模型f(x)中,若所得結(jié)果為正數(shù),則說明用戶可能會對該項目的標(biāo)簽感興趣,否則就表示用戶可能不感興趣,同時結(jié)果的大小也反映了用戶對項目標(biāo)簽正偏好或負(fù)偏好的程度.

    4 項目屬性擴(kuò)充

    4.1 動機(jī)

    目前有些研究工作考慮了項目各種屬性間的相似度,并將其與評分相似度相結(jié)合,在一定程度上進(jìn)一步提高項目相似度計算的準(zhǔn)確度[12,13],然而項目屬性信息只能從項目的角度單方面地描述項目的特征,在電影推薦中,常識思維認(rèn)為動畫標(biāo)簽的電影是面向低齡用戶的,但是對為有些動畫標(biāo)簽電影打過較高評分的用戶群體的特征進(jìn)行分析,就會發(fā)現(xiàn)這些用戶不一定是低齡用戶,那么這些動畫電影也不一定是面向低齡用戶的,其就不應(yīng)被和面向低齡用戶動畫電影等同看待,更進(jìn)一步說,雖然兩個項目具有相同的屬性信息,但用戶對它們的偏好也有可能是不同的,具有相同屬性信息的項目可能會受到不同用戶群體的偏好,而具有不同屬性信息的項目也可能會受到同一用戶群體的偏好,由此可以看出,分析項目的受眾特征信息可以比直接分析項目自身屬性信息能更準(zhǔn)確地判斷項目會受哪類用戶偏好,所以,不能僅僅根據(jù)項目的屬性信息來評估兩個項目之間的相似性,因為這可能會導(dǎo)致有偏的推薦,此外還應(yīng)該考慮項目的受眾類型是否相似.

    有研究工作利用了用戶特征來提高用戶之間相似度計算的精確度[14,15],但是很少有研究試圖利用用戶特征來提高項目之間相似度計算的精確度,本文提出利用受眾特征來構(gòu)造項目的擴(kuò)充屬性,進(jìn)而可以從項目受眾類型的角度來豐富項目的屬性,是對僅利用項目自身屬性計算項目相似度的有效補(bǔ)充,最終可以更全面地比較項目之間的相似度.

    4.2 一個啟發(fā)性的例子

    在給出項目擴(kuò)充屬性的計算方式之前,將列舉一個關(guān)于電影推薦的啟發(fā)性例子.

    假設(shè)有表1所示用戶電影評分(0 分表示沒有評分)和表2所示用戶特征信息,若表1中所列都不是熱門電影,那么本文推測一部電影的受眾在某些方面是相似的,也就是說如果用戶有共同的品味,那么在其他方面應(yīng)該也有一定的相似性.在這個例子中,從直觀上來看,對電影1、2和5 這3 部電影有正面評價的用戶有兩個方面比較相似,其一是用戶的年齡,其二是用戶的職業(yè);再如電影3和電影4,通過用戶評分和用戶特征信息可以看出電影3 更受女性用戶偏好,電影4 更受男性用戶偏好.

    表1 用戶電影評分

    表2 用戶特征信息

    通過對數(shù)據(jù)集中每個項目的用戶特征信息進(jìn)行統(tǒng)計分析,就可以得出每個項目的受眾特征,然后利用這些受眾特征構(gòu)造項目的擴(kuò)充屬性來表示該項目的受眾類型,便可以進(jìn)一步從受眾類型的角度進(jìn)行項目相似度計算.

    4.3 項目屬性擴(kuò)充

    定義用戶的特征集合為{f1,f2,···,fk},用戶u的特征可以表示為{uf1,uf2,···,ufk},若該用戶具備特征fi,則u fi的值為1,否則為0,定義項目mi的擴(kuò)充屬性集合為Ami={Attr1,Attr2,···,Attrk},項目mi關(guān)于用戶特征fi的擴(kuò)充屬性值,即Attri的大小,可通過式(10)來計算,式(11)對式(10)的計算結(jié)果進(jìn)行了歸一化處理:

    式(10) 中,Rated表示對項目有過評價的用戶集合,I(ufi==1)是一個指示函數(shù),若用戶u具備特征fi,則函數(shù)值為1,否則為0,Ru為用戶u對該項目的評分.項目的各個擴(kuò)充屬性值表現(xiàn)為對項目有過評分的用戶的特征加權(quán)評分(權(quán)值即前文所提指示函數(shù)的值)與項目歷史評分總和的比值,若一個用戶對一個項目有較高的評分,則該用戶的特征信息對該項目的擴(kuò)充屬性值就會有較高的貢獻(xiàn),最終,項目的擴(kuò)充屬性會記錄對項目有較高評分的用戶群體的特征信息.

    4.4 基于受眾類型的項目相似性計算

    項目的擴(kuò)充屬性標(biāo)識項目的受眾類型信息,因此,如果不同項目的受眾類型是相似的,那么這些項目也可以被認(rèn)為是相似的,可用于推薦,因為它們受到了具有相似特征用戶群體的偏好.

    通過項目擴(kuò)充屬性計算項目相似性的方法如式(12):

    式(12)中,Ami,k和Amj,k分別表示項目mi和項目mj的第k個擴(kuò)充屬性值的大小,當(dāng)兩個項目的各個擴(kuò)充屬性值基本相同時,根據(jù)式(12)計算出的項目相似值就會接近1,也就表明兩個項目具有相似的受眾群體,當(dāng)兩個項目的各個擴(kuò)充屬性值基本不同時,根據(jù)式(12)計算出的項目相似值就會接近0,表明兩個項目具有不相似的受眾群體.

    5 項目相似度計算與用戶評分預(yù)測

    5.1 項目相似度計算

    在基于評分的項目相似度計算基礎(chǔ)上,本文結(jié)合第3 節(jié)和第4 節(jié)描述的標(biāo)簽相似度和擴(kuò)充屬性相似度提出綜合相似度.綜合相似度考慮項目在3 個維度上的相似性,采用相乘的方式得出,如式(13)所示:

    5.2 用戶評分預(yù)測

    對用戶u未評價過的項目mi,并找出k個與項目mi最相似的項目,再根據(jù)式(14)計算用戶u對項目mi的預(yù)測評分,式(14)對相似項目集合中的項目計算出經(jīng)過相似度加權(quán)的評分均值,加上待預(yù)測項目的歷史評分均值,最終得到預(yù)測評分,其中Ni表示項目mi的k近鄰,MU表示用戶u已 經(jīng)評價過的項目集合,Ru,mk表示用戶u對項目mk的評分,和為項目mi和mk的平均分.

    雖然式(14)使用了項目綜合相似度來預(yù)測用戶評分,會一定程度提高預(yù)測準(zhǔn)確度,但未能直接表達(dá)出用戶對項目的主觀偏好,因此結(jié)合3.4 節(jié)所述用戶標(biāo)簽偏好預(yù)測模型,提出一種用戶標(biāo)簽偏好修正因子,如式(15)所示,能根據(jù)用戶主觀偏好情況,調(diào)整預(yù)測評分計算.

    式(15)中,fu(x)為用戶u的標(biāo)簽偏好預(yù)測模型,xi為待預(yù)測項目mi的標(biāo)簽特征向量,fu(xi)為用戶u對項目mi的標(biāo)簽偏好度,若其值為正且越大,則說明用戶對項目標(biāo)簽正向偏好程度越大,β值會趨于1,否則 β值趨于0.將式(15)引入到式(14)中即得用戶偏好修正的預(yù)測評分計算法,如式(16)所示.

    式(16)中,最后一個分項即為協(xié)同過濾算法評分預(yù)測公式中根據(jù)待預(yù)測項目與用戶歷史偏好項目的相似性計算出的預(yù)測偏差,修正因子可以調(diào)節(jié)預(yù)測偏差對最終預(yù)測評分計算的作用,若用戶偏好該項目的標(biāo)簽,則最終預(yù)測評分就會受到預(yù)測偏差的影響,否則就會削弱預(yù)測偏差帶來的影響,即使待預(yù)測項目與用戶歷史偏好項目的相似度很高,但若偏好預(yù)測模型預(yù)測出用戶的偏好度很低,則預(yù)測評分也不會很高.

    5.3 本文算法步驟

    輸入:用戶對項目的評分矩陣RM×N,用戶的特征矩陣FM×K,項目類別矩陣GN×L,近鄰數(shù)k,待預(yù)測項目m,待推薦用戶u.

    輸出:用戶u對項目m的預(yù)測評分.

    步驟1.根據(jù)項目類別信息,根據(jù)式(5)計算出項目標(biāo)簽的關(guān)聯(lián)度.

    步驟2.根據(jù)式(6)計算出數(shù)據(jù)集中項目間的標(biāo)簽相似度.

    步驟3.根據(jù)項目標(biāo)簽信息和評分信息構(gòu)建用戶標(biāo)簽偏好數(shù)據(jù)集,使用支持向量機(jī)對數(shù)據(jù)集中每個用戶訓(xùn)練標(biāo)簽偏好預(yù)測模型.

    步驟4.根據(jù)用戶特征,對數(shù)據(jù)集中每個項目按式(10)和式(11)計算出項目的擴(kuò)充屬性.

    步驟5.根據(jù)式(12)計算出數(shù)據(jù)集中項目間的擴(kuò)充屬性相似性.

    步驟6.根據(jù)式(13)計算出項目間的綜合相似度.

    步驟7.對于待預(yù)測項目m,根據(jù)步驟6 得出的項目綜合相似度找出與項目m最相似的k個項目作為鄰居,并在鄰居中去除掉用戶已經(jīng)評價過的項目,通過式(16)計算出用戶u對項目m的預(yù)測評分.

    6 實驗結(jié)果與分析

    6.1 實驗數(shù)據(jù)集

    本文采用在推薦系統(tǒng)研究領(lǐng)域中具有較大知名度的MovieLens-100 k 數(shù)據(jù)集進(jìn)行實驗分析[16],該數(shù)據(jù)集包含了由明尼蘇達(dá)大學(xué)GroupLens 研究組從MovieLens電影評分網(wǎng)站上收集的943 個用戶對1652 部電影的100 000 條評分?jǐn)?shù)據(jù)、943 條用戶個人信息以及1652條電影信息.本文使用用戶個人信息中的性別、年齡和職業(yè)信息來構(gòu)造項目的擴(kuò)充屬性,并利用電影信息中的標(biāo)簽信息來計算項目標(biāo)簽的關(guān)聯(lián)度以及訓(xùn)練用戶標(biāo)簽偏好預(yù)測模型.數(shù)據(jù)集被隨機(jī)地分成80%的訓(xùn)練數(shù)據(jù)集和20%的測試數(shù)據(jù)集.

    6.2 評估指標(biāo)

    為了評估算法預(yù)測的用戶評分與實際用戶評分之間的差異,本文采用了均方根誤差(RMSE)作為算法性能評估的指標(biāo).RMSE的計算如式(17)所示.

    式中,TD為測試數(shù)據(jù)集,Ru,i為測試數(shù)據(jù)集中用戶u對項目i的實際評分,為算法預(yù)測出的測試數(shù)據(jù)集中用戶u對項目i的評分.

    6.3 用戶偏好閾值 ?的影響

    本文根據(jù)用戶歷史評分?jǐn)?shù)據(jù)學(xué)習(xí)并預(yù)測用戶的標(biāo)簽偏好,因此合理的用戶偏好閾值 ?的選擇就很關(guān)鍵,其直接影響到預(yù)測模型的工作性能,因此就幾種閾值?的選擇對算法性能的影響做了實驗驗證.由于數(shù)據(jù)集采用了1 分至5 分的評價標(biāo)準(zhǔn),所以采用2 分、3 分和4 分作為用戶正向偏好和負(fù)向偏好的分界閾值進(jìn)行實驗,實驗結(jié)果如圖1所示.

    由圖1實驗結(jié)果可以看出當(dāng) ?取3 時,本文算法的評分預(yù)測性能表現(xiàn)得最好,故后續(xù)實驗取?為3.

    圖1 閾值?對算法性能的影響

    6.4 用戶標(biāo)簽偏好修正因子 β的有效性

    為了驗證用戶標(biāo)簽偏好修正因子 β能夠有效地根據(jù)用戶偏好修正傳統(tǒng)評分預(yù)測公式的計算結(jié)果,故分別采用式(14)和式(16)作為評分預(yù)測公式進(jìn)行了對比實驗,實驗結(jié)果如圖2所示.

    由圖2實驗結(jié)果可以看出,用戶標(biāo)簽偏好修正因子 β確實能在一定程度上修正預(yù)測評分的誤差,說明了用戶偏好的挖掘?qū)ν扑]算法的重要性.

    圖2 用戶標(biāo)簽偏好修正因子β的有效性

    6.5 擴(kuò)充屬性粒度的影響

    本文假設(shè)擴(kuò)充屬性的粒度對項目相似度計算有一定的影響,即用戶特征劃分地越細(xì),則項目相似度的計算準(zhǔn)確度就越高.為了驗證這一假設(shè),本文根據(jù)用戶的年齡特征和職業(yè)相似性,通過適當(dāng)簡化原始數(shù)據(jù)集中的用戶特征構(gòu)造了一個粒度稍低的用戶特征集用于實驗,其中,使用原始數(shù)據(jù)集中用戶特征的算法記為TPIAE-1,使用本文簡化用戶特征的算法記為TP-IAE-2.擴(kuò)充屬性粒度對本文算法性能影響的實驗結(jié)果如圖3所示.

    由圖3實驗結(jié)果可以看出,兩種算法預(yù)測誤差率變化趨勢一致,但使用原始用戶特征的TP-IAE-1 算法的預(yù)測誤差率低于使用簡化用戶特征的TP-IAE-2 算法,很顯然,這是因為原始用戶特征具有相對更高的粒度,因此項目受眾特征更加豐富,可以為項目構(gòu)造更精細(xì)的擴(kuò)充屬性,項目受眾類型相似度計算也更加準(zhǔn)確.

    圖3 擴(kuò)充屬性粒度對本文算法性能的影響

    6.6 對比試驗

    為了驗證本文算法對傳統(tǒng)基于項目的協(xié)同過濾算法做出了有效的改進(jìn),以及相較于其他相關(guān)算法的性能改善,故將本文算法TP-IAE和TP-IAE- β (在評分預(yù)測階段,TP-IAE用式(14),TP-IAE- β用式(16)進(jìn)行)與基于項目的協(xié)同過濾算法(IBCF)、文獻(xiàn)[17]提出的基于內(nèi)容和標(biāo)簽權(quán)重的混合推薦算法(TW-ContentItem)、文獻(xiàn)[18]提出的結(jié)合項目屬性偏好的混合協(xié)同過濾算法(HCF)以及文獻(xiàn)[19]提出的基于用戶偏好矩陣填充的改進(jìn)混合推薦算法(UPR)做了對比實驗,實驗結(jié)果如圖4所示.

    圖4 對比實驗結(jié)果

    從圖4中可以看出,本文所提算法和其他4 種對比算法的預(yù)測評分誤差率都隨著鄰居數(shù)目的增加而下降,4 種算法的用戶預(yù)測評分誤差率變化趨勢也基本相同,但在鄰居數(shù)的變化范圍內(nèi),本文算法的預(yù)測評分誤差率相比其他4 種算法降低了2%至13%,顯示出良好的推薦效果.與傳統(tǒng)基于項目協(xié)同過濾方法相比,盡管HCF 算法在預(yù)測效果上有了很大的提高,因為其不再僅依賴用戶的評分信息,但是,該方法只是從項目的角度額外地比較項目相似度,而本文算法不僅考慮了項目的標(biāo)簽屬性信息,另外還考慮了項目的受眾特征,用來判斷給定的兩個項目是否會得到同一用戶群體的偏好,可以進(jìn)一步地提高項目相似度計算的準(zhǔn)確性,與UPR和TW-ContentItem 算法的對比結(jié)果也顯示出本文算法預(yù)測效果的提升,且經(jīng)用戶標(biāo)簽偏好修正因子β對評分預(yù)測公式進(jìn)行修正后,預(yù)測評分的誤差率能夠進(jìn)一步地下降.

    7 結(jié)束語

    本文針對傳統(tǒng)基于項目的協(xié)同過濾算法面臨相似度計算不準(zhǔn)確和推薦缺乏個性化這兩個問題做了相關(guān)的改進(jìn)工作,提出的方法結(jié)合項目的受眾特征信息和項目的標(biāo)簽信息對傳統(tǒng)基于項目的協(xié)同過濾算法的相似度計算方式做出了有效改進(jìn),不僅可以避免項目相似度計算方法過于片面單一,而且可以在評分?jǐn)?shù)據(jù)稀疏的實際場景下提高項目相似性計算的準(zhǔn)確度,提出的方法還考慮了用戶的個性化偏好程度,以進(jìn)一步提高推薦效果,實驗結(jié)果表明,本文算法相較傳統(tǒng)基于項目的協(xié)同過濾算法可以顯著地降低預(yù)測評分的誤差率.基于項目的協(xié)同過濾算法的核心是項目相似性計算,因此下一步的工作是研究從更多的維度來計算項目的相似性以提高推薦算法的性能.

    猜你喜歡
    相似性標(biāo)簽預(yù)測
    一類上三角算子矩陣的相似性與酉相似性
    無可預(yù)測
    黃河之聲(2022年10期)2022-09-27 13:59:46
    選修2-2期中考試預(yù)測卷(A卷)
    選修2-2期中考試預(yù)測卷(B卷)
    淺析當(dāng)代中西方繪畫的相似性
    河北畫報(2020年8期)2020-10-27 02:54:20
    無懼標(biāo)簽 Alfa Romeo Giulia 200HP
    車迷(2018年11期)2018-08-30 03:20:32
    不害怕撕掉標(biāo)簽的人,都活出了真正的漂亮
    海峽姐妹(2018年3期)2018-05-09 08:21:02
    不必預(yù)測未來,只需把握現(xiàn)在
    低滲透黏土中氯離子彌散作用離心模擬相似性
    標(biāo)簽化傷害了誰
    大荔县| 依安县| 花莲县| 关岭| 兴隆县| 炉霍县| 丹巴县| 德化县| 民乐县| 从江县| 民县| 蚌埠市| 巴马| 龙州县| 连江县| 大同县| 称多县| 洛浦县| 会宁县| 噶尔县| 永登县| 台中县| 类乌齐县| 玛多县| 江安县| 洞口县| 洪雅县| 当阳市| 阆中市| 齐河县| 邵武市| 新晃| 吉水县| 大埔区| 长兴县| 靖边县| 金门县| 延津县| 铁力市| 静安区| 开鲁县|