• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于模糊聚類與用戶興趣的協(xié)同過濾推薦算法

    2023-09-15 03:34:18郭曉宇沈宇麒
    軟件導(dǎo)刊 2023年9期
    關(guān)鍵詞:物品聚類協(xié)同

    郭曉宇,沈宇麒,崔 衍

    (南京郵電大學(xué) 物聯(lián)網(wǎng)學(xué)院,江蘇 南京 210003)

    0 引言

    隨著數(shù)字技術(shù)和社交網(wǎng)絡(luò)的快速發(fā)展,人們進(jìn)入了大數(shù)據(jù)時代,科學(xué)技術(shù)的發(fā)展讓人們的生活和交流越來越便捷。但是,信息過載的問題也日益突出,用戶很難從大量數(shù)據(jù)中找到自己感興趣的信息。因此,如何高效地提取有用信息成為當(dāng)前信息技術(shù)的熱門研究領(lǐng)域。為了解決該問題,推薦系統(tǒng)發(fā)揮了重要作用。

    推薦系統(tǒng)被廣泛應(yīng)用于電影、新聞、音樂、社交網(wǎng)絡(luò)等方面,為亞馬遜、淘寶等大型電子商務(wù)公司提供更好的用戶體驗[1-2]。推薦系統(tǒng)可分為基于內(nèi)容的推薦系統(tǒng)[3]、協(xié)同過濾推薦系統(tǒng)[4]和混合推薦系統(tǒng)[5]。目前,協(xié)同過濾算法是推薦系統(tǒng)中非常流行的方法,廣泛應(yīng)用于大數(shù)據(jù)挖掘、電子商務(wù)等領(lǐng)域。協(xié)同過濾算法通過分析用戶行為,利用用戶或物品之間的相似性確定最近鄰居集,然后利用最近鄰居集預(yù)測當(dāng)前用戶的偏好和評分[6]。與基于用戶或物品的推薦算法相比,其具有速度快、效率高、魯棒性強(qiáng)等優(yōu)點,推薦結(jié)果通常比其他算法更加準(zhǔn)確。協(xié)同過濾推薦算法可分為基于記憶的推薦算法和基于模型的推薦算法,其中基于記憶的推薦算法也稱為基于鄰域的推薦算法,其又可分為基于用戶和基于物品的協(xié)同過濾推薦算法。與基于記憶的推薦算法不同,基于模型的推薦算法主要采用數(shù)據(jù)挖掘或機(jī)器學(xué)習(xí)等方法在用戶評分矩陣上建立預(yù)測模型。

    然而,傳統(tǒng)協(xié)同過濾推薦算法容易出現(xiàn)的用戶數(shù)據(jù)的稀疏性、可擴(kuò)展性較差以及冷啟動等問題在實際應(yīng)用中仍然普遍存在,嚴(yán)重影響了推薦算法的推薦質(zhì)量。

    1 相關(guān)研究

    為了解決上述問題,文獻(xiàn)[7]將聚類引入到協(xié)同過濾推薦算法中,通過K-means 算法對數(shù)據(jù)進(jìn)行預(yù)處理,采用一種基于中心的方法尋找鄰居,在一定程度上解決了傳統(tǒng)協(xié)同過濾推薦算法中存在的可擴(kuò)展性以及數(shù)據(jù)稀疏性問題。文獻(xiàn)[8]提出一種基于項目聚類和全局相似度的協(xié)同過濾推薦算法,使用K-means 方法對物品進(jìn)行聚類,在每個聚類中計算局部相似度,并引入一個重疊因子進(jìn)行優(yōu)化,最后結(jié)合全局相似度對物品進(jìn)行預(yù)測,提高了推薦算法的準(zhǔn)確度。文獻(xiàn)[9]提出一種雙向聚類的協(xié)同過濾推薦算法,使用K-means 聚類方法分別從用戶和項目兩個方向進(jìn)行聚類,并在兩個簇中分別使用改進(jìn)的相似度進(jìn)行協(xié)同過濾推薦,有效提高了推薦精度。文獻(xiàn)[10]提出一種新的協(xié)同過濾推薦算法,通過在協(xié)同過濾中引入信息熵和雙聚類來提取局部密集評分模塊。該算法首先對用戶項目評分矩陣進(jìn)行雙聚類分析,以識別其密集的局部模塊,然后計算每個聚類的信息熵以實現(xiàn)基于用戶的協(xié)同過濾推薦算法,最后將該算法與基于項目的協(xié)同過濾推薦算法進(jìn)行加權(quán)結(jié)合。實驗結(jié)果表明,該算法緩解了數(shù)據(jù)稀疏性,提高了推薦的準(zhǔn)確性和計算效率。文獻(xiàn)[11]提出一種基于聚類和模擬退火的協(xié)同過濾推薦算法,使用模擬退火算法對K-means 聚類算法進(jìn)行改進(jìn),定義了一個用戶類型向量并將其用作聚類對象。實驗結(jié)果表明,該方法具有較高的推薦準(zhǔn)確率。文獻(xiàn)[12]結(jié)合了降維和聚類方法,首先通過K-means 算法對用戶進(jìn)行聚類,然后利用奇異值分解(Singular Value Decomposition,SVD)對每個聚類進(jìn)行降維。文獻(xiàn)[13]采用聚類和人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)解決協(xié)同過濾中的數(shù)據(jù)稀疏問題。該算法首先對用戶評分?jǐn)?shù)據(jù)進(jìn)行預(yù)處理,其中包括特征選擇、歸一化以及使用主成分分析法(Principal Component Analysis,PCA)進(jìn)行降維等步驟,然后采用K-means 聚類方法將結(jié)果輸入ANN 進(jìn)行處理,得到最后的推薦列表。該方法有效解決了稀疏性問題,提高了推薦質(zhì)量,具有良好的預(yù)測精度。文獻(xiàn)[14]采用一種基于SVD 與模糊聚類的協(xié)同過濾推薦算法,首先通過SVD 方法對用戶物品評分矩陣進(jìn)行降維處理,然后利用模糊聚類算法對用戶進(jìn)行聚類。文獻(xiàn)[15]提出一種融合隱式語義算法和模糊聚類算法的協(xié)同過濾推薦算法,降低了數(shù)據(jù)稀疏性,提高了推薦算法的準(zhǔn)確度。文獻(xiàn)[16]提出一種基于模糊聚類和監(jiān)督學(xué)習(xí)模型的高效混合推薦系統(tǒng),其中將模糊聚類技術(shù)應(yīng)用于基于項目的協(xié)同過濾框架中,解決了冷啟動問題,最后與基于內(nèi)容的推薦算法進(jìn)行融合,為用戶提供個性化的推薦結(jié)果。實驗結(jié)果證實了該算法的優(yōu)越性。文獻(xiàn)[17]引入一種權(quán)重調(diào)節(jié)機(jī)制并結(jié)合用戶偏好等隱性反饋信息,提升協(xié)同過濾推薦算法的準(zhǔn)確度。

    通過以上分析可以看出,聚類方法在基于用戶的推薦算法中很常見,能有效提高推薦算法的準(zhǔn)確度。另外,用戶的興趣偏好也是需要考慮的因素之一。文獻(xiàn)[18]提出一種基于項目特征與用戶興趣模糊性的推薦算法,通過構(gòu)建項目特征隸屬度矩陣和用戶類別偏好矩陣構(gòu)建用戶興趣模型,以進(jìn)一步提高推薦的準(zhǔn)確度。文獻(xiàn)[19]分析了用戶對物品的情感偏好,從而計算用戶之間的相似程度,最后進(jìn)行評分預(yù)測和物品推薦。該算法提高了推薦的準(zhǔn)確性,降低了算法的時間復(fù)雜度。文獻(xiàn)[20]提出一種融合用戶興趣和評分差異的協(xié)同過濾推薦算法,將TF-IDF(Term Frequency-Inverse Document Frequency)思想引入用戶興趣偏好中,并且使用時間窗口的指數(shù)衰減函數(shù)進(jìn)一步改善用戶的興趣偏好。

    以上文獻(xiàn)都表明在協(xié)同過濾推薦算法中,用戶的興趣偏好在一定程度上能提高推薦的準(zhǔn)確度。通常物品可以同時具有一種或多種類型,如果兩個用戶對同一類型的物品訪問次數(shù)越相近,表明兩個用戶越相似。由此,本文提出一種基于模糊聚類與用戶興趣的協(xié)同過濾推薦算法,該算法結(jié)合用戶的局部興趣和全局興趣,綜合得到用戶的興趣偏好,然后對用戶興趣偏好進(jìn)行模糊聚類,并使用粒子群算法優(yōu)化模糊聚類初始聚類中心。為了緩解用戶評分矩陣的稀疏性,使用聚類用戶中對該物品的評分均值進(jìn)行填充。最后,通過對用戶評分相似度和用戶興趣偏好相似度進(jìn)行加權(quán)結(jié)合,得到改進(jìn)的用戶相似度,從而構(gòu)建用戶相似度矩陣。通過在聚類中選擇最近鄰居對物品進(jìn)行預(yù)測評分,實驗結(jié)果表明,本文算法相比傳統(tǒng)的協(xié)同過濾推薦算法具有更高的推薦準(zhǔn)確度。

    2 相關(guān)技術(shù)

    2.1 基于用戶的協(xié)同過濾推薦算法

    基于用戶的協(xié)同過濾推薦算法假設(shè)用戶的興趣愛好是相對穩(wěn)定的,然后根據(jù)目標(biāo)用戶的最近鄰居進(jìn)行預(yù)測評分。以用戶觀看電影為例,如果某些用戶和目標(biāo)用戶都觀看了相同的幾部電影,那么這些用戶和目標(biāo)用戶則表現(xiàn)出相似的用戶偏好,計算每個用戶與目標(biāo)用戶之間的相似度值并進(jìn)行排序。設(shè)置鄰居數(shù)為N,則前N個用戶為目標(biāo)用戶的最近鄰居集合。最后,通過最近鄰居集合預(yù)測用戶對未知電影的偏好程度。該算法主要包括以下幾個步驟:

    步驟1:構(gòu)建用戶—物品評分矩陣。假設(shè)U={u1,u2,u3,…,un}為用戶集,I={i1,i2,i3,…,im}為物品集,rukil表示用戶uk(k∈n,uk∈U)對物品il(l∈m,il∈I)的評分。Rnm為用戶—物品評分矩陣,每行對應(yīng)一個用戶,每列對應(yīng)一個物品,行和列的交點為該用戶對此物品的評分,其中0 表示該用戶沒有對物品進(jìn)行評分。Rnm用戶—物品評分矩陣如式(1)所示:

    步驟2:相似度計算。根據(jù)用戶—物品評分矩陣可以計算用戶與目標(biāo)用戶的相似度,從而構(gòu)建用戶相似度矩陣。相似度計算有以下幾種方法:

    (1)杰克遜相似度。

    (2)余弦相似度。

    (3)皮爾遜相似度。計算相似度最常用的方法是皮爾遜相似度方法,其可以衡量兩個變量之間存在線性關(guān)系的程度。本文提出的基于模糊聚類與用戶興趣的協(xié)同過濾推薦算法即采用皮爾遜相似度計算方法。

    其中,Iu、Iv分別表示用戶u和用戶v評分的物品集合,rui、rvi分別表示用戶u和用戶v對物品i的評分分別表示用戶u和用戶v評分物品的平均得分。

    2.2 模糊C均值聚類算法

    在基于用戶的協(xié)同過濾推薦算法中,經(jīng)常使用Kmeans 等聚類算法把相似的用戶聚類在一起,在目標(biāo)用戶所在聚類中選擇最近鄰居,可以很好地提高推薦質(zhì)量。而模糊C 均值聚類(Fuzzy C-means Clustering,F(xiàn)CM)算法不同于K-means 等硬聚類算法,其是軟聚類算法。在對樣本的聚類過程中,F(xiàn)CM 算法并不是單一地將樣本歸屬于某一類別,而是通過模糊理論,將樣本劃分到多個類中。

    FCM 算法使用隸屬度表示每個樣本屬于每個聚類的程度,然后根據(jù)隸屬度大小將樣本集中的每一個樣本模糊劃分到不同聚類中。通過不斷更新每個聚類中心,使得目標(biāo)函數(shù)值達(dá)到最小值。假設(shè)樣本集為X={x1,x2,…,xn},將其樣本劃分為p類(1 ≤c≤n),聚類中心為C={c1,c2,…cp}。μik表示樣本點xk屬于聚類中心ci的隸屬度值,μik∈[0,1],隸屬度值的大小滿足以下條件:

    經(jīng)過FCM 算法進(jìn)行聚類后,會輸出p個聚類中心向量和一個n×p維的模糊隸屬度矩陣U。

    FCM 算法有兩個重要參數(shù):一是聚類類別個數(shù)p,二是模糊指數(shù)m,用于調(diào)整聚類模型的模糊程度,通常m的值為2。如果m值過大,則聚類效果較差;如果m值太小,則聚類效果更接近K-means 聚類。FCM 算法的目標(biāo)函數(shù)如式(6)所示:

    J(U,C)描述了所有樣本到所有聚類中心的距離。其中,U表示隸屬度矩陣,U=[μik],μik∈[0,1] ;C表示聚類中心矩陣,C=[ci],i=1,2,…,p;‖ ‖xk-ci表示樣本xk到聚類中心ci的歐式距離。當(dāng)目標(biāo)函數(shù)滿足約束條件時,利用拉格朗日函數(shù)構(gòu)造分類矩陣與聚類中心的迭代表達(dá)式,然后通過多次迭代,得到目標(biāo)函數(shù)的全局最小值,即最優(yōu)的聚類結(jié)果。

    FCM 算法步驟如下:

    (1)確定聚類類別個數(shù)c、模糊指數(shù)m和迭代次數(shù)T。

    (2)隨機(jī)初始化隸屬矩陣U或初始聚類中心C。

    (3)根據(jù)式(8)更新隸屬度矩陣和聚類中心。

    (4)計算兩個相鄰目標(biāo)函數(shù)的差值,當(dāng)J(i+1)-J(i)<δ,即小于指定閾值,或迭代次數(shù)達(dá)到最大值時,得到最優(yōu)的聚類中心C和隸屬度矩陣U,否則返回步驟(3)繼續(xù)迭代,直到滿足結(jié)束條件為止。

    2.3 粒子群優(yōu)化算法

    PSO(Particle Swarm Optimization,PSO)算法是一種群體智能的優(yōu)化算法,最早起源于對鳥類覓食行為的研究,通過群體中個體之間的協(xié)作和信息共享來尋找最優(yōu)解。在PSO 算法中,粒子也稱為個體,分布在多維搜索空間中,每個粒子或個體都表示一個可行解。在迭代計算過程中,通過比較每個粒子的個體適應(yīng)度值大小來更新每個粒子的個體極值和全局極值,最終得到最優(yōu)解。

    假設(shè)粒子數(shù)量為n,每個粒子的位置可表示為X=[x1,x2,…,xn],每個粒子的速度可表示為V=[v1,v2,…,vn],則第i個粒子的位置可表示為xi(i∈[1,n])。第i個粒子的速度為vi,其個體極值為pbesti,群體的全局極值為gbesti。那么每一個粒子可通過式(10)、式(11)更新自己的速度和位置。

    其中,w表示動態(tài)權(quán)重;c1、c2表示加速系數(shù),通常設(shè)置為2;r1、r2是隨機(jī)數(shù),r1,r2∈[0,1]。

    3 本文算法

    在傳統(tǒng)的協(xié)同過濾推薦算法中,核心思想是尋找用戶的相似鄰居。如果用戶的大多數(shù)鄰居都喜歡某個物品,則會向目標(biāo)用戶推薦該物品。從用戶的角度來說,如果兩個用戶多次選擇同一個物品,則說明兩個用戶具有相同的興趣偏好。本文圍繞用戶興趣,提出一種基于模糊聚類與用戶興趣的協(xié)同過濾推薦算法,該算法通過結(jié)合用戶興趣偏好的相似性來解決用戶評分矩陣中的稀疏性問題,并使用了改進(jìn)的FCM 模糊聚類算法來解決推薦階段的可擴(kuò)展性問題。

    為了解決數(shù)據(jù)稀疏性問題,本文提出一種矩陣填充方法。該方法首先通過對用戶興趣偏好進(jìn)行模糊聚類,將具有相似興趣偏好的用戶聚到一起,得到用戶的聚類結(jié)果。然后,根據(jù)用戶—物品評分矩陣缺失值尋找到同一個聚類中對該物品評分的用戶,通過計算其評分均值來填充用戶物品評分矩陣,從而產(chǎn)生密集的用戶—物品評分矩陣。為了解決可擴(kuò)展性問題,本文使用FCM 模糊聚類算法對用戶進(jìn)行聚類,由于FCM 算法存在陷入局部極小值問題,采用PSO 算法對初始聚類中心進(jìn)行優(yōu)化,進(jìn)一步改進(jìn)模糊聚類算法。最后,在推薦階段選擇用戶在聚類中的最近鄰居來預(yù)測該用戶對物品的評分。本文算法框架如圖1所示。

    Fig.1 Improved collaborative filtering recommendation algorithm圖1 改進(jìn)的協(xié)同過濾推薦算法

    3.1 數(shù)據(jù)預(yù)處理

    3.1.1 用戶—類別矩陣構(gòu)建

    用戶—類別矩陣由每個用戶訪問每一類別的次數(shù)組成。U={u1,u2,u3,…,un}為用戶集,C={c1,c2,c3,…,cp}為物品的類型集合,n為用戶個數(shù),p為物品類型個數(shù)。Cnp為用戶—類別訪問矩陣,如式(12)所示。其中,tuicj表示用戶ui對類別cj的訪問次數(shù),0 表示該用戶沒有訪問該類別的物品。

    3.1.2 用戶—興趣偏好矩陣構(gòu)建

    根據(jù)用戶—類別矩陣可以知道每個用戶對每個類型的訪問次數(shù)。實際上,如果兩個不同用戶對某個類別的訪問次數(shù)相同,并不能說明兩個用戶的興趣是一樣的,而是需要通過用戶訪問率來進(jìn)一步了解用戶偏好。例如:用戶u1和用戶u2對類型c的訪問次數(shù)都為20,對所有類型的總訪問次數(shù)分別為50和200,用戶訪問率分別為40%和10%,則說明用戶u1更喜歡類型c。但是,用戶偏好還會受到類別訪問率影響,例如:類型c1與類型c2的總訪問次數(shù)分別是60和15,所有類型的訪問次數(shù)為300,則c1與c2的類別訪問率分別為20%和5%。如果用戶u對c1與c2的訪問率分別為40%和20%,從用戶訪問率來看,會認(rèn)為用戶u更喜歡類型c1,但是從類別訪問率總體來看,發(fā)現(xiàn)與其他用戶相比,其更喜歡類型c2。為了解決以上問題,本文結(jié)合了用戶局部興趣和全局興趣綜合得到用戶—興趣偏好矩陣。

    (1)用戶的局部興趣。用戶的局部興趣矩陣可以通過用戶對物品的偏好程度來表示。通常,用戶和物品之間的交互頻率大小可用來表示用戶對物品的偏好程度。用戶對某個類型的偏好可通過用戶對該類型訪問次數(shù)占用戶對所有類型訪問次數(shù)的比值來表示。如式(13)所示:

    從用戶物品的評分上看,用戶對物品的評分越高,則用戶對該類型的偏好程度也應(yīng)該越高,通過引入一個評分權(quán)重向量對用戶類型偏好進(jìn)行優(yōu)化。改進(jìn)后的用戶類型偏好度也即用戶的局部興趣如式(14)所示:

    (2)全局興趣偏好。為了找到每個用戶興趣偏好密集的物品類別,本文定義了一個全局興趣偏好度,可以得到每個物品類型的訪問度,如式(15)所示:

    (3)用戶的綜合興趣偏好矩陣??紤]到用戶的局部興趣和全局興趣,可以得到用戶的綜合興趣偏好矩陣,如式(16)所示:

    其中,LR表示用戶的局部偏好度,G表示全局興趣。

    3.2 改進(jìn)的模糊C均值聚類算法

    在實際生活中,用戶可能同時有多種興趣偏好,具有不確定性,所以本文使用FCM 模糊聚類算法對用戶進(jìn)行聚類。FCM 模糊聚類算法運(yùn)用模糊概念,通過計算用戶對聚類類別的隸屬度大小對用戶進(jìn)行分類。然而,傳統(tǒng)的FCM算法很大程度上依賴于初始聚類中心的選取,容易陷入局部最優(yōu),從而影響算法的聚類效果。粒子群優(yōu)化算法是一種群智能優(yōu)化算法,具有很強(qiáng)的全局搜索能力。由于其具有算法簡單且效率高等優(yōu)點,被廣泛應(yīng)用于許多優(yōu)化問題中。因此,為了解決以上問題,本文將粒子群優(yōu)化算法引入模糊聚類,對FCM 算法隨機(jī)選取初始聚類中心進(jìn)行優(yōu)化處理。算法優(yōu)化步驟如下:

    步驟1:給定粒子群數(shù)目n,聚類個數(shù)k,模糊指數(shù)m,迭代次數(shù)T。

    步驟2:隨機(jī)初始化聚類中心,對聚類中心進(jìn)行編碼并賦值給各個粒子,每個粒子代表各類的聚類中心。

    步驟3:通過式(6)計算每個粒子的適應(yīng)度值,更新個體極值。

    步驟4:根據(jù)每個粒子的個體極值,找到全局極值以及全局極值的位置。

    步驟5:根據(jù)式(10)、式(11)更新每個粒子的速度和位置,產(chǎn)生新一代個體。

    步驟6:若滿足終止條件,則算法結(jié)束,輸出最優(yōu)值即最佳的聚類中心,否則返回步驟3繼續(xù)執(zhí)行。

    3.3 矩陣填充方法

    在同一個聚類中,用戶偏好在一定程度上具有相似性。本文對用戶—興趣偏好矩陣使用改進(jìn)的FCM 模糊聚類算法,根據(jù)用戶興趣偏好的相似性對相似的用戶進(jìn)行聚類。對于用戶—物品評分矩陣中的缺失值,首先找到用戶所屬聚類類別,然后在聚類中選擇對該物品評分的用戶,通過求取評分的均值,可以得到目標(biāo)用戶對該物品的預(yù)測分?jǐn)?shù)。算法步驟如下:

    步驟1:輸入用戶—評分矩陣Rnm、用戶—興趣偏好矩陣Cnp。

    步驟2:使用改進(jìn)的FCM 算法對用戶—興趣偏好矩陣進(jìn)行聚類。

    步驟3:對用戶—物品評分矩陣中的每一個缺失值,找到該用戶所屬聚類的其他用戶。

    步驟4:計算聚類中所有對該物品評分的用戶平均分,填充用戶—物品評分矩陣中的缺失值。

    步驟5:輸出密集的用戶—物品評分矩陣R'。

    該方法流程如圖2所示。

    Fig.2 Matrix filling method flow圖2 矩陣填充方法流程

    3.4 相似度計算

    相似度計算是協(xié)同過濾推薦算法的核心,而相似度計算方法直接影響用戶最近鄰居的選擇和推薦算法效率。為了計算用戶相似度,本文提出的算法通過對用戶物品評分相似度和用戶興趣偏好相似度進(jìn)行加權(quán)求和,其中既包含了用戶物品評分矩陣的顯式信息,又考慮了用戶對物品興趣偏好的隱式信息。

    本文使用基于用戶的皮爾遜相似度計算方法,通過用戶物品評分矩陣可以得到用戶物品的評分相似度,如式(17)所示:

    通過用戶興趣偏好矩陣,可以得到用戶興趣偏好的相似度??紤]到物品的流行度以及類型偏好的影響,引入一個物品類型懲罰因子,如式(18)所示:

    其中,n表示用戶數(shù)量,|Nci|表示對物品類型ci給出的評分大于等于4 的用戶個數(shù)。改進(jìn)的用戶興趣偏好相似度如式(19)所示:

    其中,Cuv表示用戶u和用戶v共同訪問的物品類型,gui、gvi分別表示用戶u和用戶v對類型ci的偏好分別表示用戶u和用戶v的平均偏好。

    將用戶物品評分相似度和用戶興趣偏好相似度進(jìn)行加權(quán)結(jié)合,可以得到最終的用戶相似度計算公式,如式(20)所示。其中,α為權(quán)重系數(shù),取值范圍為[0,1],用于調(diào)整用戶評分相似度和用戶興趣偏好相似度的所占權(quán)重。

    3.5 預(yù)測分?jǐn)?shù)

    通過相似度計算可以得到用戶相似度矩陣,用戶的相似度值越大,則表示兩個用戶越相近。尋找最近鄰居是協(xié)同過濾推薦算法中最重要的一步,本文通過改進(jìn)的模糊聚類方法將用戶分為不同簇,在同一簇內(nèi)選取與目標(biāo)用戶相似度值最高的用戶作為最近鄰居集合,記為N,則用戶u對項目i的評分可表示為:

    其中,Pui表示用戶u對物品i的預(yù)測得分分別表示用戶u和用戶v的平均得分,rvi表示用戶v對物品i的評分,sim(u,v)表示用戶u和用戶v的相似度值,N表示用戶u的鄰居集(v∈N)。

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

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

    為了驗證改進(jìn)推薦算法的有效性,本實驗使用MovieLens 100K 公共電影評分?jǐn)?shù)據(jù)集,該數(shù)據(jù)集包含了用戶信息、電影信息以及用戶對電影的評分信息等。將數(shù)據(jù)集分成80%的訓(xùn)練集和20%的測試集,數(shù)據(jù)集具體信息如表1所示。

    Table 1 MovieLens 100K dataset information表1 MovieLens 100K數(shù)據(jù)集信息

    其中,MovieLens 100K 數(shù)據(jù)集包含19 個電影類型:動作、冒險、動畫、兒童、喜劇、犯罪、記錄、戲劇、幻想、黑色電影、恐怖、音樂劇、神秘、愛情、科幻、戰(zhàn)爭、驚悚、西部以及其他。每部電影可以是一種類型,也可以是多種類型。為了更好地區(qū)分電影類型,本文去掉“其他”類別,選取剩余的18個電影類型作為類別屬性。

    4.2 實驗評估標(biāo)準(zhǔn)

    推薦算法使用最廣泛的評估標(biāo)準(zhǔn)之一是平均絕對誤差(Mean Absolute Error,MAE)。MAE 是衡量預(yù)測準(zhǔn)確率的指標(biāo),表示算法評分與真實評分之間的差距。該值越小,則表示預(yù)測準(zhǔn)確度越高,推薦質(zhì)量越好,越符合用戶興趣。本文以MAE 作為衡量算法推薦準(zhǔn)確性的評價指標(biāo),分?jǐn)?shù)預(yù)測集中的元素個數(shù)用N表示,預(yù)測分?jǐn)?shù)與實際分?jǐn)?shù)分別用P和R表示。MAE 可表示為:

    4.3 實驗結(jié)果分析

    本文改進(jìn)算法所涉及的參數(shù)有用戶相似度的權(quán)重系數(shù)α、聚類個數(shù)k。

    4.3.1 權(quán)重系數(shù)的影響

    權(quán)重系數(shù)可以調(diào)整用戶物品評分相似度和用戶興趣偏好相似度所占權(quán)重,通過MAE 值的大小選取最佳的α值。MAE 值越小,算法性能越高。實驗參數(shù)設(shè)置聚類個數(shù)k=5,鄰居個數(shù)N=30。隨著α的增加,MAE 值的變化趨勢如圖3 所示。由圖可以看出,當(dāng)α的值小于0.2 時,MAE值呈下降趨勢;當(dāng)α的值大于0.2 時,隨著α的增大,MAE值也逐漸增大。當(dāng)α=0.2 時,MAE 值最小,則α權(quán)重系數(shù)的最佳取值為0.2。

    Fig.3 Influence of similarity weight α value圖3 相似度權(quán)重α值的影響

    4.3.2 聚類個數(shù)k的影響

    用戶聚類個數(shù)k值也是影響算法性能的因素之一,當(dāng)聚類用戶個數(shù)較少時,每個用戶分類比較模糊,當(dāng)聚類用戶個數(shù)較多時,同一聚類中可能只有較少的用戶,這些都會影響推薦算法的精度。設(shè)置實驗參數(shù)α=0.2,鄰居個數(shù)N=30,使用平均絕對誤差MAE 值作為算法性能的評價標(biāo)準(zhǔn)。實驗結(jié)果如圖4 所示,當(dāng)k∈[2,4]時,MAE 值逐漸下降;當(dāng)k∈[4,5]時,MAE 值逐漸上升。隨著k繼續(xù)增大,MAE 值整體呈上升趨勢。所以當(dāng)k=4 時,MAE 值最小,用戶聚類的最佳k值為4。

    Fig.4 Influence of cluster number k圖4 聚類個數(shù)k值的影響

    3.3.3 優(yōu)化的聚類效果對比本文使用粒子群算法對FCM 算法初始聚類中心進(jìn)行優(yōu)化??紤]到優(yōu)化的聚類對整個算法準(zhǔn)確度的影響,將使用FCM 聚類和粒子群優(yōu)化的FCM 聚類(PSO-FCM)應(yīng)用于推薦算法的性能進(jìn)行對比,并使用MAE 值作為優(yōu)化效果的評估標(biāo)準(zhǔn)。設(shè)置實驗參數(shù)α=0.2,鄰居個數(shù)N=30,實驗結(jié)果如圖5所示。

    Fig.5 Comparison of two clustering algorithms圖5 兩種聚類算法效果對比

    由圖5 可見,當(dāng)使用FCM 聚類時,隨著聚類個數(shù)的增加,MAE 值先減小后增大,當(dāng)k=3 時,MAE 值最小,隨后整體呈上升趨勢;當(dāng)使用PSO-FCM 聚類時,MAE 值也呈先減小后增大的趨勢,當(dāng)k=4 時,MAE 值最小。這是因為PSO-FCM 聚類算法使用粒子群算法找到了最優(yōu)的初始聚類中心,可有效避免聚類陷入局部最優(yōu),再通過優(yōu)化的FCM 算法進(jìn)行聚類,從而提高了推薦算法的準(zhǔn)確度。

    4.3.4 實驗對比

    為了驗證本文提出的基于模糊聚類與用戶興趣的協(xié)同過濾推薦算法的性能,將本文提出的改進(jìn)算法命名為FCMP-CF,實驗設(shè)置α=0.2,k=4,并與其他3 種算法進(jìn)行實驗對比分析,分別是傳統(tǒng)基于用戶的協(xié)同過濾推薦算法(User-CF)、基于FCM 用戶聚類的協(xié)同過濾推薦算法(FCM-CF)以及文獻(xiàn)[17]提出的融合權(quán)重調(diào)節(jié)和用戶偏好的協(xié)同過濾推薦算法(WAUP-CF)。當(dāng)N=5 時,實驗結(jié)果如表2所示。4種算法比較如圖6所示。

    Table 2 Comparison results of four methods表2 4種方法比較結(jié)果

    通過以上實驗可以看出,隨著鄰居個數(shù)N 值的增大,相比于傳統(tǒng)基于用戶的協(xié)同過濾推薦算法,本文算法的平均絕對誤差降低了8.9%,相比于基于FCM 用戶聚類的協(xié)同過濾推薦算法,降低了6.2%,相比于融合權(quán)重調(diào)節(jié)和用戶偏好的協(xié)同過濾推薦算法,降低了5.2%。綜合得出,本文算法的MAE 值在整體范圍內(nèi)小于另外3 種協(xié)同過濾推薦算法,算法性能最優(yōu),推薦準(zhǔn)確率更高。

    其中,傳統(tǒng)基于用戶的協(xié)同過濾推薦算法(User-CF)由于沒有考慮用戶的聚類方法,并且評分矩陣非常稀疏,其MAE 值最大,推薦效果不佳。基于FCM 用戶聚類的協(xié)同過濾推薦算法(FCM-CF)將評分相似的用戶聚在一起,在聚類中選擇最近鄰居,在一定程度上改善了傳統(tǒng)基于用戶的協(xié)同過濾推薦算法的不足,推薦效果有所提升。融合權(quán)重調(diào)節(jié)與用戶偏好的協(xié)同過濾推薦算法(WAUP-CF)考慮了用戶相似度和用戶偏好相似度,通過對相似度進(jìn)行改進(jìn),提高了推薦算法的準(zhǔn)確度,但是沒有考慮用戶的全局興趣以及用戶評分矩陣的稀疏性。而本文提出的基于模糊聚類與用戶興趣的協(xié)同過濾推薦算法引入用戶興趣偏好度,并且對用戶興趣進(jìn)行了優(yōu)化。通過對用戶興趣偏好的聚類,利用具有相似偏好的用戶平均值填充用戶評分矩陣,再結(jié)合改進(jìn)的用戶興趣偏好相似度和用戶評分相似度,得到綜合的用戶相似度,從而構(gòu)建用戶相似度矩陣,最后在聚類中選擇最近鄰居對目標(biāo)用戶進(jìn)行推薦。該算法引入了用戶偏好并且緩解了數(shù)據(jù)稀疏性,具有更高的推薦準(zhǔn)確度。

    5 結(jié)語

    針對傳統(tǒng)協(xié)同過濾推薦算法中存在的數(shù)據(jù)稀疏性和推薦準(zhǔn)確度低等問題,本文提出基于模糊聚類與用戶興趣的協(xié)同過濾推薦算法。在構(gòu)建用戶興趣矩陣時,通過優(yōu)化用戶的局部興趣,同時結(jié)合全局興趣,能夠更加準(zhǔn)確地反映出用戶興趣偏好,對用戶的聚類也更加準(zhǔn)確。另外,使用粒子群算法對模糊聚類算法進(jìn)行優(yōu)化,對用戶興趣偏好進(jìn)行模糊聚類,將具有相似偏好的用戶聚類在一起。對于用戶—物品評分矩陣的缺失值,使用聚類中對該物品評分的用戶均值進(jìn)行填充,有效緩解了數(shù)據(jù)的稀疏性。然后,使用改進(jìn)的基于用戶物品評分和用戶興趣偏好的相似度預(yù)測目標(biāo)用戶對物品的評分,形成最終的推薦列表。實驗結(jié)果表明,與傳統(tǒng)的協(xié)同過濾推薦算法相比,本文提出的算法在一定程度上提高了推薦的準(zhǔn)確性。

    猜你喜歡
    物品聚類協(xié)同
    稱物品
    “雙十一”,你搶到了想要的物品嗎?
    蜀道難:車與路的協(xié)同進(jìn)化
    誰動了凡·高的物品
    “四化”協(xié)同才有出路
    汽車觀察(2019年2期)2019-03-15 06:00:50
    基于DBSACN聚類算法的XML文檔聚類
    電子測試(2017年15期)2017-12-18 07:19:27
    三醫(yī)聯(lián)動 協(xié)同創(chuàng)新
    基于改進(jìn)的遺傳算法的模糊聚類算法
    找物品
    一種層次初始的聚類個數(shù)自適應(yīng)的聚類方法研究
    滨州市| 巴林右旗| 长垣县| 武宁县| 思南县| 余姚市| 锦屏县| 北安市| 阿拉善盟| 化隆| 南部县| 临澧县| 武清区| 彭州市| 来凤县| 黔江区| 宣武区| 浙江省| 马山县| 斗六市| 南城县| 兰州市| 松桃| 绥化市| 中宁县| 山西省| 普兰店市| 通化市| 东港市| 凤翔县| 富平县| 通渭县| 修水县| 安乡县| 黄石市| 丁青县| 嘉禾县| 望城县| 东山县| 响水县| 平度市|