聶曉明 高鵬翔
摘要:針對(duì)推薦算法數(shù)據(jù)稀疏及聚類中心點(diǎn)敏感問題,提出了一種基于用戶偏好和麻雀搜索聚類的協(xié)同過濾推薦算法。首先使用評(píng)分偏好模型對(duì)原用戶項(xiàng)目矩陣進(jìn)行修正,得到新的用戶偏好-項(xiàng)目矩陣。利用麻雀搜索對(duì)聚類中心點(diǎn)進(jìn)行優(yōu)化,從目標(biāo)用戶所在簇內(nèi)得到最近鄰,提高了算法迭代速度,改善了聚類中心點(diǎn)敏感的問題。使用相似度公式對(duì)目標(biāo)用戶未評(píng)分項(xiàng)目進(jìn)行預(yù)測(cè),并完成推薦。實(shí)驗(yàn)結(jié)果表明,相較于其他幾種推薦算法,準(zhǔn)確度提高了4到6個(gè)百分點(diǎn)。
關(guān)鍵詞:評(píng)分偏好;麻雀搜索;協(xié)同過濾;推薦精度
中圖分類號(hào):TP391.3
文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1006-1037(2021)01-0070-07
基金項(xiàng)目:
山東省自然科學(xué)基金(批準(zhǔn)號(hào):ZR2019PEE018)資助。
通信作者:高鵬翔,男,教授,主要研究方向?yàn)槿斯ぶ悄?。E-mail:gappengxiang@qdu.edu.cn
近年來,隨著網(wǎng)絡(luò)信息數(shù)據(jù)的急劇增長,帶來了大數(shù)據(jù)時(shí)代。隨之而來的是用戶的個(gè)性化需求不斷提高,如何尋找到用戶真正感興趣的信息已經(jīng)成為一項(xiàng)棘手的難題。為此,人們開發(fā)出了推薦系統(tǒng)[1] (Recommender Systems),根據(jù)不同用戶的個(gè)性化需求,推薦用戶最有可能喜歡的條目。推薦系統(tǒng)的技術(shù)核心是推薦算法,其中,協(xié)同過濾算法是推薦系統(tǒng)中應(yīng)用最為廣泛、最成功的技術(shù)之一。協(xié)同過濾算法的原理是試圖通過對(duì)用戶過去行為的了解,找出相似用戶,分析相似用戶喜歡的項(xiàng)目集合完成推薦項(xiàng)目。但是協(xié)同過濾算法存在一定的不足,如冷啟動(dòng)、稀疏性以及缺乏定制推薦[2],仍需要對(duì)其不斷完善。為了改善算法的推薦準(zhǔn)確性,研究人員從不同的方面做了研究,針對(duì)矩陣稀疏的問題,Hu等[3]證明了聚類技術(shù)如何改進(jìn)協(xié)同過濾算法并有效提高在稀疏矩陣中的推薦效果。Xiong等[4]利用統(tǒng)計(jì)學(xué)聚類算法,提出一種基于項(xiàng)目的協(xié)同過濾推薦系統(tǒng),有效的解決了數(shù)據(jù)稀疏的問題。Xia等[5-6]提出了一種利用矩陣填充的協(xié)同過濾算法,通過算法模型對(duì)缺失的數(shù)據(jù)進(jìn)行評(píng)分的預(yù)測(cè)填充,以此來緩解數(shù)據(jù)稀疏問題,但由于缺省值的設(shè)置導(dǎo)致誤差的產(chǎn)生,預(yù)測(cè)的評(píng)分依然不夠準(zhǔn)確。Shi等[7]通過關(guān)聯(lián)規(guī)則評(píng)估用戶之間的相似性來解決這個(gè)問題。使用上述算法對(duì)相關(guān)聯(lián)項(xiàng)目的權(quán)重進(jìn)行分配和迭代改進(jìn),有效地提高了推薦的準(zhǔn)確性。針對(duì)傳統(tǒng)協(xié)同過濾推薦技術(shù)的冷啟動(dòng)問題,Zhou等[8]將基于人工魚群聚類應(yīng)用到基于用戶的協(xié)同過濾推薦系統(tǒng)中,提高了推薦結(jié)果的準(zhǔn)確率。趙亞輝等[9]利用用戶之間的信任信息,更好地找到興趣相似的用戶集,增強(qiáng)推薦效果。林甲祥等[10]提出的結(jié)合社交關(guān)系和關(guān)聯(lián)規(guī)則的推薦算法可以有效解決冷啟動(dòng)問題,但是算法實(shí)現(xiàn)過程較復(fù)雜,在實(shí)際應(yīng)用中可能在于系統(tǒng)的吞吐量會(huì)受到限制。上述研究都在一定程度上提高了協(xié)同推薦算法的準(zhǔn)確性,緩解了協(xié)同過濾算法中的問題。然而,這些方法都忽略了用戶的評(píng)分偏好對(duì)結(jié)相似度計(jì)算帶來的影響,以及在面臨聚類時(shí)容易出現(xiàn)中心點(diǎn)敏感問題,導(dǎo)致最近鄰居選取不準(zhǔn)確,本文提出了一種基于用戶偏好和麻雀搜索聚類的協(xié)同過濾算法(Collaborative filtering algorithm based on user preference and sparrow search clustering,UPSSCA-CF)。利用用戶對(duì)評(píng)分的偏好屬性修正用戶—項(xiàng)目矩陣,使用麻雀搜索的聚類算法,對(duì)修正后的用戶偏好—項(xiàng)目矩陣進(jìn)行聚類分組,在目標(biāo)用戶的所屬類簇中,通過相似度和評(píng)分預(yù)測(cè)公式對(duì)矩陣中缺失的項(xiàng)目值進(jìn)行填充,找出目標(biāo)用戶未評(píng)分項(xiàng)目中最高的N個(gè)項(xiàng)目,從而完成推薦。通過在MovieLens數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)驗(yàn)證。
1 傳統(tǒng)的基于聚類協(xié)同過濾算法
聚類算法的思想引入推薦系統(tǒng)中,可以很好的找到用戶之間的相似關(guān)系。聚類問題[11-12]可以定義為:給定的n維用戶行為矩陣中對(duì)用戶進(jìn)行聚類,計(jì)算并比較目標(biāo)用戶與預(yù)設(shè)定的k個(gè)中心點(diǎn)之間的距離,將行為相近的用戶點(diǎn)劃分到同個(gè)簇中,然后從距離最近的k個(gè)簇內(nèi)生成最近鄰居集[13]。
(1)產(chǎn)生用戶—項(xiàng)目評(píng)分矩陣。假設(shè)對(duì)項(xiàng)目進(jìn)行評(píng)分的用戶的id集合為U=ui|i∈1,2,…,n,和項(xiàng)目的id集合為i=it|t∈1,2,…,m。用戶對(duì)項(xiàng)目的評(píng)分矩陣用R=Ri,j|i∈1,2,…,n,j∈1,2,…,m表示,其中元素Ri,j表示ui對(duì)項(xiàng)目ij的評(píng)分,其范圍為1到5之間的整數(shù)。
(2)計(jì)算用戶的相似度。用戶相似度計(jì)算是協(xié)同過濾中的關(guān)鍵環(huán)節(jié),需要計(jì)算每個(gè)用戶和其他用戶之間的相似度。目前應(yīng)用最廣泛的相似度計(jì)算方法有Pearson相似系數(shù)、Jaccard相似系數(shù)和余弦相似系數(shù)[14]等。本文選擇用來計(jì)算相似度的是Pearson相似系數(shù)
其中,simu,v表示用戶u和用戶v的Pearson相似度,items表示用戶u和用戶v的共同評(píng)分項(xiàng)集合,Ru,i和Rv,i分別表示用戶u和用戶v對(duì)項(xiàng)目i的評(píng)分分?jǐn)?shù),Ru 和Rv 分別表示用戶u和用戶v平均評(píng)分[15]。
(3)評(píng)分預(yù)測(cè)推薦。得出用戶之間的相似度后,通常采用KNN推薦模型[16]進(jìn)行最近鄰集合的選取,從而進(jìn)行評(píng)分預(yù)測(cè),將需要推薦的項(xiàng)目與用戶已購買的項(xiàng)目進(jìn)行比較,在用戶未進(jìn)行評(píng)分的項(xiàng)目中,把預(yù)測(cè)評(píng)分最高的n個(gè)項(xiàng)目推薦給目標(biāo)用戶
其中,Ru,i表示用戶u對(duì)產(chǎn)品i的預(yù)測(cè)評(píng)分,SUser表示用戶的最近鄰集合。simu,v表示用戶u和用戶v的相似度,Ru、Rv表示用戶u和用戶v對(duì)其他產(chǎn)品打分的均值[17]。
2 UPSSCA-CF
2.1 用戶偏好—項(xiàng)目矩陣
考慮表1中的用戶項(xiàng)目評(píng)分矩陣用戶項(xiàng)目評(píng)分矩陣相似性矩陣假設(shè),如果用戶u1喜歡某個(gè)項(xiàng)目,則會(huì)打4分,相反如果不喜歡,則打1分。因此,從表1可以看出,u1喜歡i2,但不喜歡i1。但是如果其他用戶u2喜歡i2和u1喜歡i2一樣多,會(huì)給i2打5分。用戶u2不喜歡i2,會(huì)將其評(píng)為2。因此,u1和u2之間的相似性應(yīng)該是1,因?yàn)樗麄兌枷矚gi2不喜歡i1,但顯然通過公式求出兩者的相似性矩陣中的值卻不是1。這種矛盾的發(fā)生是因?yàn)橛脩魧?duì)物品的打分習(xí)慣是存在差異的[18]。
為此本文使用用戶打分偏好來對(duì)用戶—項(xiàng)目矩陣進(jìn)行修正。引入評(píng)分偏好模型[19],假設(shè)評(píng)分類別集合為P1,…,P5,若Pj<Pi,表示評(píng)分類別Pj小于評(píng)分類別Pi。用戶u對(duì)評(píng)分類別的偏好得分
計(jì)算出所有用戶的評(píng)分類別偏好后,使用用戶評(píng)分類別偏好得分代替用戶—物品矩陣中的原始得分,得到修正后的用戶偏好—項(xiàng)目矩陣,該矩陣元素的值代表用戶對(duì)物品的偏好,在一定程度上提高推薦準(zhǔn)確率。
2.2 麻雀搜索聚類的協(xié)同過濾算法
本文對(duì)上一節(jié)得到的用戶偏好—項(xiàng)目矩陣使用麻雀搜索優(yōu)化K-means算法的中心點(diǎn)的選擇,改善了聚類算法中心點(diǎn)選取敏感問題,增強(qiáng)了聚類效果并提高了推薦算法的可擴(kuò)展性。該矩陣可表示為X=x1,x2,…,xi,…,xn ,其中xi表示用戶ui對(duì)所有項(xiàng)目類型的偏好。
2.2.1 麻雀搜索算法 麻雀搜索算法[20]是一種新型的群智能優(yōu)化算法,受麻雀的覓食行為和反捕食行為的啟發(fā),模擬了麻雀群覓食的過程。麻雀中負(fù)責(zé)尋找食物并為整個(gè)麻雀種群提供覓食區(qū)域和方向的個(gè)體作為發(fā)現(xiàn)者,其他麻雀作為跟隨者,跟隨者則是利用發(fā)現(xiàn)者來獲取食物。同時(shí)還疊加了偵查預(yù)警機(jī)制,種群中選取一定比例的麻雀進(jìn)行偵查預(yù)警,監(jiān)視群體中其它麻雀的危險(xiǎn)行為,該種群中的攻擊者會(huì)與高攝取量的同伴爭(zhēng)奪食物資源,如果發(fā)現(xiàn)危險(xiǎn)則放棄食物,以提高自己的捕食率。
發(fā)現(xiàn)者通常有高水平的能量?jī)?chǔ)備,并為所有的覓食者提供覓食區(qū)域或方向,負(fù)責(zé)確定可以找到豐富食物來源的地區(qū)。能量?jī)?chǔ)備水平取決于對(duì)麻雀健康值的評(píng)估。一旦麻雀發(fā)現(xiàn)了捕食者,就會(huì)發(fā)出警報(bào)信號(hào)。當(dāng)報(bào)警值大于安全閾值時(shí),發(fā)現(xiàn)者需要將所有麻雀引向安全區(qū)域。每代發(fā)現(xiàn)者的位置更新
其中,t表示當(dāng)前迭代,j=1,2,…,d,Xti,j表示種群中第t代中第i個(gè)麻雀的第j維位置,itermax是迭代次數(shù)最多的常數(shù)。α∈(0,1]是一個(gè)隨機(jī)數(shù),R2R2∈[0,1]和STST∈[0.5,1]分別代表報(bào)警值和安全閾值,Q為一個(gè)標(biāo)準(zhǔn)正態(tài)分布隨機(jī)數(shù)。當(dāng)R2<ST時(shí),說明周圍沒有捕食者,生產(chǎn)者進(jìn)入廣域搜索模式。如果R2≥ST,說明一些麻雀已經(jīng)發(fā)現(xiàn)了捕食者,所有的麻雀都需要迅速飛到其他安全區(qū)域。
對(duì)于跟隨者,一些跟隨者會(huì)頻繁地監(jiān)視生產(chǎn)者。一旦發(fā)現(xiàn)生產(chǎn)者找到了好的食物,會(huì)立即離開現(xiàn)在的位置去競(jìng)爭(zhēng)食物。如果贏了,可以立即得到生產(chǎn)者的食物,否則,將繼續(xù)執(zhí)行跟隨能提供最好食物的生產(chǎn)者去尋找食物。跟隨者的位置更新公式
其中,Xt+1P是生產(chǎn)者占據(jù)的最佳位置;Xtworst表示當(dāng)前全局最差位置;A表示1×d的矩陣,其中每個(gè)元素隨機(jī)分配1或-1,并且A+=ATAAT-1。當(dāng)i>n/2時(shí),說明適應(yīng)值較差的第i個(gè)跟隨者最有可能餓死。
麻雀覓食的同時(shí)部分麻雀負(fù)責(zé)警戒,當(dāng)危險(xiǎn)靠近時(shí),麻雀會(huì)放棄當(dāng)前的食物,即無論該麻雀是發(fā)現(xiàn)者還是跟隨者,都將放棄當(dāng)前的食物而移動(dòng)到一個(gè)新的位置。每代將從種群中隨機(jī)選擇Sn個(gè)個(gè)體進(jìn)行預(yù)警行為。其位置更新公式
其中,Xtbest是當(dāng)前的全局最優(yōu)位置;β是步長控制參數(shù),取值是平均值為0、方差為1的隨機(jī)數(shù)的正態(tài)分布;K∈-1,1是一個(gè)隨機(jī)數(shù)表示麻雀移動(dòng)的方向,也是步長控制系數(shù);fi是目前麻雀的適應(yīng)值,fg和fworst分別是當(dāng)前的全局最佳適應(yīng)值和最差適應(yīng)值,ε是最小常數(shù),以避免零除誤差。當(dāng)fi≠fg表示麻雀位于簇的邊緣。Xtbest顯示了聚類中心的位置,周圍是安全的。fi=fg表明,處于種群中間的麻雀意識(shí)到了危險(xiǎn),需要靠近其他麻雀。
2.2.2 麻雀搜索的用戶聚類算法 融合麻雀搜索的用戶聚類算法(User clustering algorithm for sparrow search,SSCA)的算法思想是先利用麻雀搜索算法查找最優(yōu)的初始聚類中心,再使用最優(yōu)的初始聚類中心對(duì)用戶進(jìn)行K-means聚類。麻雀搜索算法中的每一只麻雀表示一個(gè)聚類中心矩陣C=C1,C2,…,Cc,在麻雀搜索算法中,每只麻雀有一個(gè)位置屬性,代表找到的食物的位置,在D維解空間內(nèi)每只麻雀的位置為適應(yīng)度值,所有麻雀的適應(yīng)值可以用以下向量表示
其中,D表示麻雀的數(shù)量,每代選取種群中位置最好的Pm只麻雀作為發(fā)現(xiàn)者,剩余的D-Pm只麻雀作為跟隨者。Fx中每行的值表示個(gè)體的適應(yīng)值。在SSCA算法,具有較好適應(yīng)值的生產(chǎn)者在搜索過程中優(yōu)先獲得食物,見算法1。
2.3 UPSSCA-CF算法流程
UPSSCA-CF分為以下5步,具體流程如1圖所示。
(1) 首先對(duì)原始數(shù)據(jù)列表進(jìn)行預(yù)處理,生成用戶—項(xiàng)目矩陣。然后輸入到評(píng)分偏好模型中,對(duì)每個(gè)用戶的所有評(píng)分進(jìn)行計(jì)算,計(jì)算得出用戶的評(píng)分偏好得分,使用評(píng)分偏好代替原來矩陣的評(píng)分值,構(gòu)建用戶偏好—項(xiàng)目矩陣;
(2) 使用算法1,對(duì)用戶偏好—項(xiàng)目矩陣中的每一個(gè)用戶進(jìn)行搜索,找到最優(yōu)的位置,作為初始聚類的中心點(diǎn);
(3) 對(duì)用戶偏好—項(xiàng)目矩陣進(jìn)行聚類,根據(jù)聚類結(jié)果將用戶分成不同的簇,并找出目標(biāo)用戶所在的簇;
(4) 在目標(biāo)用戶所在簇中,使用式(1)計(jì)算相似度,并且按照降序進(jìn)行排列,采用KNN推薦模型選取與目標(biāo)用戶最相似的k個(gè)用戶作為最近鄰集合;
(5) 在最近鄰集合中,將需要推薦的項(xiàng)目與用戶已購買的項(xiàng)目進(jìn)行比較,將從用戶未使用過或未購買過的項(xiàng)目中,使用式(2)對(duì)項(xiàng)目評(píng)分預(yù)測(cè),把預(yù)測(cè)評(píng)分最高的n個(gè)項(xiàng)目推薦給用戶,完成推薦。
與主流的基于K-means聚類算法 (K-means)對(duì)比, UPSSCA-CF算法在聚類分簇之前,使用麻雀搜索算法尋找最優(yōu)的初始中心點(diǎn),優(yōu)化算法,提高了算法應(yīng)對(duì)聚類中心點(diǎn)敏感這一問題。與主流的粒子群優(yōu)化的協(xié)同過濾算法(ParticleSwarmOptimization,PSO-CF)進(jìn)行對(duì)比,UPSSCA-CF算法增加了評(píng)分偏好模型,通過用戶的打分習(xí)慣偏好對(duì)矩陣進(jìn)行修正得到用戶偏好—項(xiàng)目矩陣,提高了推薦算法的準(zhǔn)確性。
3 實(shí)驗(yàn)及結(jié)果
3.1 實(shí)驗(yàn)環(huán)境與數(shù)據(jù)集
本文的實(shí)驗(yàn)環(huán)境為一臺(tái)PC機(jī),機(jī)器的配置為intel core i5、1.60GHz、8GB,操作系統(tǒng)為windows10,實(shí)驗(yàn)使用Python實(shí)現(xiàn)。選取MovieLens數(shù)據(jù)集[21]測(cè)試算法準(zhǔn)確性。MovieLens數(shù)據(jù)集是公認(rèn)為評(píng)估推薦算法最主要的數(shù)據(jù)集之一,數(shù)據(jù)集的下載鏈接為http://files.grouplens.org/datasets/movielens/。該數(shù)據(jù)集提供了幾種不同數(shù)量級(jí)的數(shù)據(jù),本文選取的是十萬量級(jí)的數(shù)據(jù)集,包括近千個(gè)用戶對(duì)1 682部帶有標(biāo)簽的電影提供的評(píng)分記錄,為方便推薦算法的使用,該數(shù)據(jù)集的評(píng)分范圍為1~5分,1表示不喜歡,5表示很喜歡。該數(shù)據(jù)集可以使用的評(píng)分只占6.3%,是一種特別稀疏的數(shù)據(jù)集。本文通過對(duì)該數(shù)據(jù)集進(jìn)行預(yù)處理,提取出用戶對(duì)項(xiàng)目的評(píng)分保存在用戶—項(xiàng)目評(píng)分矩陣中。
3.2 實(shí)驗(yàn)方法與度量標(biāo)準(zhǔn)
本文采用k折交叉驗(yàn)證,將研究數(shù)據(jù)分為k份,再將k份采用不同比例的分割進(jìn)行交叉驗(yàn)證。文中k=5,即5折交叉驗(yàn)證。比如取出1份作為測(cè)試集,剩下的4份作為訓(xùn)練集。每個(gè)實(shí)驗(yàn)進(jìn)行5次試驗(yàn),最終對(duì)5次實(shí)驗(yàn)的值取平均值,進(jìn)行比較分析。
為了驗(yàn)證推薦算法的推薦準(zhǔn)確性,采用廣泛應(yīng)用于比較和測(cè)量推薦系統(tǒng)的標(biāo)準(zhǔn),統(tǒng)計(jì)平均絕對(duì)誤差(mean absolute error,MAE)度量標(biāo)準(zhǔn)。MAE是對(duì)所有測(cè)試用戶對(duì)測(cè)試項(xiàng)目的預(yù)測(cè)評(píng)分和實(shí)際評(píng)分的平均誤差大小的計(jì)算
其中,Tu表示測(cè)試集中的用戶數(shù)據(jù)集合,N表示測(cè)試集中商品數(shù)量,Ru,i表示用戶u對(duì)商品i的預(yù)測(cè)評(píng)分,Qu,i表示真實(shí)評(píng)分。
3.3 實(shí)驗(yàn)結(jié)果
3.3.1 用戶最佳聚類個(gè)數(shù)c的確定 為了確定用戶的最佳聚類個(gè)數(shù)c,實(shí)驗(yàn)中c值的取值范圍為[3,20],選取最近鄰居數(shù)量默認(rèn)設(shè)置為20,其MAE結(jié)果如圖2所示??芍脩舻木垲悅€(gè)數(shù)為11時(shí),MAE值最小。因此,用戶的最佳聚類個(gè)數(shù)為11。
3.3.2 用戶的最佳近鄰個(gè)數(shù)k的確定 本文實(shí)驗(yàn)中針對(duì)最佳鄰居個(gè)數(shù)k值的取值進(jìn)行限定,取值范圍為(5~60),k取值的不同對(duì)MAE的影響如圖3所示。可知,最近鄰居個(gè)數(shù)k在[5,30]的范圍內(nèi),MAE隨著k的增加而呈現(xiàn)下降趨勢(shì),表明推薦效果在該范圍內(nèi)隨著最近鄰居個(gè)數(shù)的增加而增加,在k=30時(shí),本文算法的MAE最小。而當(dāng)最近鄰居個(gè)數(shù)k在[30,60]范圍內(nèi),隨著k的增加,MAE呈現(xiàn)緩慢上升的趨勢(shì)。因此,在所提算法中最近鄰居個(gè)數(shù)k的最佳值為30。
3.3.3 UPSSCA-CF與其他主流協(xié)同過濾算法的對(duì)比 為了驗(yàn)證本文所提UPSSCA-CF算法推薦結(jié)果的準(zhǔn)確性,實(shí)驗(yàn)中選取了3種主流的推薦算法與其進(jìn)行對(duì)比,包括基于K-means聚類算法 (K-means)、粒子群優(yōu)化的協(xié)同過濾算法(ParticleSwarmOptimization,PSO-CF)和傳統(tǒng)的基于用戶的協(xié)同過濾推薦算法(UBCF)。參數(shù)的設(shè)置為:聚類的個(gè)數(shù)為11,最近鄰個(gè)數(shù)的取值范圍為(5~60)。實(shí)驗(yàn)結(jié)果如圖4所示。
通過實(shí)驗(yàn)對(duì)比分析,本文算法與其他三種算法在不同的近鄰數(shù)n下的實(shí)驗(yàn)結(jié)果,本文提出的算法取得MAE最小,即推薦結(jié)果的準(zhǔn)確度最高。幾種算法均使用聚類思想,但其余三種僅利用用戶—項(xiàng)目評(píng)分矩陣,沒有充分利用用戶潛在信息,造成最近鄰居選取不準(zhǔn)確,降低了推薦結(jié)果的準(zhǔn)確性。而本文充分利用用戶自身的評(píng)分偏好形成用戶偏好—項(xiàng)目矩陣,并在此基礎(chǔ)上利用麻雀搜索的用戶聚類算法進(jìn)行聚類,增強(qiáng)了聚類效果,大大提高了最近鄰選取的準(zhǔn)確度。最后,使用用戶相似度模型進(jìn)行評(píng)分預(yù)測(cè)并做出推薦,進(jìn)一步提高推薦結(jié)果準(zhǔn)確性。
4 結(jié)論
本文提出的基于用戶偏好和麻雀搜索聚類的協(xié)同過濾算法充分運(yùn)用用戶偏好的潛在信息,在預(yù)測(cè)階段,改善了聚類過程初始聚類中心敏感的問題,大大降低算法的計(jì)算量,提高了在稀疏矩陣上預(yù)測(cè)的準(zhǔn)確度。在推薦準(zhǔn)確率上,UPSSCA-CF優(yōu)于傳統(tǒng)的基于用戶的協(xié)同過濾算法和傳統(tǒng)的基于聚類的協(xié)同過濾算法。本文算法雖然在一定程度上緩解了評(píng)分?jǐn)?shù)據(jù)稀疏性對(duì)推薦結(jié)果的影響,但由于用戶的興趣愛好存在時(shí)間周期性,即同一用戶對(duì)同一商品的評(píng)分在不同時(shí)間段是不一樣的,下一步在改進(jìn)算法時(shí)考慮用戶興趣隨時(shí)間的偏移帶來的影響,以提高推薦準(zhǔn)確率。
參考文獻(xiàn)
[1]XU H L, WU X, LI X D, et al. Comparison study of internet recommendation system[J].Journal of Software,2009,20(2):350-362.
[2]DENG A, ZHU Y Y, SHI B. A collaborative filtering recommendation algorithm based on item rating prediction[J]. Journal of Software,2003,14(9):1621-1628.
[3]HU X, LU H R, CHEN X, et al. K-means item clustering recommendation algorithm with initial clustering center optimized[J]. Journal of Air Force Radar Academy,2014(3):203-207.
[4]XIONG Z Y, ZHANG FJ, ZHANG Y F. Item clustering recommendation algorithm based on particle swarm optimization[J]. Computer Engineering,2009,35(23):178-180.
[5]XIA H. Research on recommendation algorithm of matrix factorization method based on mapReduce[J]. Applied Mechanics & Materials, 2014, 631-632:138-141.
[6]WU B, LOU Z Z, YE Y D. Co-regularized matrix factorization recommendation algorithm[J].Journal of Software,2018,29(9):2681-2696.
[7]SHI J P, LI J, HE F Z. Diversity recommendation approach based on social relationship and user preference[J].Computer Science,2018,45(Z6):423-427.
[8]ZHOU Y Q, XIE Z C. Improved artificial fish-school swarm algorithm for solving TSP[J]. Systems Engineering & Electronics, 2009, 31(6):1458-1461.
[9]趙亞輝, 劉瑞. 基于評(píng)論的隱式社交關(guān)系在推薦系統(tǒng)中的應(yīng)用[J]. 計(jì)算機(jī)應(yīng)用研究, 2016, 33(6):1628-1632.
[10] 林甲祥,高敏節(jié),陳崇成,等.個(gè)性化旅游景點(diǎn)推薦中考慮約束的關(guān)聯(lián)規(guī)則挖掘算法[J].福州大學(xué)學(xué)報(bào)(自然科學(xué)版),2019,47(3):320-326.
[11] 王衛(wèi)紅,曾英杰.基于聚類和用戶偏好的協(xié)同過濾推薦算法[J].計(jì)算機(jī)工程與應(yīng)用, 2020,56(3): 68-73.
[12] 王興茂,張興明,吳毅濤,等.基于啟發(fā)式聚類模型和類別相似度的協(xié)同過濾推薦算法[J].電子學(xué)報(bào),2016(7):1708-1713.
[13] 李改,陳強(qiáng),李磊.基于評(píng)分預(yù)測(cè)與排序預(yù)測(cè)的協(xié)同過濾推薦算法[J].電子學(xué)報(bào),2017(12):3070-3075.
[14] 呂誠.基于用戶相似度的加權(quán)項(xiàng)目偏差SlopeOne協(xié)同過濾推薦算法[J].南昌大學(xué)學(xué)報(bào)(理科版),2014(4):342-347.
[15] 郝雅嫻,孫艷蕊.K-近鄰矩陣分解推薦系統(tǒng)算法[J].小型微型計(jì)算機(jī)系統(tǒng),2018,39(4):755-758.
[16] 黃國言,李有超,高建培,等.基于項(xiàng)目屬性的用戶聚類協(xié)同過濾推薦算法[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(5):1038-1041.
[17] 周超,孫英華,熊化峰,等.基于用戶和項(xiàng)目雙向聚類的協(xié)同過濾推薦算法[J].青島大學(xué)學(xué)報(bào)(自然科學(xué)版),2018,31(1):55-60.
[18] 孫蘭蘭.基于用戶協(xié)同過濾的近鄰選擇算法[J].青島大學(xué)學(xué)報(bào)(自然科學(xué)版),2018,31(2):116-120.
[19] REN P.TV recommender system based on confidence user preferencemodel[J].Modern Electronic Technique,2014(16):30-33.
[20] XUE J, SHEN B. A novel swarm intelligence optimization approach: sparrow search algorithm[J]. Systems ence & Control Engineering An Open Access Journal, 2020, 8(1):22-34.
[21] 王穎,王欣,唐萬梅.融合用戶自然最近鄰的協(xié)同過濾推薦算法[J].計(jì)算機(jī)工程與應(yīng)用,2018,54(7):77-83.