黃巧文,周寬久,費 錚,崔云鵬
(1.北京商業(yè)機械研究所 信息化研究部,北京 100070;2.大連理工大學(xué) 軟件學(xué)院,遼寧 大連 116081)
隨著移動互聯(lián)網(wǎng)的發(fā)展及大數(shù)據(jù)時代的到來,信息呈現(xiàn)出爆炸式增長。面對信息的泛濫和超載,人們往往會無所適從,在信息面前會面臨各種選擇問題,如信息的獲取方式、信息的真?zhèn)舞b別等。于是,為了幫助用戶獲取其感興趣且有價值的信息,推薦系統(tǒng)應(yīng)運而生。現(xiàn)如今,推薦技術(shù)已經(jīng)成功在電子商務(wù)、社交網(wǎng)絡(luò)等領(lǐng)域中得到了廣泛應(yīng)用,它旨在根據(jù)用戶在系統(tǒng)中的自然行為和歷史數(shù)據(jù),挖掘用戶的興趣點,從而向用戶推薦其感興趣的項目,如資訊、商品和廣告等。
推薦算法是推薦系統(tǒng)中的核心部分,常用的推薦算法包括基于內(nèi)容的推薦算法[1]、基于知識的推薦算法[2]和基于協(xié)同過濾的推薦算法[3]等。其中,基于協(xié)同過濾的推薦算法因其簡單、高效的特點而被廣泛應(yīng)用。在實際應(yīng)用中,協(xié)同過濾算法根據(jù)其作用的對象又可分為基于用戶的協(xié)同過濾(UBCF)和基于項目的協(xié)同過濾(IBCF)。以IBCF算法為例,其核心思想是先通過用戶的歷史行為信息構(gòu)建用戶—項目的評分矩陣,然后挖掘相似性較大的項目,并得出目標(biāo)用戶對項目的預(yù)測評分,最后將預(yù)測評分進(jìn)行排序,形成TOP-N推薦結(jié)果。
聚類[4]作為一種無監(jiān)督機器學(xué)習(xí)方法,在推薦領(lǐng)域常被用于挖掘用戶或項目的相似性,以提升推薦效率。由此,針對協(xié)同過濾算法的不足,大量的學(xué)者提出了一系列的改進(jìn)措施。李華等[5]提出了基于模糊聚類的協(xié)同過濾推薦算法,該算法將模糊聚類算法作用于項目評分矩陣,一定程度上提高了推薦的實時性和準(zhǔn)確性。肖文強等[6]提出了基于譜聚類的用戶協(xié)同過濾推薦算法(Collaborative Filtering Recommendation Algorithm based on User Spectral Clustering,SC-CF+),該算法利用譜聚類將用戶進(jìn)行聚類,降低了用戶空間的維度,同時在相似性度量中引入了項目的時間和流行度等因素提高了推薦結(jié)果的召回率。考慮到矩陣分解的有效性,Ifada等[7]基于非負(fù)矩陣分解(NMF)、奇異值分解(SVD)、主成分分析(PCA)三種矩陣分解方法和K-means、模糊C均值聚類兩種聚類方法的6種組合研究了不同矩陣分解方法在基于聚類的協(xié)同過濾推薦算法中的差異性。為了降低數(shù)據(jù)稀疏性的影響,蘇慶等[8]著重優(yōu)化了項目的相似度計算方式,通過引入時間差因子和冷門、熱門項目權(quán)重以改進(jìn)修正的余弦相似度,并結(jié)合模糊C均值聚類算法提出了基于改進(jìn)模糊劃分的協(xié)同過濾推薦算法(Collaborative Filtering Recommendation Algorithm Based on Improved Fuzzy Partition Clustering,GIFP-CCF+)。為了解決推薦系統(tǒng)數(shù)據(jù)稀疏及冷啟動問題,王巖等[9]基于蜂群算法降低了K-means++算法聚類中心的敏感度,從而緩解了數(shù)據(jù)稀疏問題,提高了推薦質(zhì)量;賈俊杰等[10]通過融合用戶間的顯、隱式信任值將信任機制引入到模糊C均值聚類算法中,提出了基于用戶模糊聚類的綜合信任推薦算法。劉軍等[11]在解決冷啟動問題的基礎(chǔ)上,提出一種增強評分矩陣的協(xié)同過濾推薦算法,該算法綜合考慮用戶購買意愿力、用戶興趣便宜因素以及時間因素等為用戶提供精準(zhǔn)推薦。上述算法均為單一聚類算法在推薦系統(tǒng)上的優(yōu)化,為了進(jìn)一步增強聚類算法在推薦系統(tǒng)中的性能,Zarzour等[12]又基于集成聚類技術(shù),將多種聚類算法集成到推薦系統(tǒng)中,集合期望最大化和超圖劃分算法提高了預(yù)測精度。最近,王英博等[13]提出了基于子空間聚類的協(xié)同過濾推薦算法(Subspace Clustering based User Collaborative Filtering Recommendation Algorithm,SCUCF),該算法通過利用子空間聚類來構(gòu)建用戶鄰居樹,結(jié)合改進(jìn)的相似性度量方法提高了尋找相似用戶的準(zhǔn)確性。總之,大部分的改進(jìn)算法都致力于改進(jìn)相似性度量方式、改進(jìn)鄰域劃分以及降低數(shù)據(jù)稀疏性帶來的影響等措施來提高算法的性能,而忽略了推薦系統(tǒng)中用戶行為的復(fù)雜性和多樣性。
基于“村鎮(zhèn)社區(qū)新型商貿(mào)連鎖綜合服務(wù)平臺研究及示范”的國家重點研發(fā)計劃,針對課題中新零售精準(zhǔn)會員推薦系統(tǒng)中具有多源異構(gòu)特點的用戶行為,提出基于模糊聚類的多視圖協(xié)同過濾推薦算法。首先,為挖掘用戶的關(guān)鍵行為信息,將用戶在系統(tǒng)中的多種行為數(shù)據(jù)整合為多視圖數(shù)據(jù)[14],并基于此提出基于多視圖融合的項目相似性度量方法和用戶偏好預(yù)測方法。然后,為了在優(yōu)化項目鄰域劃分的同時自動學(xué)習(xí)用戶的多種行為偏好之間的差異性,結(jié)合最大熵方法[15]提出基于質(zhì)心約束的多視圖熵加權(quán)模糊聚類算法(Centroid Constraints Based Multi-View Entropy Weighted Fuzzy Clustering,C_MVEWFC)。此外,考慮到C_MVEWFC算法的非線性表達(dá)能力較弱的問題,基于核映射技術(shù)提出基于質(zhì)心約束的多視圖加權(quán)核模糊聚類算法(Centroid Constraints Based Multi-View Entropy Weighted Kernel Fuzzy Clustering,C_MVWKFC)。最后,結(jié)合上述改進(jìn)的項目相似性度量方法和用戶偏好預(yù)測方法,基于C_MVEWFC算法和C_MVWKFC算法提出對應(yīng)的協(xié)同過濾推薦算法MVFC-CF和MVKFC-CF,算法的執(zhí)行流程如圖1所示。為公平比較算法的推薦效果,在公開數(shù)據(jù)集上與較為先進(jìn)的基于聚類的協(xié)同過濾推薦算法進(jìn)行實驗驗證。
圖1 MVFC-CF算法和MVKFC-CF算法的執(zhí)行流程
假定J個用戶、K個項目的評分矩陣定義為R=[rjk]J·K,rjk表示第j個用戶對第k個項目的評分,則列向量r.k表示項目k的受歡迎程度。因此,項目之間的相似性就是評分矩陣R中列向量之間的相關(guān)性。通常來講,可以通過余弦相似度、Pearson相關(guān)系數(shù)、Jaccard系數(shù)等來刻畫該相關(guān)性,式(1)為余弦相似度的計算公式。
(1)
由式(1)可得項目k與其余所有項目之間的相似性。
在進(jìn)行項目的評分預(yù)測時,傳統(tǒng)方法首先在項目空間中計算并搜尋項目的鄰域,然后結(jié)合項目之間的相似度和用戶—項目評分矩陣可得如下的評分預(yù)測[16]:
(2)
從式(1)可看出,傳統(tǒng)協(xié)同過濾算法在計算項目的相似性時是在全局范圍內(nèi)進(jìn)行搜索的,這在大規(guī)模推薦系統(tǒng)顯然不適用。而聚類算法的引入,縮小了近鄰項目的搜索范圍,使得協(xié)同過濾算法在尋找近鄰項目時只需聚焦于同一類簇下,這給傳統(tǒng)的協(xié)同過濾算法創(chuàng)造了新的發(fā)展空間。
Fuzzy C-Means(FCM)聚類算法[17]是最為經(jīng)典的模糊聚類算法,它旨在通過劃分的方式將數(shù)據(jù)分割成類間相似度較小、類內(nèi)相似度較大的類簇。給定待聚類的M×N維數(shù)據(jù)X={x1,x2,…,xm}M×N,FCM的目標(biāo)函數(shù)如下:
(3)
其中,U=[umk]M×K為模糊劃分矩陣,umk表示第m個樣本屬于第k個類的程度;ck則表示第k個類的聚類中心向量;α為大于1的模糊因子。
顯然,傳統(tǒng)的FCM算法原理較為簡單,難以處理復(fù)雜多變的數(shù)據(jù)。近年來,隨著信息技術(shù)的發(fā)展,數(shù)據(jù)往往呈現(xiàn)出多源異構(gòu)的特點。為了提高對此類數(shù)據(jù)的聚類精確度,大量的多視圖聚類算法[18-19]層出不窮,同時這些算法被廣泛應(yīng)用在數(shù)據(jù)挖掘等領(lǐng)域。然而,推薦系統(tǒng)中的多視圖聚類算法為了簡便大多數(shù)是先在單視圖聚類的基礎(chǔ)上進(jìn)行拆分,再尋求融合之法;沒有考慮到多個視圖之間既存在關(guān)聯(lián)性也存在差異性,忽略了多個視圖對于最終推薦結(jié)果的差異化貢獻(xiàn)。
該部分基于推薦系統(tǒng)中復(fù)雜多樣的用戶行為數(shù)據(jù),結(jié)合行為之間的差異性,提出新的偏好預(yù)測方法和項目相似性度量方法。
1.3.1 項目相似性度量
用戶在項目上的不同行為可看作是不同的視圖(角度)上對項目的偏好,張量Z={X1,X2,…,Xv}囊括了用戶的V種行為數(shù)據(jù),對于其中一個視圖來講Xv=[xni]N×I代表用戶的行為矩陣,例如評分、點擊歷史、購買歷史等;xni∈[0,1]表示用戶n對項目i的局部偏好。因此,用戶對項目的全局偏好程度Q=[qni]N×I定義為:
(4)
式中,ωvni表示在第v個視圖中用戶n和項目i之間的行為權(quán)重;xvni表示在第v個視圖中用戶n對項目i的行為偏好。本方法在用戶對項目的偏好程度的評估上融合了用戶對項目的多種行為信息,而這多種行為信息的重要程度則由Ω(Ω=[ωvni]V×N×I)決定,因而這種評估方式更具客觀性和準(zhǔn)確性。
在項目相似性的計算上,考慮到不同用戶對不同項目偏好的標(biāo)準(zhǔn)和程度上的差異,結(jié)合修正的余弦相似度和式(4),引入新的融合多種行為信息的項目相似性度量方法,如式(5)所示。
(5)
sij=gij×oij,oij∈[0,1]
(6)
其中,oij在計算時已經(jīng)過歸一化處理。
1.3.2 用戶偏好預(yù)測
結(jié)合式(5)、式(6),項目的偏好預(yù)測公式如式(7)所示:
(7)
為了提高推薦結(jié)果的準(zhǔn)確性,本節(jié)首先提出C_MVEWFC算法,該算法能夠?qū)崿F(xiàn)上述行為權(quán)重的自動優(yōu)化以及多視圖的協(xié)同過濾;然后,在此基礎(chǔ)上引入核函數(shù),進(jìn)一步提出C_MVWKFC算法以提高算法對非線性數(shù)據(jù)的聚類性能。
給定項目行為的多視圖數(shù)據(jù)集Z={X1,X2,…,Xv},C_MVEWFC算法的任務(wù)是融合V個視圖將數(shù)據(jù)劃分為K個類簇,該算法的目標(biāo)函數(shù)如式(8)所示。
F(M,C,Ω)=
(8)
式中,M=[μik]I×K為隸屬度矩陣,即模糊劃分矩陣;μik表示第i個樣本(項目)屬于第k個類的程度;C=[cvkn]V×K×N為三維的聚類中心矩陣,cvkn代表第v個視圖中第k個聚類中心的第n個屬性(該文指用戶偏好);Ω=[ωvin]V×I×N為三維的權(quán)重矩陣,ωvin為第v個視圖中第n個用戶對第i個項目的偏好權(quán)重;α為模糊因子,β和γ是兩個正標(biāo)量。
在目標(biāo)函數(shù)F中,第一項是對FCM算法的改進(jìn),主要用于融合多個視圖的數(shù)據(jù)來學(xué)習(xí)全局隸屬度矩陣M,從而進(jìn)行數(shù)據(jù)劃分;第二項為聚類中心(質(zhì)心)的正則化項,通過最大化類間聚類中心的距離來進(jìn)一步優(yōu)化類簇的劃分;第三項為權(quán)重的正則化熵項,用于最優(yōu)化權(quán)重ωvin的分布;β和γ則分別控制著后兩項的重要程度。因此,算法的目標(biāo)是通過最小化目標(biāo)函數(shù)(8)得到多視圖數(shù)據(jù)的最優(yōu)劃分,該文采用Picard迭代法[20],通過迭代求解M、C、Ω逐步將式(8)進(jìn)行最小化。
首先,固定C和Ω求解M。使用拉格朗日乘數(shù)法將帶有約束的F(M)最小化問題轉(zhuǎn)化為如式(9)所示的無約束最小化問題。
(9)
(10)
(11)
結(jié)合式(10)和式(11)即可得到全局模糊隸屬度的更新公式,如式(12)所示。
(12)
其次,固定M和Ω求解C。此時,目標(biāo)函數(shù)的最小化問題轉(zhuǎn)化為式(13)的最小化問題。
(13)
這里令dL(C)/dcvkn=0,可得:
(14)
通過求解式(14)可得到各視圖聚類中心的迭代公式,如式(15)所示。
(15)
最后,固定M和C求解Ω。同樣地,借助于拉格朗日乘數(shù)法,將帶有約束的F(Ω)的最小化問題轉(zhuǎn)化為式(16)所示的無約束最小化問題。
(16)
γlogωvin+γ+θin=0
(17)
(18)
求解式(17)和式(18)得到權(quán)重的迭代公式,如式(19)所示。
(19)
結(jié)合以上公式,C_MVEWFC算法的執(zhí)行流程如算法1所示。
算法1:C_MVEWFC算法
輸入:多視圖數(shù)據(jù)Z,項目個數(shù)I,視圖個數(shù)V,類簇個數(shù)K,迭代收斂閾值ε,最大迭代次數(shù)tmax,以及參數(shù)α,β,γ
輸出:隸屬度矩陣M=[μik]I×K
1.初始化每個視圖隨機生成K個聚類中心cvkn,設(shè)定行為權(quán)重ωvin為1/V,設(shè)置迭代計數(shù)器t=1;
2.fort 3.通過式(12)更新隸屬度矩陣M; 4.通過式(15)更新聚類中心矩陣C; 5.通過式(19)更新權(quán)重矩陣Ω; 6.利用式(8)計算目標(biāo)函數(shù)F的值; 7.if|F(t)-F(t-1)|<εthen//目標(biāo)函數(shù)收斂 8.break; 9.end if 10.t++; 11.end for 為了提高C_MVEWFC算法對非線性多視圖數(shù)據(jù)的劃分精度,借鑒核聚類算法[21]的思想并結(jié)合高斯核函數(shù)進(jìn)一步提出基于核函數(shù)的C_MVWKFC算法,該算法的目標(biāo)函數(shù)如式(20)所示。 Fψ(M,C,Ω)= (20) 其中,ω(x)表示將x從低維的特征空間映射到高維的核空間,而核空間中向量的內(nèi)積則可由核函數(shù)ψ(a,b)=φ(a)Tφ(b)得出,該文采用的高斯核函數(shù)如式(21)所示。 (21) 式中,a和b代表參與運算的變量。根據(jù)高斯核函數(shù)的運算規(guī)則,式(20)可以進(jìn)一步改寫為: Fψ(M,C,Ω)= (22) 與C_MVEWFC算法一樣,C_MVWKFC算法的目標(biāo)是通過最小化目標(biāo)函數(shù)來得到最優(yōu)的劃分矩陣M。在目標(biāo)函數(shù)的求解上同樣采用Picard迭代法,式(23)、式(24)及式(25)分別為得出的隸屬度更新公式、聚類中心更新公式和權(quán)重更新公式。 (23) cvkn= (24) (25) 結(jié)合以上公式,C_MVWKFC算法的執(zhí)行流程如算法2所示。 算法2:C_MVWKFC算法 輸入:多視圖數(shù)據(jù)Z,項目個數(shù)I,視圖個數(shù)V,類簇個數(shù)K,迭代收斂閾值ε,最大迭代次數(shù)tmax,核參數(shù)σ,以及參數(shù)α,β,γ 輸出:隸屬度矩陣M=[μik]I×K 1.初始化每個視圖隨機生成K個聚類中心cvkn,設(shè)定行為權(quán)重ωvin為1/V,設(shè)置迭代計數(shù)器t=1; 2.fort 3.通過式(23)更新隸屬度矩陣M; 4.通過式(24)更新聚類中心矩陣C; 5.通過式(25)更新權(quán)重矩陣Ω; 6.利用式(22)計算目標(biāo)函數(shù)Fψ的值; 8.break; 9.end if 10.t++; 11.end for 對于C_MVEWFC算法,假設(shè)待聚類的用戶行為數(shù)據(jù)包含V種行為、N個用戶、I個項目以及K個類別,則該算法在一個迭代周期內(nèi)計算隸屬度的時間復(fù)雜度為O(VIK2N),計算聚類中心的時間復(fù)雜度為O(VIK2N),計算權(quán)重的時間復(fù)雜度為O(V2IKN)。因此,C_MVEWFC算法執(zhí)行一次的時間復(fù)雜度為O(tV2IK2N),其中t為算法的迭代次數(shù);同樣地,C_MVWKFC算法的時間復(fù)雜度亦為O(tV2IK2N)。在實際的應(yīng)用中,用戶的數(shù)量N和項目的數(shù)量I要遠(yuǎn)大于行為的種類V和項目的類別K,故可認(rèn)為文中的兩個聚類算法的時間復(fù)雜度接近于O(IN)。此外,根據(jù)式(4)和式(6)可知,偏好矩陣和相似度矩陣的計算復(fù)雜度分別為O(VIN)和O(I2)。 如表1所示,采用兩種公開數(shù)據(jù)來驗證算法的效果,其中一個是阿里巴巴的淘寶用戶行為數(shù)據(jù)集UserBehavior[22],該數(shù)據(jù)集記錄了一段時間內(nèi)部分用戶對商品的消費行為,包括點擊、購買、收藏、加購物車等。在實驗數(shù)據(jù)的構(gòu)造上,將用戶的上述4種行為數(shù)據(jù)看作為4種不同的視圖,先從原始數(shù)據(jù)中抽取了500名用戶在行為密度較高的7 800個商品上的行為數(shù)據(jù)作為實驗數(shù)據(jù)集,然后從項目的維度將以上數(shù)據(jù)集劃分成兩部分,即訓(xùn)練集和測試集,分別占整個實驗數(shù)據(jù)集的80%和20%。 表1 實驗數(shù)據(jù)構(gòu)成 由該數(shù)據(jù)的構(gòu)造可知,點擊行為表達(dá)出了用戶對項目的第一印象,也是用戶對項目偏好與否的第一行為反饋。故在該數(shù)據(jù)集上的實驗?zāi)康木褪峭ㄟ^學(xué)習(xí)訓(xùn)練集中用戶與項目之間的不同行為來預(yù)測測試集中用戶對項目的點擊行為。 參與實驗的另一個數(shù)據(jù)集是MovieLens-1M[23],該數(shù)據(jù)集是由GroupLens團隊從MovieLens網(wǎng)站(https://movielens.org)上收集的,包含了2000年加入MovieLens的6 040人對約3 900部電影的100萬條匿名評分。該數(shù)據(jù)集在實驗中用于驗證引入核函數(shù)的MVKFC-CF算法相較于MVFC-CF算法的非線性數(shù)據(jù)處理能力。為了保證該數(shù)據(jù)集在算法上的可用性,這里首先分別將用戶對電影的評分、電影上映時間與評分時間差作為兩個不同的視圖,兩個視圖均能從不同的角度反映出用戶對電影的喜好程度;其次利用Sigmoid激活函數(shù)將評分與時間差的真實值均分別進(jìn)行非線性變換,以得出非線性的多視圖數(shù)據(jù)集。在訓(xùn)練集和測試集的劃分比例上,與UserBehavior數(shù)據(jù)集保持一致。 為了更加合理、公平地評估文中算法的性能,選用平均絕對誤差MAE[24]和推薦結(jié)果TOP命中率THR[25]作為算法性能的評價指標(biāo),并同基于改進(jìn)的kmeans聚類的協(xié)同過濾推薦算法Kmeans-CF[16]、基于模糊C均值聚類的協(xié)同過濾推薦算法FCM-CF[8]、SC-CF+[6]、GIFP-CCF+[8]、SCUCF[13]等進(jìn)行比較。MAE和THR的公式分別定義如下: (26) (27) 算法涉及到的超參有模糊因子α,核參數(shù)σ,正則化參數(shù)β和γ,實驗中采用網(wǎng)格搜索法來尋找參數(shù)的最優(yōu)值,表2列出了這些參數(shù)的搜索范圍。 表2 算法參數(shù)的尋優(yōu)范圍 3.3.1 UserBehavior數(shù)據(jù)的實驗結(jié)果 首先,針對參與對比實驗的所有算法利用訓(xùn)練數(shù)據(jù)集尋找最佳聚類參數(shù),并通過比較MAE和THR值的變化情況來確定最終的參數(shù)取值,如文中α的取值為2.0,β的取值為10-5,γ的取值為10-4,σ的取值為22。然后,為了實驗的公平性,在測試集上驗證各算法的實際推薦效果和泛化性能,這里每種算法的評價指標(biāo)均取在測試集上執(zhí)行100遍的均值。表3列出了上述5種算法和文中算法在UserBehavior數(shù)據(jù)集上的MAE值和THR值,以及兩指標(biāo)的標(biāo)準(zhǔn)差。從表中可知,相較于其他算法Kmeans-CF和FCM-CF的推薦效果最差。一方面這是因為傳統(tǒng)的聚類算法難以處理多視圖數(shù)據(jù),導(dǎo)致在尋找鄰域項目時準(zhǔn)確度不高;另一方面,傳統(tǒng)協(xié)同過濾算法在用戶的偏好預(yù)測上只能參考用戶的單一行為,難以挖掘到多種行為之間的聯(lián)系。 表3 算法效果對比 雖然SC-CF+、GIFP-CCF+、SCUCF等三個算法都從項目相似性度量、項目鄰域劃分等不同的角度進(jìn)行了改進(jìn),但仍然忽略了推薦系統(tǒng)中多種行為的關(guān)聯(lián)性和差異性,故而在面對多視圖數(shù)據(jù)時推薦效果差強人意。而引入多視圖概念的MVFC-CF算法通過自動加權(quán)的方式自動地學(xué)習(xí)用戶的關(guān)鍵行為,同時采用多視圖聚類的方式優(yōu)化了項目鄰域的劃分,進(jìn)而與SCUCF算法相比在MAE上從0.622 9降低到0.603 4,在THR上從0.128 2提升到0.143 6。此外,由于核函數(shù)的引入,MVKFC-CF算法的精度得到進(jìn)一步提升,相比于MVFC-CF算法在MAE指標(biāo)上相對降低了3.1%,在THR指標(biāo)上相對提升了5.92%。 聚類數(shù)K與數(shù)據(jù)集本身強相關(guān),該參數(shù)是決定最終類簇緊密程度的重要影響因素,而在與聚類結(jié)合的協(xié)同過濾算法中,該參數(shù)的取值會直接影響到最終的推薦效果。為了確定文中數(shù)據(jù)集最優(yōu)的聚類數(shù)目,這里用K={5,10,15,20,25,30} 6個不同大小的聚類數(shù)來測試聚類數(shù)K對算法的影響。實驗中,固定各算法的最優(yōu)聚類參數(shù)不變,將聚類數(shù)目由最初5個逐漸增加至30個,觀察各算法的評價指標(biāo)的變化情況。圖2(a)(b)分別展示了以上7種算法在測試集上不同K值下的MAE和THR的變化趨勢。由圖2可知,隨著聚類數(shù)量的逐漸增加,所有算法的預(yù)測精度都呈現(xiàn)出越來越好的趨勢。這是因為聚類數(shù)越大最終得到的項目鄰域就越細(xì)化,那么找到相近鄰居的概率就越高,因此推薦結(jié)果就越精準(zhǔn)。從圖中可進(jìn)一步觀察到,對于本數(shù)據(jù)集而言,當(dāng)聚類數(shù)達(dá)到25至30時大部分算法均趨于穩(wěn)定,因此在測試中文中算法的K值設(shè)定為25。從算法的表現(xiàn)上來看,MVKFC-CF相比較新的SCUCF算法在MAE上從0.622 9降低到0.584 7,在THR上從0.128 2提升到0.152 1。整體來看,MVFC-CF算法和MVKFC-CF算法相較于其他算法在不同的K值下均表現(xiàn)出了更好的性能,這再次驗證了文中算法的有效性。 圖2 算法在UserBehavior數(shù)據(jù)集上不同K值下MAE和THR的變化曲線 3.3.2 MovieLens-1M數(shù)據(jù)的實驗結(jié)果 MVKFC-CF算法通過引入核映射技術(shù)以提高M(jìn)VFC-CF算法的非線性數(shù)據(jù)處理能力,從而提高協(xié)同過濾的準(zhǔn)確性。為了驗證MVKFC-CF算法的推薦效果,實驗中首先設(shè)定K={5,10,15,20,25,30},σ=22,然后對比在不同聚類數(shù)下的MVFC-CF算法和MVKFC-CF算法對該數(shù)據(jù)集的處理能力,實驗結(jié)果如圖3所示。 圖3 MVFC-CF和MVKFC-CF在MovieLens-1M數(shù)據(jù)集上的MAE和THR 由圖3可知,當(dāng)聚類數(shù)目較小時兩算法的差距并不大,而隨著聚類數(shù)目的增大,MVKFC-CF算法的優(yōu)勢就愈加明顯,當(dāng)聚類數(shù)為15時,文中算法在MovieLens-1M數(shù)據(jù)集上的推薦效果達(dá)到最佳,此時MVKFC-CF算法與MVKFC-CF算法的MAE指標(biāo)絕對差距為0.06,THR的絕對差距為1.6百分點。實驗的評價指標(biāo)表明,MVKFC-CF算法對于非線性數(shù)據(jù)的處理能力更強,推薦結(jié)果更加精準(zhǔn)。 提出了兩種基于多視圖聚類的協(xié)同過濾推薦算法,不僅考慮到了多種行為之間的潛在聯(lián)系,還考慮到了數(shù)據(jù)的非線性特點。在多視圖行為的構(gòu)造上,利用推薦系統(tǒng)中用戶對項目的多樣性行為構(gòu)建多視圖行為矩陣,同時引入多視圖融合的權(quán)重系數(shù)來平衡多種行為之間的差異性和關(guān)聯(lián)性。在相似性評估上,結(jié)合用戶與項目之間的同現(xiàn)矩陣,提出新的相似性度量方法和偏好預(yù)測方法。 在項目鄰域劃分的優(yōu)化上,基于多視圖模糊聚類的思想,提出了MVFC-CF算法,利用最大熵方法來自動調(diào)節(jié)行為權(quán)重的分布。進(jìn)一步地,在MVFC-CF算法的基礎(chǔ)上引入核函數(shù),提出MVKFC-CF算法以增強算法對非線性數(shù)據(jù)的處理能力。實驗表明,該算法在推薦結(jié)果的準(zhǔn)確性上相較于其他基于聚類的較為先進(jìn)的協(xié)同過濾算法均有不同程度的提高。即便如此,算法仍有不足之處,下一步將通過引入上下文信息和彌補缺失行為的角度,進(jìn)一步提高算法的推薦效果。2.2 基于質(zhì)心約束的多視圖加權(quán)核模糊聚類算法
2.3 計算復(fù)雜度分析
3 實驗分析與討論
3.1 實驗數(shù)據(jù)與目的
3.2 評價指標(biāo)與參數(shù)設(shè)定
3.3 實驗結(jié)果與分析
4 結(jié)束語