隨著面向服務(wù)計(jì)算的快速普及,Web服務(wù)的增長(zhǎng)也變得十分迅速,因而在面對(duì)眾多可以提供相似功能的Web服務(wù)時(shí),如何能夠讓用戶找到最佳的服務(wù)成為一個(gè)熱門(mén)問(wèn)題[1]。針對(duì)這個(gè)問(wèn)題,引入服務(wù)質(zhì)量(Quality of Service,QoS)的定義,QoS代表的是Web服務(wù)的非功能屬性,如可用性、可靠性、響應(yīng)時(shí)間、吞吐量、安全性和服務(wù)費(fèi)用等[2]。因?yàn)檫@些屬性可以很好地體現(xiàn)Web服務(wù)性能的差異化,所以在為用戶進(jìn)行服務(wù)推薦時(shí)常將其作為首要且重點(diǎn)考慮的指標(biāo)。但在真實(shí)的情景中,用戶所調(diào)用的服務(wù)只是眾多Web服務(wù)中很少的一部分,這就導(dǎo)致了可供參考的用戶歷史Q(chēng)oS數(shù)據(jù)嚴(yán)重稀疏,因而根據(jù)已知的QoS歷史信息對(duì)缺失的QoS數(shù)據(jù)進(jìn)行預(yù)測(cè)成為服務(wù)推薦中的一個(gè)重要研究問(wèn)題。
在Web服務(wù)質(zhì)量預(yù)測(cè)的研究中,協(xié)同過(guò)濾(Collaborative Filtering,CF)[3]是一種常用的方法。Shao等[4]根據(jù)相似用戶的已知QoS數(shù)據(jù)利用CF預(yù)測(cè)QoS。Zheng等[5]在考慮了請(qǐng)求用戶的相似用戶之外,還進(jìn)一步挖掘了目標(biāo)服務(wù)的相似服務(wù),從而提出了混合CF預(yù)測(cè)QoS。以上兩者均采用皮爾遜相關(guān)系數(shù)計(jì)算相似度,在面對(duì)數(shù)據(jù)稀疏問(wèn)題時(shí),相似度準(zhǔn)確度較低。為此,申利民等[6]改進(jìn)了相似度的計(jì)算方法,并且又考慮到用戶調(diào)用服務(wù)的歷史Q(chēng)oS數(shù)據(jù)之間存在的比率關(guān)系,以此來(lái)提高預(yù)測(cè)精度。此外,為了發(fā)掘歷史Q(chēng)oS數(shù)據(jù)的潛在特征,唐瑞春等[7]基于信任度模型來(lái)尋找最佳的相似用戶,再結(jié)合CF方法預(yù)測(cè)QoS值。以上學(xué)者只針對(duì)歷史Q(chēng)oS數(shù)據(jù)進(jìn)行了分析,忽略了用戶與服務(wù)自身的內(nèi)在特征,因而會(huì)存在一定的噪聲數(shù)據(jù)影響QoS預(yù)測(cè)精度。因此,徐文庭等[8]針對(duì)噪聲問(wèn)題構(gòu)建分類(lèi)樹(shù),并基于同一分類(lèi)集合使用Slope One算法進(jìn)行預(yù)測(cè)。任迪等[9]將用戶的IP地址、經(jīng)緯度、所在國(guó)家等內(nèi)在屬性作為特征構(gòu)建貝葉斯分類(lèi)器,并將分類(lèi)概率作為權(quán)重因子進(jìn)行服務(wù)質(zhì)量的預(yù)測(cè)。Chen等[10]提出了一種新的基于CF的Web服務(wù)QoS預(yù)測(cè),利用位置信息和QoS歷史數(shù)據(jù)對(duì)用戶和服務(wù)進(jìn)行聚類(lèi),并根據(jù)聚類(lèi)結(jié)果對(duì)用戶進(jìn)行個(gè)性化的服務(wù)推薦。Liu等[11]提出同時(shí)利用用戶和Web服務(wù)的位置來(lái)為目標(biāo)用戶或服務(wù)選擇相似用戶,并對(duì)用戶和Web服務(wù)進(jìn)行增強(qiáng)的相似性度量。魯城華等[12]將Web服務(wù)的QoS信息與用戶和服務(wù)的內(nèi)在區(qū)域?qū)傩韵嘟Y(jié)合,采用矩陣分解法構(gòu)建預(yù)測(cè)模型。
由于用戶與服務(wù)所在區(qū)域的不同,它們之間的網(wǎng)絡(luò)情況也會(huì)存在差距,而網(wǎng)絡(luò)因素對(duì)QoS的影響是客觀存在的,但傳統(tǒng)協(xié)同過(guò)濾只是單純的考慮歷史數(shù)據(jù)的相似性,并沒(méi)有考慮用戶與服務(wù)的位置相關(guān)性,因而會(huì)出現(xiàn)相似度計(jì)算不準(zhǔn)確的問(wèn)題。為進(jìn)一步充分利用用戶與服務(wù)的位置信息,并考慮到硬聚類(lèi)算法的局限性(若聚類(lèi)簇?cái)?shù)過(guò)小,則聚類(lèi)后同一簇之中簇的上界與下界會(huì)存在一定差距;若聚類(lèi)簇?cái)?shù)過(guò)大,則同一聚類(lèi)簇中可用數(shù)據(jù)就會(huì)變少),本文提出一種基于位置關(guān)系模糊聚類(lèi)的Web服務(wù)質(zhì)量預(yù)測(cè)方法:
(1)考慮到用戶與服務(wù)之間因地理位置因素不同所造成網(wǎng)絡(luò)環(huán)境的影響,本文根據(jù)用戶與服務(wù)的內(nèi)在經(jīng)緯度特征數(shù)據(jù),利用距離關(guān)系數(shù)據(jù)建立模糊C均值聚類(lèi)模型,并根據(jù)得到的隸屬度矩陣采用新的相似度計(jì)算方法計(jì)算位置關(guān)系上的相似度。
(2)針對(duì)傳統(tǒng)相似度計(jì)算方法在數(shù)據(jù)高稀疏度的情況下精度較低這一問(wèn)題,本文利用用戶的歷史Q(chēng)oS數(shù)據(jù),采用一種改進(jìn)的相似度計(jì)算方法計(jì)算用戶或服務(wù)之間的相似度,并使用權(quán)值將用戶或服務(wù)位置關(guān)系上的相似度與歷史Q(chēng)oS相似度相融合,進(jìn)而進(jìn)行QoS的預(yù)測(cè)。
1.1.1 特征提取
本文所需要的特征,均由真實(shí)的數(shù)據(jù)集提供,其中用戶與服務(wù)的內(nèi)在信息包括:ID、IP地址、國(guó)家、大陸、緯度、經(jīng)度等[9],其中服務(wù)的經(jīng)緯度特征為服務(wù)提供商所在的具體位置。在構(gòu)建模糊C均值聚類(lèi)模型前需要提取每個(gè)用戶和服務(wù)的經(jīng)緯度信息,以此來(lái)計(jì)算兩者之間的距離。數(shù)據(jù)集提供的經(jīng)緯度信息采用WGS84格式,其中北緯為正,南緯為負(fù),東經(jīng)為正,西經(jīng)為負(fù),具體見(jiàn)表1、表2。
表1 用戶的位置信息
表2 服務(wù)的位置信息
1.1.2 計(jì)算(用戶-服務(wù))的位置關(guān)系
本文在計(jì)算用戶與服務(wù)之間的位置關(guān)系時(shí),根據(jù)數(shù)據(jù)集中提取的經(jīng)緯度特征采用半正矢(Haversine)[13]距離公式計(jì)算用戶到服務(wù)之間的距離,從而得到一個(gè)(用戶-服務(wù))的距離矩陣。半正矢公式為
(1)
其中r代表地球的半徑,(la1,lo1)與(la2,lo2)分別代表需要計(jì)算距離的兩個(gè)不同樣本的(緯度,經(jīng)度)。
根據(jù)得到的(用戶-服務(wù))之間的距離關(guān)系,生成可用于模糊聚類(lèi)的數(shù)據(jù)集合L,具體見(jiàn)表3。
表3 (用戶-服務(wù))距離關(guān)系 km
1.1.3 模糊C均值聚類(lèi)原理
算法原理:若將所給的n個(gè)樣本數(shù)據(jù)集合x(chóng)={x1,x2,…,xn},聚類(lèi)到k個(gè)不同的簇之中,需要將目標(biāo)函數(shù)Jm不斷進(jìn)行迭代,從而使其最小化。目標(biāo)函數(shù)Jm為
(2)
根據(jù)目標(biāo)函數(shù)Jm,進(jìn)行最優(yōu)化求解,可得聚類(lèi)簇中心cj與隸屬度uij的表達(dá)公式:
(3)
(4)
在聚類(lèi)過(guò)程中需要引入一個(gè)閾值ε,并將其設(shè)置為聚類(lèi)停止迭代的條件。具體迭代停止條件為
(5)
1.1.4 構(gòu)建聚類(lèi)模型,獲取隸屬度
通過(guò)1.1.1與1.1.2,我們已經(jīng)將用戶與服務(wù)的內(nèi)在經(jīng)緯度特征提取出來(lái),并根據(jù)半正矢距離計(jì)算公式得到了(用戶-服務(wù))距離關(guān)系的數(shù)據(jù)集合L,因而可進(jìn)行模糊C均值聚類(lèi)算法模型的構(gòu)建:
輸入:(用戶-服務(wù))距離關(guān)系的數(shù)據(jù)集合L
過(guò)程:(1)選擇合適的聚類(lèi)簇?cái)?shù)k及隸屬度因子m;
(2)初始化簇中心cj、隸屬度uij;
(3)通過(guò)不斷迭代計(jì)算,更新隸屬度uij與簇中心cj;
(4)當(dāng)達(dá)到指定迭代停止條件時(shí),完成聚類(lèi)。
輸出:隸屬度矩陣U
因?yàn)樵趯?duì)QoS進(jìn)行預(yù)測(cè)時(shí),使用的是混合協(xié)同過(guò)濾算法,即使用一定權(quán)值融合基于用戶與基于服務(wù)的協(xié)同過(guò)濾算法,那么在對(duì)位置關(guān)系進(jìn)行相似度的計(jì)算時(shí),也需要根據(jù)基于用戶或基于服務(wù)分別進(jìn)行位置關(guān)系上相似度的計(jì)算,以便融合混合協(xié)同過(guò)濾算法根據(jù)歷史Q(chēng)oS數(shù)據(jù)計(jì)算的相似度。所以在構(gòu)建模糊C均值聚類(lèi)時(shí)需要分別對(duì)基于用戶與基于服務(wù)進(jìn)行模糊C均值聚類(lèi)模型的建立,從而得到用戶所屬聚類(lèi)簇的隸屬度矩陣Ud以及服務(wù)所屬聚類(lèi)簇的隸屬度矩陣Us。Ud與Us見(jiàn)表4、表5(此表作為示例,設(shè)置的聚類(lèi)簇?cái)?shù)為4)。
表4 用戶的隸屬度矩陣Ud
表5 服務(wù)的隸屬度矩陣Us
1.2.1 位置關(guān)系的相似度計(jì)算
考慮到傳統(tǒng)聚類(lèi)方法使得同一聚類(lèi)簇中的邊緣用戶或服務(wù)的相似度存在一定差距,從而影響最終的QoS預(yù)測(cè)結(jié)果,根據(jù)模糊C均值聚類(lèi)所得的隸屬度計(jì)算,引入位置關(guān)系相似度的計(jì)算方法。由于在FCM模型中所得到的隸屬度矩陣中每個(gè)用戶都具有相同的維度,并且不存在缺失值,所以對(duì)其進(jìn)行相似度的計(jì)算就不用擔(dān)心數(shù)據(jù)稀疏性對(duì)精度所造成的影響。因而,本文提出一種改進(jìn)的相似度計(jì)算方法,通過(guò)用戶與服務(wù)的隸屬度矩陣將比值相似度的計(jì)算算法與歐式距離的計(jì)算方法相結(jié)合,從而更加準(zhǔn)確地計(jì)算用戶和服務(wù)在位置關(guān)系隸屬度上的相似度:
(6)
式中當(dāng)max(xi,yi)=0時(shí),說(shuō)明最小與最大都為0,因而分式直接賦值為1。k代表的是聚類(lèi)簇?cái)?shù)即所得隸屬度矩陣的維數(shù)。x與y分別代表請(qǐng)求用戶或服務(wù)與其他用戶或服務(wù)所屬聚類(lèi)簇的隸屬度向量,并且根據(jù)計(jì)算不同對(duì)象的隸屬度相似度時(shí),x與y所屬集合不同。當(dāng)計(jì)算用戶所在位置關(guān)系上的相似度時(shí),x,y∈Ud,得到相似度SimUd。當(dāng)計(jì)算服務(wù)所在位置關(guān)系上的相似度時(shí),x,y∈Us,得到相似度SimUs。
1.2.2 歷史Q(chēng)oS數(shù)據(jù)的相似度計(jì)算
由于在歷史Q(chēng)oS數(shù)據(jù)稀疏的情況下,傳統(tǒng)相似度的計(jì)算方法會(huì)因?yàn)楣餐{(diào)用服務(wù)數(shù)量過(guò)小而造成較大誤差。因而本文提出一種改進(jìn)的相似度計(jì)算方法,充分利用到已知的QoS數(shù)據(jù)計(jì)算與用戶或服務(wù)之間的相似度,并給與擁有更多共同調(diào)用服務(wù)的用戶之間的相似度更高的權(quán)值。在基于用戶的協(xié)同過(guò)濾算法中,請(qǐng)求用戶u與相似鄰居用戶v之間的歷史Q(chēng)oS數(shù)據(jù)相似度的計(jì)算為
(7)
其中Su表示請(qǐng)求用戶u調(diào)用過(guò)的服務(wù)集合,Sv表示相似鄰居用戶v調(diào)用過(guò)的服務(wù)集合,|Su∩Sv|表示請(qǐng)求用戶u和相似鄰居用戶v共同調(diào)用過(guò)的服務(wù)個(gè)數(shù),|Su|和|Sv|代表的是請(qǐng)求用戶u和相似鄰居用戶v調(diào)用過(guò)的服務(wù)個(gè)數(shù),qu,i為請(qǐng)求用戶u調(diào)用服務(wù)i的QoS值,qv,j代表的是相似鄰居用戶v調(diào)用服務(wù)j的QoS值。
在基于服務(wù)的協(xié)同過(guò)濾推薦方法中,采用式(8)來(lái)計(jì)算目標(biāo)服務(wù)s與相似服務(wù)w的相似度:
(8)
其中Us表示調(diào)用過(guò)目標(biāo)服務(wù)s的用戶集合,Uw表示調(diào)用過(guò)相似鄰居服務(wù)w的用戶集合,|Us∩Uw|表示共同調(diào)用過(guò)目標(biāo)服務(wù)s和相似鄰居服務(wù)w的用戶個(gè)數(shù),|Us|和|Uw|分別表示調(diào)用過(guò)目標(biāo)服務(wù)s和相似服務(wù)w的用戶數(shù),qi,s表示用戶i調(diào)用服務(wù)s的QoS值,qj,w表示用戶j調(diào)用服務(wù)w的QoS值。
1.2.3 融合相似度
為了緩解因地理因素不同造成相似度計(jì)算精度的影響,通過(guò)設(shè)置權(quán)值α、β將用戶和服務(wù)的位置關(guān)系相似度與歷史Q(chēng)oS數(shù)據(jù)相似度相融合,用戶或服務(wù)之間的相似度融合公式為
Simcd=αSimUd+(1-α)Simd,α∈[0,1],
(9)
Simcs=βSimUs+(1-β)Sims,β∈[0,1]。
(10)
1.2.4 預(yù)測(cè)QoS
在分別計(jì)算用戶和服務(wù)的位置關(guān)系相似度及歷史Q(chēng)oS數(shù)據(jù)相似度并進(jìn)行融合之后,通過(guò)混合協(xié)同過(guò)濾算法來(lái)預(yù)測(cè)請(qǐng)求用戶調(diào)用目標(biāo)服務(wù)的QoS值,并且在預(yù)測(cè)QoS值的過(guò)程中考慮到不同用戶之間QoS值存在一定的比例關(guān)系[6],使用其平均值的比值作為一定約束,使QoS預(yù)測(cè)值更加準(zhǔn)確。
在基于用戶的協(xié)同過(guò)濾推薦方法中,通過(guò)請(qǐng)求用戶與相似鄰居的相似度來(lái)預(yù)測(cè)請(qǐng)求用戶u調(diào)用目標(biāo)服務(wù)s的QoS值:
(11)
在基于服務(wù)的協(xié)同過(guò)濾推薦方法中,采用式(12)來(lái)預(yù)測(cè)請(qǐng)求用戶u調(diào)用服務(wù)s的QoS值:
(12)
基于用戶和基于服務(wù)得到的兩個(gè)預(yù)測(cè)值具有不同的預(yù)測(cè)精度,使用兩個(gè)置信權(quán)值conu和cons來(lái)平衡這兩個(gè)預(yù)測(cè)值:
(13)
(14)
不同的數(shù)據(jù)集有其自身的數(shù)據(jù)分布特性,在使用置信權(quán)值來(lái)平衡之外,還需要加入?yún)?shù)λ(0≤λ≤1)來(lái)優(yōu)化根據(jù)基于用戶和服務(wù)得到的兩個(gè)預(yù)測(cè)值的權(quán)重。根據(jù)得到的置信權(quán)值,用ωu和ωs作為權(quán)重因子融合基于用戶和基于服務(wù)預(yù)測(cè)值,其中ωu+ωs=1,ωu和ωs的定義如下:
(15)
(16)
引入權(quán)重因子后,就來(lái)預(yù)測(cè)請(qǐng)求用戶u調(diào)用預(yù)測(cè)服務(wù)s的QoS值:
(17)
為了保證實(shí)驗(yàn)的真實(shí)可靠性,本文選擇在真實(shí)的數(shù)據(jù)集上驗(yàn)證所提方法的有效性。本文使用的數(shù)據(jù)集為WS-DREAM公開(kāi)發(fā)布的數(shù)據(jù)集Dataset Dream dataset2,該數(shù)據(jù)集記錄了339名用戶調(diào)用5825個(gè)Web服務(wù)的QoS值[15-16],包括響應(yīng)時(shí)間和吞吐量?jī)蓚€(gè)屬性,其中響應(yīng)時(shí)間范圍為0~20 s,吞吐量范圍為0~1000 kbps。本文針對(duì)響應(yīng)時(shí)間數(shù)據(jù)進(jìn)行實(shí)驗(yàn)分析,并在進(jìn)行實(shí)驗(yàn)前需要?jiǎng)h除服務(wù)中響應(yīng)時(shí)間為-1,代表訪問(wèn)超時(shí)的服務(wù)。
因?yàn)楸疚男枰芯吭跀?shù)據(jù)稀疏的情況下,所提方法對(duì)于QoS預(yù)測(cè)的精確度提升。但在原始的數(shù)據(jù)集中,已知的響應(yīng)時(shí)間數(shù)據(jù)比較密集,因而需要對(duì)數(shù)據(jù)集進(jìn)行稀疏化處理。本文將在85%、95%兩種不同稀疏度下進(jìn)行最優(yōu)化參數(shù)實(shí)驗(yàn),在80%、85%、90%、95%四種不同稀疏度下進(jìn)行實(shí)驗(yàn)對(duì)比,從而驗(yàn)證所提方法的有效性。
本文采用平均絕對(duì)誤差(mean absolute error,MAE)[17]和歸一化平均絕對(duì)誤差(normalized mean absolute error,NMAE)[18-20]來(lái)衡量預(yù)測(cè)精度的評(píng)價(jià)指標(biāo)。具體如公式(18)、(19)所示:
(18)
(19)
式中N表示預(yù)測(cè)的所有QoS的個(gè)數(shù),Pu,s表示請(qǐng)求用戶u調(diào)用服務(wù)s的實(shí)際QoS值,Qu,s表示請(qǐng)求用戶u調(diào)用服務(wù)s的預(yù)測(cè)QoS值。
在研究本文所提基于位置關(guān)系模糊聚類(lèi)的協(xié)同預(yù)測(cè)方法(Collaborative prediction method based on fuzzy clustering of location relationship,CP-FCLR)時(shí),需要對(duì)一些參數(shù)進(jìn)行最優(yōu)化選擇。然后再將本文所提CP-FCLR方法與以下幾種方法分別在不同稀疏度情況下進(jìn)行實(shí)驗(yàn)對(duì)比:UPCC(采用基于用戶的協(xié)同過(guò)濾算法預(yù)測(cè)QoS)、IPCC(采用基于服務(wù)的協(xié)同過(guò)濾算法預(yù)測(cè)QoS)、WSRec(采用混合協(xié)同過(guò)濾算法預(yù)測(cè)QoS)[19]、SVD[20](采用矩陣因子分解算法進(jìn)行預(yù)測(cè))、CACF[8](采用CART分類(lèi)樹(shù)與Slope One算法進(jìn)行預(yù)測(cè))、BBCF[9](結(jié)合貝葉斯分類(lèi)器進(jìn)行協(xié)同預(yù)測(cè)),前三種方法均使用皮爾遜相關(guān)系數(shù)計(jì)算用戶或服務(wù)之間的相似度。
2.3.1 融合權(quán)值α、β的最優(yōu)選擇及敏感性分析
為了研究相似度融合時(shí),融合權(quán)值α、β對(duì)實(shí)驗(yàn)結(jié)果的影響、最優(yōu)化選擇及其在不同稀疏度情況下的敏感性分析,本文使用改進(jìn)后的融合相似度計(jì)算方法分別在基于用戶與基于服務(wù)的情況下進(jìn)行實(shí)驗(yàn)。選取不同的融合權(quán)值α、β,分別在稀疏度為85%、95%的數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),根據(jù)評(píng)價(jià)指標(biāo)MAE進(jìn)行對(duì)比,從而選擇最優(yōu)權(quán)值。實(shí)驗(yàn)結(jié)果如圖1、圖2所示。
圖1 稀疏度85%下α與β對(duì)MAE的影響 圖2 稀疏度95%下α與β對(duì)MAE的影響
根據(jù)實(shí)驗(yàn)結(jié)果可以看出融合用戶和服務(wù)的地理位置關(guān)系相似度可以在一定程度上提高相似度的準(zhǔn)確性,也緩解了噪聲數(shù)據(jù)對(duì)實(shí)驗(yàn)結(jié)果的影響,從而提高QoS的預(yù)測(cè)精度。并且,在不同的稀疏度下參數(shù)α與β的最優(yōu)取值比較穩(wěn)定,都在取值為0.4或0.5時(shí),所得到的預(yù)測(cè)結(jié)果最優(yōu),并且在取值為0.4或0.5時(shí)得到的誤差值相差很小,因而可以看出融合權(quán)值α、β的最優(yōu)取值對(duì)于歷史Q(chēng)oS數(shù)據(jù)的稀疏度不敏感。因此通過(guò)綜合考慮,在本文后續(xù)的工作中將相似度的融合權(quán)值α與β設(shè)置為0.4。
2.3.2 不同Top-K對(duì)實(shí)驗(yàn)精度的影響
因?yàn)閿?shù)據(jù)稀疏度的不同,在選擇最近鄰時(shí),可供選擇的近鄰數(shù)也會(huì)存在較大差別(稀疏度越大,近鄰數(shù)越少)。所以根據(jù)Top-K原則,本文在數(shù)據(jù)稀疏度為85%、95%的數(shù)據(jù)集下,分別選取不同的最近鄰數(shù)K,根據(jù)評(píng)價(jià)指標(biāo)MAE進(jìn)行分析,從而選取最優(yōu)的最近鄰數(shù)K進(jìn)行QoS預(yù)測(cè)。具體實(shí)驗(yàn)結(jié)果如圖3、圖4所示。
圖3 稀疏度85%下近鄰數(shù)K對(duì)MAE的影響 圖4 稀疏度95%下近鄰數(shù)K對(duì)MAE的影響
圖5 不同λ對(duì)MAE的影響
2.3.3 不同λ值對(duì)實(shí)驗(yàn)精度的影響
為了能夠更好地將基于用戶的協(xié)同過(guò)濾與基于服務(wù)的協(xié)同過(guò)濾相融合,引入?yún)?shù)λ形成權(quán)重因子融合兩種算法。為了選擇最優(yōu)的λ值,本文使用提出的CP-FCLR算法,在數(shù)據(jù)稀疏度為85%、95%的數(shù)據(jù)集下選擇不同的λ值進(jìn)行實(shí)驗(yàn)。
實(shí)驗(yàn)結(jié)果如圖5所示,根據(jù)評(píng)價(jià)指標(biāo)分析,在稀疏度85%、95%下,當(dāng)λ取值0.7時(shí),MAE最小,即所得實(shí)驗(yàn)結(jié)果最優(yōu)。綜合考慮,本文選擇0.7作為λ的值。
2.3.4 不同稀疏度與預(yù)測(cè)樣本數(shù)量下的預(yù)測(cè)精度與運(yùn)行時(shí)間
在稀疏度為85%、95%的情況下,使用本文所提方法進(jìn)行預(yù)測(cè),設(shè)置待預(yù)測(cè)的樣本數(shù)量分別為10、20、30、40、50,經(jīng)過(guò)多次實(shí)驗(yàn)取其均值,分別得到評(píng)價(jià)指標(biāo)MAE、NMAE及運(yùn)行時(shí)間Time(單位:s),所得實(shí)驗(yàn)結(jié)果見(jiàn)表6。根據(jù)實(shí)驗(yàn)結(jié)果可以看出,隨著樣本數(shù)量的提高,評(píng)價(jià)指標(biāo)MAE、NMAE的值逐漸趨于平穩(wěn),從而證明了本文所提方法的有效性。此外,在實(shí)驗(yàn)的運(yùn)行時(shí)間上,本文所提CP-FCLR方法相對(duì)于傳統(tǒng)方法有著較大的提升,從而可以證明此方法具有更好的實(shí)用性。
表6 在不同稀疏度與樣本數(shù)量下的MAE、NMAE、Time
2.3.5 不同稀疏度下各種方法的對(duì)比實(shí)驗(yàn)
將本文所提方法在稀疏度為80%、85%、90%、95%的數(shù)據(jù)集上進(jìn)行多次實(shí)驗(yàn)并取均值,將實(shí)驗(yàn)結(jié)果與UPCC、IPCC、WSRec、SVD、CACF、BBCF六種方法進(jìn)行對(duì)比,具體見(jiàn)表7。
表7 不同方法在不同稀疏度下的MAE與NMAE對(duì)比
根據(jù)實(shí)驗(yàn)結(jié)果中評(píng)價(jià)指標(biāo)MAE與NMAE的值進(jìn)行對(duì)比可以看出,本文所提方法在QoS預(yù)測(cè)精度上相較于其他6種方法有著一定的提升。在不同稀疏度的情況下,本文方法相對(duì)于UPCC、IPCC、WSRec、SVD、CACF、BBCF六種方法所得實(shí)驗(yàn)結(jié)果的MAE分別平均降低了53%、52.1%、50.8%、39%、28.4%、27.2%;NMAE分別平均降低了55.5%、52.5%、46.5%、23.3%、10%、9.1%。同時(shí),在數(shù)據(jù)稀疏度比較高的情況下本文所提CP-FCLR方法依舊有著更加良好的預(yù)測(cè)精度。
本文針對(duì)用戶與服務(wù)的地理位置因素以及歷史Q(chēng)oS數(shù)據(jù)稀疏所造成預(yù)測(cè)精度較低這一問(wèn)題,提出了一種基于位置關(guān)系模糊聚類(lèi)的混合協(xié)同預(yù)測(cè)方法,利用一種改進(jìn)的相似度計(jì)算方法并融合用戶或服務(wù)位置關(guān)系相似度,緩解了地理位置因素對(duì)QoS預(yù)測(cè)的影響,同時(shí)在數(shù)據(jù)稀疏的情況下有著更優(yōu)的預(yù)測(cè)精度。在之后的工作中,將會(huì)把位置關(guān)系上的模糊聚類(lèi)與隨機(jī)森林相結(jié)合,將隸屬度作為特征進(jìn)行隨機(jī)森林分類(lèi),從而達(dá)到過(guò)濾噪聲的效果。