• 
    

    
    

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

      融合上下文感知計算的協(xié)同過濾算法

      2018-12-29 02:16:56楊媛媛張桂蕓
      關鍵詞:準確率矩陣融合

      楊媛媛,張桂蕓,劉 洋

      (天津師范大學計算機與信息工程學院,天津300387)

      近年來,利用上下文感知進行推薦成為推薦算法研究最為活躍的領域之一,但如何利用上下文信息以及有效融合上下文信息依然是一個開放性的話題.截至目前上下文還沒有一個統(tǒng)一的定義,很多時候需要根據(jù)具體應用系統(tǒng)或者用戶需求引入合適的上下文類型及其具體屬性[1].在基于上下文的推薦系統(tǒng)研究中,上下文信息有很多分類,根據(jù)上下文在推薦生成過程中所起的作用,可以將其分為3類,分別是上下文預過濾、上下文后過濾以及上下文建模[2-3].目前大多數(shù)研究都停留在上下文過濾層面,并沒有有效融合上下文信息.文獻[4]通過移動端傳感器,利用上下文信息的預過濾,篩選用戶行為上下文與音樂之間的關系,并基于此對用戶進行推薦,這種方式對移動端的推薦具有借鑒意義,但泛化能力弱,難以應用到其他推薦場景中.文獻[5]利用上下文后過濾進行推薦結(jié)果優(yōu)化,并融合多種排序算法生成最終推薦結(jié)果,進而改善音樂的推薦效果,為融合上下文信息提供了一個很好的方向,但是該算法只停留在利用上下文信息進行過濾階段,對上下文信息利用不充分.文獻[6]在推薦過程中首先結(jié)合上下文信息進行過濾,然后對用戶興趣建模分析,提高電視平臺的推薦準確率,但對上下文信息的利用只存在于數(shù)據(jù)篩選和過濾層面,沒有在算法推薦過程中充分融合上下文信息.本文深入挖掘上下文信息并進行建模,針對當下應用最廣泛的協(xié)同過濾算法,詳細分析算法的各個環(huán)節(jié),在傳統(tǒng)算法的基礎上進行優(yōu)化,提出一種上下文感知計算的協(xié)同過濾推薦算法,算法將上下文信息與項目相似度進行融合建模,深度利用上下文信息進行推薦,在保留傳統(tǒng)算法優(yōu)勢的同時,盡可能最大化融合上下文信息.本文假設相似的項目具有相似的上下文信息,因此選擇在相似度計算過程中融合上下文信息,從而改善推薦精度,該算法可以在很大程度上滿足用戶的偏好和選擇,更符合用戶應時應景的需求,算法適用于非文本信息的推薦場景.以個性化音樂推薦為例,對用戶及音樂的上下文信息進行分析,為用戶進行個性化推薦,并在公開的音樂數(shù)據(jù)集上進行了實驗.

      1 相關理論基礎

      1.1 傳統(tǒng)的基于項目協(xié)同過濾算法

      基于項目的協(xié)同過濾算法主要分為2步:先計算項目之間的相似度,然后根據(jù)項目的相似度和用戶的歷史行為為用戶生成推薦列表[7-8].項目相似度的度量方法主要包括3種:余弦相似性、Pearson相關系數(shù)和修正的余弦相似性[9].本文采用最經(jīng)典的余弦相似度.對于項目 i和項目 j,N(i)、N(j)分別表示喜歡項目 i、j的用戶集合,項目 i、j之間的相似度用 sim(N(i),N(j))表示,其計算公式為

      其中:|N(i)|、|N(j)|分別為喜歡項目 i、 j的用戶數(shù)(也就是對項目有過標記,打分等行為的用戶數(shù)量),而分子|N(i)∩N(j)|為同時喜歡項目 i和項目 j的用戶數(shù).根據(jù)項目相似度,為用戶生成最喜歡的K個項目,即生成推薦列表,步驟如下:

      (1)建立用戶-項目倒排表,為每個用戶生成用戶喜歡的項目列表.

      (2)遍歷用戶-項目倒排表,建立項目的同現(xiàn)矩陣Mp×p=(mij),mij=|N(i)∩N(j)|.

      (3)通過式(1)計算項目相似度,得到相似度矩陣 Cp×p.

      (4)針對指定用戶u,生成該用戶可能最喜歡的K個項目的推薦列表,用戶u對未知項目j的興趣度puj為

      其中:N(u)為 u喜歡的項目的集合,S(j,K)為和項目j最相似的K個項目的集合,rui為指定用戶u對項目i的興趣度.

      1.2 上下文及上下文感知計算

      上下文是一個非常寬泛的概念,在不同的研究領域有不同的定義.本文使用Dey的定義[10].上下文感知信息分為4種,包括時間、地點、天氣和溫度的物理上下文;用戶的身份角色、社交對象等社會上下文;用戶的心情、行為目標、經(jīng)驗、認知能力等的狀態(tài)上下文;推薦信息類型(文本、圖片、視頻等)的交互媒體上下文[11-12].音樂數(shù)據(jù)中包含如情緒、風格、主題、年代、樂器等上下文信息.若某個數(shù)據(jù)有k個有效的上下文屬性,則此數(shù)據(jù)的上下文集合可定義為

      上下文Ci的離散屬性取值集合為{ci1,ci2,…,cij,…}.若定義音樂數(shù)據(jù)的上下文Context={C1,C2},C1表示“主題”,C2表示“流派”,則C1的取值集合可定義為{情歌,紅歌,兒歌},C2的取值集合可定義為{古典,嘻哈、搖滾}.

      本文運用上下文建模方式,將項目的上下文相似度與項目相似度加權融合,雖然這種方式計算較為復雜,但對于提高項目相似度的計算精度有很大幫助,進而提高推薦算法的精度.

      2 融合上下文感知計算的協(xié)同過濾算法

      2.1 融合上下文相似度的項目相似度計算

      本文假設項目的上下文相似度越高,則項目的相似度就越高.在音樂推薦里,設歌曲a、b、c的用戶評分一樣,即 sim(a,b)=sim(b,c)=sim(a,c).但若歌曲 a、c的屬性“主題”為“情歌”,b的屬性“主題”為“紅歌”,則應該 sim(a,c)≠sim(a,b)=sim(b,c).因此本文依據(jù)項目i、j共同擁有的上下文屬性值數(shù)目,計算項目的上下文相似度.假設 C(i)、C(j)分別為項目i、j擁有的上下文屬性值集合,則項目i和j的上下文相似度計算公式為

      其中: |C(i)|、|C(j)|分別為項目 i、 j擁有的上下文屬性值數(shù)目,分子|C(i)∩C(j)|為項目 i和項目 j共同擁有的上下文屬性值數(shù)目.

      引入權重因子α(0<α<1),計算融合上下文相似度的項目相似度,項目i、j的相似度計算公式為

      2.2 融合上下文感知計算的協(xié)同過濾算法設計思想

      本文設計的融合上下文感知計算的協(xié)同過濾算法的基本步驟如下:

      (1)首先建立用戶-項目倒排表.遍歷倒排表,填充項目的同現(xiàn)矩陣,同現(xiàn)矩陣建立之后通過式(1)計算項目的余弦相似度,同現(xiàn)矩陣歸一化處理后記為An×n.

      (2)建立上下文感知信息-項目倒排表,統(tǒng)計不同項目擁有的共同上下文感知信息,建立項目的上下文信息同現(xiàn)矩陣.利用式(4)計算項目上下文相似度,歸一化之后的同現(xiàn)矩陣記為Bn×n,bij為項目i、j的上下文相似度.

      (3)將得到的2個相似度矩陣帶入式(5)計算得wij=(αaij+(1- α)bij)/2,進而得到融合上下文相似度的項目相似度矩陣,記為Wn×n.

      (4)建立所有用戶對項目的興趣矩陣,記為Rn×m,矩陣值riu為用戶u對項目i的興趣度(評分),用戶沒有評分的項目興趣度記為0.矩陣的列是全部用戶的集合,行是所有項目的集合.

      (5)遍歷用戶興趣度矩陣,計算出所有用戶對未知項目j的興趣度值,通過下式計算用戶u對未知項目j的興趣度 puj:

      (6)將步驟(3)和(4)的項目相似度矩陣 Wn×n和用戶興趣矩陣Rn×m相乘得到用戶對未評分的項目的興趣度,根據(jù)興趣度值排序,得到最后的推薦結(jié)果.

      3 實驗及結(jié)果分析

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

      實驗采用的數(shù)據(jù)來自Last.fm在線音樂系統(tǒng)的用戶行為記錄,包括用戶的社交信息、音樂標簽、用戶的聆聽信息等.Last.fm數(shù)據(jù)集包含2 000位用戶(user)對18 000多首歌曲(item)形成的超過105條的用戶聆聽紀錄,以及超過1.8×105條用戶對音樂的標注信息.利用這些信息生成項目相似度矩陣,矩陣維度為35 612×35 612,行和列分別是item ID,矩陣元素值為不同item之間的相似度.本文將以上用戶對音樂的行為數(shù)據(jù)按照3∶1的比例分為訓練集和測試集進行實驗.

      以下舉例說明實驗過程.首先建立用戶-項目倒排表,將用戶喜歡的所有項目及用戶對項目的興趣度值生成列表,示意數(shù)據(jù)見表1.

      表1 用戶-項目表(部分示意數(shù)據(jù))Tab.1 User-item table(partial schematic)

      遍歷倒排表,建立項目的同現(xiàn)矩陣,如用戶2對項目(51,52,53,54,55)有評分,則記同現(xiàn)矩陣中(51,51),(51,52),(51,53),(51,54),…的值為 1,以此類推.利用式(1)進一步處理得到相似度矩陣A.接著建立上下文感知信息-項目倒排表,示意數(shù)據(jù)見表2.

      表2 上下文感知信息-項目表(部分示意數(shù)據(jù))Tab.2 Context perception information-music item table(partial schematic data)

      如項目(1324,11103,7343,5704)包含相同的上下文感知信息,則記上下文信息同現(xiàn)矩陣中(1 324,11103),(1324,7343),(1324,5704),(11103,7343)等的值為1,以此類推,直到遍歷完倒排表中所有信息,利用式(4)處理得到上下文相似度矩陣B.然后利用式(5)進一步計算得到融合上下文相似度的項目相似度矩陣W.最后按用戶分組,如根據(jù)用戶2對51,52,53,…的評分記錄,建立興趣矩陣R[(51,13 883),(52,11 690),(53,11 351),(54,10 300),(55,8 983),…],通過式(6)計算用戶對未知項目的興趣度,選出興趣度最大的K個項目作為推薦結(jié)果.

      表3為音樂數(shù)據(jù)上下文感知信息的部分示意數(shù)據(jù),其中context-aware表示item所含有的上下文感知信息,為音樂流派信息,包括音樂風格、音樂情緒等.

      表3 音樂數(shù)據(jù)上下文感知信息(部分示意數(shù)據(jù))Tab.3 Music data context perception information(partial schematic data)

      3.2 評測指標

      本文通過準確率評測算法的精度[10].實驗結(jié)果中將改進的協(xié)同過濾算法為用戶u推薦的K個項目記為R(u),用戶u在測試集上喜歡的項目集合為T(u),準確率計算公式如下

      3.3 實驗結(jié)果分析

      算法中有2個參數(shù)需要根據(jù)實際情況進行參數(shù)調(diào)優(yōu).一個參數(shù)是用戶可能感興趣的項目數(shù)K,它是通過算法計算的用戶對項目的興趣度值進行排序得到的,由高到低取K個項目.根據(jù)經(jīng)驗,K最多不會超過150,因為推薦數(shù)過多會造成推薦無意義.K一般根據(jù)經(jīng)驗取初始值,之后在實驗過程中逐步調(diào)整,使推薦算法的準確率達到最高.另外一個參數(shù)是式(5)中的α(0<α<1).在實驗中通過調(diào)整參數(shù)K和α,使得推薦效果達到最優(yōu).當α=0時,算法即為改進之前的傳統(tǒng)算法.

      首先,實驗中隨機挑選3個用戶,分析不同用戶在推薦效果上產(chǎn)生的差異及準確率變化.之后計算整體訓練集和測試集上所有用戶的推薦準確率,一方面將單個用戶和整體用戶的推薦效果進行對比,另一方面將傳統(tǒng)的協(xié)同過濾推薦算法和改進后的算法的推薦效果進行對比分析.

      隨機選取userID442、userID946和userID263,得到3個用戶在不同α和K下的推薦準確率及準確率趨勢圖,結(jié)果分別見表4~表6和圖1~圖3.

      表4 userID442在不同α和K下的推薦準確率Tab.4 Recommendation accuracies of userID442 underdifferent α and K %

      圖1 userID442在不同α和K下的推薦準確率趨勢圖Fig.1 Trend of recommendation accuracies of userID442 under different α and K

      由表4可見,α在0.5~0.7、K在60~70之間時,user442的推薦結(jié)果準確率達到最高值.由圖1知,隨著α的增長,推薦結(jié)果的準確率逐漸提高,因此融合上下文感知信息會提高推薦精度,但是α=0.5和α=0.7這2條準確率曲線有一部分重合,這說明只考慮項目的上下文關系或只考慮項目的用戶相似性都不能取得理想的結(jié)果.

      表5 userID946在不同α和K下的推薦準確率Tab.5 Recommendation accuracies of userID946 under different α and K%

      圖2 userID946在不同α和K下的推薦準確率趨勢圖Fig.2 Trend of recommendation accuracies of userID946 under different α and K

      由表5可見,α在0.5~0.7、K在20~50之間時,user946的推薦結(jié)果準確率達到最高值.由圖2知,α的提高,使推薦結(jié)果的準確率得到明顯增長.α在0.5~0.7之間時,準確率的曲線有部分交叉,曲線有重疊的現(xiàn)象,表明推薦結(jié)果的區(qū)分度不大,這個結(jié)果說明在上下文感知信息和項目相似度進行融合的時候,過分依賴上下文感知信息也不能得到很好的結(jié)果.

      表6 userID263在不同α和K下的推薦準確率Tab.6 Recommendation accuracies of userID263 under different α and K %

      圖3 userID263在不同α和K下的推薦準確率趨勢圖Fig.3 Trend of recommendation accuracies of userID263 under different α and K

      由表6可見,α在0.5~0.7、K在80~100之間時,user263的推薦結(jié)果準確率達到最高值.由圖3知,隨著α的提高,推薦結(jié)果的準確率小幅增長.在不同的α值下,準確率的曲線有明顯的交叉,數(shù)據(jù)重疊痕跡明顯,這是因為user263的歷史記錄比較豐富.但隨著α值的升高,依賴上下文感知信息比例的增加使準確率出現(xiàn)小幅增長.

      在整體的訓練集和測試集上根據(jù)式(7)進行準確率計算.結(jié)果見表7和圖4.

      表7 所有用戶在不同α和K下的推薦準確率Tab.7 Recommendation accuracies for all users under different α and K %

      圖4 所有用戶在不同α和K下的推薦準確率趨勢圖Fig.4 Trend of recommendation accuracies for all users under different α and K

      由表7可知,針對所有用戶,K在40~80之間時準確率達到峰值.由圖4可見,隨著α值的提升,算法的推薦準確率明顯增長.但是相比α=0的情況,隨著K值的變化,推薦準確率有較強的波動.α值在0.5~0.7之間時,準確率的增長不明顯.從數(shù)據(jù)集整體的推薦結(jié)果來看,融合上下文感知信息確實可以提高推薦算法的精度.但是,由表7和圖4也可發(fā)現(xiàn),數(shù)據(jù)集上所有用戶的平均準確率低于實驗選出的3個用戶,這是因為用戶-項目數(shù)據(jù)的稀疏,有些用戶的歷史行為記錄較少導致推薦準確率不高,進而拉低整體的推薦準確率,另外整體計算時,基數(shù)過大,也會造成推薦準確率降低.

      通過對整體數(shù)據(jù)集以及不同用戶的推薦結(jié)果進行分析發(fā)現(xiàn),參數(shù)α在0.5~0.7,K在50~80之間時取得較好的推薦結(jié)果,而受實際數(shù)據(jù)的影響,推薦準確率隨K取值的變化波動比較大,但是K的值會隨著α的變化獲得一個穩(wěn)定的區(qū)間.綜上,實驗結(jié)果驗證了本文提出的融合項目上下文感知信息的協(xié)同過濾算法提高了推薦準確率,并確定了參數(shù)的最優(yōu)取值范圍.

      4 結(jié)語

      在傳統(tǒng)的基于項目的協(xié)同過濾推薦算法基礎上,結(jié)合項目的上下文感知信息,對算法進行優(yōu)化,并在公開的音樂數(shù)據(jù)集上進行實驗,結(jié)果顯示本文算法提升了推薦精度,說明算法是有效的.該算法中上下文感知信息的選取非常重要,本文重點考慮音樂數(shù)據(jù)的流派特性,之后還可以考慮融合地點及用戶心情等上下文感知信息,以進一步提高推薦精度.

      猜你喜歡
      準確率矩陣融合
      村企黨建聯(lián)建融合共贏
      融合菜
      乳腺超聲檢查診斷乳腺腫瘤的特異度及準確率分析
      健康之家(2021年19期)2021-05-23 11:17:39
      不同序列磁共振成像診斷脊柱損傷的臨床準確率比較探討
      2015—2017 年寧夏各天氣預報參考產(chǎn)品質(zhì)量檢驗分析
      從創(chuàng)新出發(fā),與高考數(shù)列相遇、融合
      《融合》
      高速公路車牌識別標識站準確率驗證法
      初等行變換與初等列變換并用求逆矩陣
      矩陣
      南都周刊(2015年4期)2015-09-10 07:22:44
      东乡族自治县| 长垣县| 托克逊县| 孝昌县| 蓬溪县| 青铜峡市| 双柏县| 依安县| 沂南县| 翁源县| 马尔康县| 龙胜| 阿瓦提县| 米易县| 隆子县| 陇川县| 潼关县| 晋宁县| 丹巴县| 祁阳县| 麟游县| 西充县| 湘潭县| 浦城县| 霍林郭勒市| 宁波市| 佛学| 石阡县| 浦江县| 博客| 亚东县| 南江县| 浦城县| 当阳市| 稷山县| 广汉市| 宜丰县| 比如县| 建湖县| 南宁市| 西藏|