一種基于馬爾科夫預(yù)測模型的協(xié)同過濾推薦方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及電子商務(wù)領(lǐng)域,具體地說是一種實(shí)用性強(qiáng)的基于馬爾科夫預(yù)測模型的 協(xié)同過濾推薦方法。
【背景技術(shù)】
[0002] 隨著電子商務(wù)的發(fā)展,個性化推薦受到越來越多的用戶青睞,由此產(chǎn)生了很多個 性化推薦算法,其中協(xié)同過濾推薦算法是應(yīng)用最為成功的一種,其基本思想是:通過與目 標(biāo)項(xiàng)目相似度高的鄰居集合的評分預(yù)測目標(biāo)項(xiàng)目的評分,從而產(chǎn)生最終的個性推薦。隨著 網(wǎng)絡(luò)站點(diǎn)結(jié)構(gòu)的變化,內(nèi)容復(fù)雜度的增加和用戶的增多,如何提高算法的可擴(kuò)展性以及如 何提高協(xié)同過濾算法的推薦質(zhì)量,是基于協(xié)同過濾技術(shù)的系統(tǒng)面臨的主要問題.對于解決 此問題研宄人員提出了很多不同的解決方案,在特定的場合下,有些算法可以得到很好的 效果。如基于時間的數(shù)據(jù)權(quán)重和基于資源相似度的數(shù)據(jù)權(quán)重兩種改進(jìn)度量算法,減少項(xiàng)目 空間的維數(shù),使用戶在降維后的項(xiàng)目空間上對每個項(xiàng)目都有評分來解決數(shù)據(jù)的稀疏性問 題,基于K-means聚類算法的近鄰預(yù)選擇算法。上述算法雖然能夠進(jìn)行相應(yīng)的推薦,但其 往往僅采用評分信息,而與之密切相關(guān)的時序信息和關(guān)系信息則被忽略,有效利用這些信 息可以進(jìn)一步提高推薦算法的精度.而且在評分?jǐn)?shù)據(jù)較稀疏時,存在各種弊端,導(dǎo)致鄰里 集合不準(zhǔn)確,從而影響推薦系統(tǒng)的推薦質(zhì)量。
[0003] 現(xiàn)有的多很多算法為了解決推薦精度問題,有以下幾種方法:1)基于用戶 (user-based)的推薦算法?;谟脩舻耐扑]方法面對用戶數(shù)量不斷變化的系統(tǒng),需要 經(jīng)常重新計(jì)算用戶間的相似度矩陣,因而時間復(fù)雜性高,可擴(kuò)展性較差。2)基于項(xiàng)目 (item-based)的推薦算法,網(wǎng)站用戶數(shù)量不斷增長,而被推薦的項(xiàng)目數(shù)量則保持相對穩(wěn) 定,計(jì)算出的項(xiàng)目相似度矩陣更新頻率低,可在較長的一段時間內(nèi)使用.為此提出了基于 項(xiàng)目(item-based)的推薦算法,但當(dāng)推薦系統(tǒng)中的項(xiàng)目數(shù)量快速變化時(在線新聞作為被 推薦的項(xiàng)目),基于項(xiàng)目的算法同樣面臨著可擴(kuò)展性問題。
[0004] 基于此,本發(fā)明提供一種基于馬爾科夫預(yù)測模型的協(xié)同過濾推薦方法,通過該方 法,用戶的推薦算法和馬爾科夫預(yù)測模型,得到用戶興趣的轉(zhuǎn)移矩陣,從而在此基礎(chǔ)上對用 戶的興趣項(xiàng)目進(jìn)行推薦,算法簡單而直接,而且可以在數(shù)據(jù)稀疏的情況下,較好的完成推 薦。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的技術(shù)任務(wù)是針對以上不足之處,提供一種實(shí)用性強(qiáng)、基于馬爾科夫預(yù)測 模型的協(xié)同過濾推薦方法。
[0006] -種基于馬爾科夫預(yù)測模型的協(xié)同過濾推薦方法,其具體實(shí)現(xiàn)過程為,
[0007] 首先利用馬爾科夫預(yù)測模型獲得用戶個性化轉(zhuǎn)移矩陣;
[0008] 然后用張量分解,即標(biāo)準(zhǔn)分解對個性化矩陣進(jìn)行處理,分析用戶對項(xiàng)目的喜好程 度;
[0009] 最后在此基礎(chǔ)上進(jìn)行協(xié)同推薦,由此得到推薦項(xiàng)目。
[0010] 所述用戶的轉(zhuǎn)移矩陣構(gòu)造過程為:
[0011] 構(gòu)造馬爾科夫鏈,將鏈的長度設(shè)為m = 1,求得用戶購買1到購買i的轉(zhuǎn)移概率模 型,然后得到用戶的轉(zhuǎn)移矩陣。
[0012] 所述個性化矩陣的處理過程為:
[0013] 1)得到的轉(zhuǎn)移矩陣進(jìn)行張量分解;
[0014] 2)然后將張量分解的公式與馬爾科夫模型相結(jié)合,得到新的轉(zhuǎn)移矩陣,使用相關(guān) 相似性計(jì)算用戶之間的相似性;
[0015] 3)計(jì)算相似性之后,得到用戶的鄰居,從而采用協(xié)同過濾的方法對用戶進(jìn)行推薦。
[0016] 所述步驟2)中的相似性計(jì)算采用以下公式:
[0018] 其中:Cul;u2表示用戶ul和用戶u2擁有相同轉(zhuǎn)移項(xiàng)的集合,Rul, i;j和Ru2,i;j分別表 示用戶上一步購買i和下一步購買j的概率,巧和巧分別表示用戶購買i、j的平均概率。
[0019] 使用相關(guān)相似性計(jì)算兩兩用戶之間的相似性后,其結(jié)果保存在用戶相似性矩陣R_ sim(N,N)中,該R_sim是NXN方陣,N表示N個用戶,其元素的值以主對角線為軸對稱分 布,艮P sim_(k,m) = sim_(m,k) 〇
[0020] 所述步驟3)的詳細(xì)過程為:
[0021] 計(jì)算用戶u的未購項(xiàng)目集Nk= I-I k (1彡k彡M),I為項(xiàng)目集,Ik為用戶已購項(xiàng)目 集;
[0022] 根據(jù)Rsim(N,N)選擇目標(biāo)用戶u的最近鄰居集合U = {Ui,%,…,up},使得ugU且 sim(u, uD最大,sim(u, u2)次之,以此類推;
[0023] 根據(jù)目標(biāo)用戶u的最近鄰居p的集合U計(jì)算相應(yīng)的推薦集:
[0024] 對于用戶u的未購項(xiàng)目集Nk中的每一項(xiàng)i,利用以下公式預(yù)測用戶購買項(xiàng)目的概 率:
[0026] 其中sim(u, uk)表示用戶u與其最近鄰居用戶uk之間的綜合相似性,表示用 戶uk對項(xiàng)目i的購買概率,C和瓦:分別表示用戶u、u k對項(xiàng)目的平均購買概率;
[0027] 對Nk中元素的預(yù)測概率按照從大到小的順序進(jìn)行排序,取前p個項(xiàng)目組成推薦集 Irac;= {i i2,…,ip,}推薦給目標(biāo)用戶u。
[0028] 本發(fā)明的一種基于馬爾科夫預(yù)測模型的協(xié)同過濾推薦方法,具有以下優(yōu)點(diǎn):
[0029] 本發(fā)明提出的一種基于馬爾科夫預(yù)測模型的協(xié)同過濾推薦方法,將馬爾科夫預(yù)測 模型與協(xié)同過濾相結(jié)合,而且在結(jié)合的過程中對稀疏矩陣采取了張量分解,充分利用現(xiàn)有 的每條數(shù)據(jù),從而可以產(chǎn)生較好的推薦效果,實(shí)用性強(qiáng),易于推廣。
【附圖說明】
[0030] 附圖1為4個用戶的購買歷史表。
[0031] 附圖2為用戶1的轉(zhuǎn)移矩陣圖。
[0032] 附圖3為用戶2的轉(zhuǎn)移矩陣圖。
[0033] 附圖4為用戶3的轉(zhuǎn)移矩陣圖。
[0034] 附圖5為用戶4的轉(zhuǎn)移矩陣圖。
【具體實(shí)施方式】
[0035] 下面結(jié)合附圖和具體實(shí)施例對本發(fā)明作進(jìn)一步說明。
[0036] 本發(fā)明提供一種基于馬爾科夫預(yù)測模型的協(xié)同過濾推薦方法,該方法中涉及到的 名詞解釋如下:
[0037] 馬爾科夫預(yù)測模型:是應(yīng)用概率論中馬爾科夫鏈的理論和方法研宄隨機(jī)事件變化 并借此分析預(yù)測未來變化趨勢的一種模型。
[0038] 協(xié)同過濾:是利用某興趣相投、擁有共同經(jīng)驗(yàn)之群體的喜好來推薦使用者感興趣 的資訊。
[0039] 推薦方法:把通過協(xié)同過濾獲得的項(xiàng)目(商品)推薦給用戶。
[0040] 在現(xiàn)有的推薦方法中,用戶、商品的冷啟動問題是一個難題,而且一般在推薦方法 中所使用的方法都是協(xié)同過濾。協(xié)同過濾這個方法是構(gòu)建用戶商品矩陣,然后再經(jīng)過相似 性處理,從而對使用者進(jìn)行推薦。但是當(dāng)用戶量巨大,商品數(shù)量同樣也是非常大的時候,用 戶商品矩陣就是一個稀疏矩陣,如何在稀疏矩陣中正確的預(yù)測出用戶感興趣的商品同樣也 是一個難題。而且傳統(tǒng)方法中忽略的時序的信息,從而無法準(zhǔn)確的預(yù)測出用戶感興趣商品, 也無法準(zhǔn)確的為用戶進(jìn)行推薦。
[0041] 本發(fā)明的方法中,首先利用馬爾科夫預(yù)測模型獲得用戶個性化轉(zhuǎn)移矩