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