魯城華,寇紀淞
1 天津大學 管理與經濟學部,天津 300072 2 天津財經大學 珠江學院,天津 301811
隨著面向服務計算的普及,涌現大量Web服務,基于服務質量(quality of service, QoS)的研究成為熱點[1-2],如服務選擇[3]、服務推薦[4]和服務組合等[5]。因此,提供準確的QoS信息是所有基于QoS研究工作的前提。
QoS信息包括兩種類型,第1種獨立于用戶,其值由服務提供者統(tǒng)一提供,如服務價格[6]。第2種QoS信息與用戶和服務的環(huán)境相關,如響應時間[7],其值容易受到異步的用戶端網絡環(huán)境、拓撲結構以及服務器端設備水平和傳輸效率的影響,測量QoS信息需要用戶對服務調用之后才能得到。
面對QoS信息的千變萬化,獲得準確并具有個性化的QoS信息非常重要[8]。然而,要求每個用戶調用所有服務并返回準確的QoS信息是不現實的。一方面,Web服務數量龐大,這項工作耗時巨大;另一方面,用戶并非專家,難以保證用戶評估QoS信息的準確性。因此,有必要找到一種有效的QoS預測方法而無需進行繁瑣的服務調用[9]。
已有研究采用協(xié)同過濾方法對歷史QoS信息進行分析并實現預測[10],其核心是使用相似用戶或服務的QoS信息預測未知QoS信息,已經被證實具有良好的預測效果[11]。傳統(tǒng)的協(xié)同過濾方法僅使用已有的QoS信息,忽略了一些客觀因素的影響,如用戶和服務所在國家、省市地區(qū)等區(qū)域因素。同一地區(qū)的用戶和服務具有相似的經濟水平,使其具有相似的硬件環(huán)境。因此,在同一區(qū)域的用戶調用相同的服務通常產生相似的QoS信息。為了提高QoS預測的準確性,本研究將全局QoS信息與用戶和服務區(qū)域信息相結合,提出一種基于用戶和服務區(qū)域信息的QoS預測方法。
近年來,互聯(lián)網上涌現出越來越多具有相同或者相似功能的Web服務[12],因此,QoS屬性成為大眾關注的熱點[13]。同時,很多基于QoS的研究工作逐漸發(fā)展起來,如服務選擇[14-15]、服務推薦[16]、服務組合[17-18]和服務信任[19]等。因此,為這些研究工作提供準確的QoS信息是極其重要的。
目前對QoS預測的研究還處于起步階段[20]。最簡單的預測方法是平均值方法,該方法包括用戶平均值方法和服務平均值方法,前者是以計算該用戶使用的其他服務的QoS信息平均值作為該用戶對當前未使用服務的QoS信息;后者是以計算所有使用過該服務的用戶的QoS信息平均值作為當前用戶使用該服務的QoS信息。平均值方法較為簡單,只是計算QoS信息的平均值,這種方法不能準確地反映出不同用戶QoS之間的個性化差異[21]。本研究將對未知QoS進行個性化的預測,以提高預測的準確性。
受用戶協(xié)作思想的啟發(fā),協(xié)同過濾方法被應用到QoS的預測中[22]。協(xié)同過濾方法對領域知識沒有要求[23],因此被廣泛應用于不同的領域。通常將協(xié)同過濾方法分為基于記憶[24]和基于模型兩種類型[25]。
基于記憶的協(xié)同過濾方法主要包括基于用戶的計算、基于項目的計算以及兩者的混合[26]?;谟洃浀腝oS預測方法是根據用戶使用Web服務之后所反饋的QoS信息計算兩個用戶(或服務)之間的相似度,進而選擇相似度比較高的一組用戶(或服務)的QoS信息預測未知的QoS值。SHAO et al.[27]提出使用基于用戶的協(xié)同過濾方法進行個性化的QoS預測,以用戶的歷史使用經驗(即使用服務之后反饋的QoS信息)為基礎,采用皮爾遜相關系數的相似性度量方法計算兩個用戶之間的相似性,然后根據當前用戶的鄰居用戶集合對其未使用服務的QoS信息進行預測;DING et al.[28]提出一種基于服務相似性計算的QoS預測方法,然后將QoS屬性值的預測與用戶滿意度相結合,評價服務的可信度。該研究改進了傳統(tǒng)的皮爾遜相關系數的相似性度量方法,降低了消極QoS屬性對預測結果的影響,提高了QoS預測的準確性。ZHENG et al.[11]提出一種混合的基于用戶和服務的協(xié)同過濾方法預測未知的QoS信息,該方法獲得了較好的預測效果;SILIC et al.[29]也提出一種混合的協(xié)同過濾方法預測服務的可靠性,主要根據用戶的地理位置和服務的地理位置(根據IP地址區(qū)分)、服務負載和服務級別(根據服務的計算消耗區(qū)分)4個方面的內容。用這4個方面的線性組合預測服務可靠性,一方面,服務提供者可能不愿意分享服務的負載和計算消耗值;另一方面,該方法只考慮了局部影響而忽略了用戶間和服務間的全局關系?;谟洃浀膮f(xié)同預測方法僅從用戶或者服務角度采用已有的QoS信息進行預測,忽略了位置信息等一些客觀因素,且當計算規(guī)模增大時,該方法的計算效率有所降低。本研究結合用戶和服務的位置信息,從全局和局部兩個角度對未知QoS進行高效的個性化預測。
隨著Web服務規(guī)模的不斷擴大,大部分研究人員開始采用一種更高效的預測方法,即基于模型的預測。最具有代表性的模型方法是矩陣因子分解法[30],該方法已經被證明能夠有效、準確地處理大規(guī)模的服務數據集。該方法將用戶和服務分別映射到一個低維的特征空間,用兩者的乘積代表原來的QoS矩陣。將每一個用戶和服務表示成一個低維潛在的特征向量(或者叫潛在因子向量)[31],將特征向量里的每一個特征視為關于服務或者用戶興趣偏好的任何一個方面或者其他隱含的特征。當矩陣被分解完成之后,根據得到的兩個低維矩陣乘積與原QoS矩陣的擬合得到一個最小化的目標函數,該函數的目標就是使預測的QoS值盡量接近真實已知的QoS值[32]。經過函數的優(yōu)化學習,最終得到準確性比較高的QoS預測矩陣。ZHENG et al.[25]采用矩陣因子分解的方法,將用戶和服務的QoS矩陣分解為兩個低維的用戶特征矩陣和服務特征矩陣,然后結合當前用戶的鄰居用戶集合的QoS信息預測未知的QoS信息,該方法能夠處理較大的QoS數據集,且具有較高的計算效率;YIN et al.[33]在矩陣因子分解模型中引入用戶的位置信息作為正則項,根據位置信息對用戶進行篩選,計算滿足一定距離區(qū)間內的用戶之間的相似程度,根據相似性排序得到當前用戶的鄰居用戶集合,對建立的函數模型進行優(yōu)化學習,得到QoS預測矩陣。該方法提高了QoS預測的效率和準確率,但沒有考慮服務的位置信息。
雖然傳統(tǒng)的協(xié)同過濾方法得到了較好的QoS預測結果,但仍存在一定弊端。大部分研究僅采用已有的QoS信息進行預測,忽略了用戶和服務的位置信息等一些客觀因素的影響。即使一小部分研究考慮了位置信息,但它們沒有將全局的QoS信息影響與局部的區(qū)域影響相結合。相比之下,本研究將全局的QoS信息與用戶服務的局部區(qū)域信息相結合進行預測,采用綜合的服務數據集,證明本研究方法具有有效性。
本研究的目的是將歷史QoS信息與用戶和服務的區(qū)域信息相結合,進行個性化的QoS信息預測。在實際應用中,可能存在大量的用戶和服務。假設用戶數量為M,服務數量為N,用戶使用服務的QoS信息可以表示為M×N的矩陣R,矩陣中每個元素ri,j為ui用戶調用sj服務的QoS信息,i為用戶的序號值,i=1,2,…,f,…,M,j為服務的序號值,j=1,2,…,k,…,N。未被用戶使用的服務的QoS信息為空,即要預測的未知值。本研究的目標是創(chuàng)建一個預測模型,有效而準確地填充這些未知值。
為了便于理解,圖1給出一個現實世界中Web服務調用場景,該場景能夠充分說明考慮用戶和服務區(qū)域信息的必要性。假設ua用戶分別調用來自兩個不同國家的兩個功能相同的Web服務s2和s3,由于這兩個國家的經濟發(fā)展水平存在很大的差異,導致其服務器端的設備水平和網絡傳輸效率差異很大。因此,ua用戶使用這兩個服務的QoS感知也差異很大,s2服務的響應時間為0.010s,s3服務的響應時間為1s,相差100倍。同樣地,對于同一個服務s1,如果同時被來自兩個不同國家的ub用戶和uc用戶調用,由于受其國家發(fā)展水平不同的影響,ub用戶的IT設施和網絡拓撲結構比uc用戶的高端,導致其感知服務的QoS水平不同。ub用戶接收s1服務的響應時間為0.020s,uc用戶接收s1服務的響應時間為0.400s,相差20倍。因此,考慮用戶和服務所在區(qū)域(國家或者省市地區(qū))的影響對于提高QoS預測的準確性具有重要意義。
圖1 Web服務調用場景Figure 1 Scenario of Web Service Invocation
由于本研究考慮了區(qū)域信息,因此,有必要計算區(qū)域內用戶或服務之間的相似度,即根據QoS歷史信息計算用戶或服務之間的相似度。相似用戶主要是指兩個用戶在同一組服務上具有比較相似的QoS歷史信息,相似服務主要是指兩個服務被同一組用戶使用時具有比較相似的QoS歷史信息[34]。對于新用戶和新服務,由于缺少QoS信息,本研究采用區(qū)域內平均值的方法計算其相應的QoS信息。該方法選取同一區(qū)域內的所有其他用戶和服務的QoS信息均值作為新用戶和新服務的QoS信息,從而能夠有效地處理QoS預測中面臨的冷啟動問題。
不同的QoS屬性,其數據類型可能不同,如響應時間和成本屬于數值型QoS,可靠性和可用性屬于比率型QoS。對于比率型的QoS信息,其變化范圍是有限的,如變化范圍為[0,100%]。然而,對于數值型的QoS信息,其可能存在不同的數值范圍,比較典型的數值型屬性是響應時間,比如一個用戶使用服務的響應時間變化范圍是[0s, 1s],而另一個用戶的響應時間變化范圍是[10s, 20s]。
QoS信息取值范圍的不同可能影響相似度的計算,因此,本研究采用高斯法[15]對QoS信息進行規(guī)范化處理,將QoS信息映射到[0,1]之間。計算公式為
(1)
對QoS信息進行規(guī)范化處理之后,本研究采用皮爾遜相關系數的相似性度量方法[35]計算用戶相似度和服務相似度,其取值范圍為[0,1],該值越大,說明兩個用戶或服務之間的相似度越大。計算公式為
(2)
在已有研究中,只采用已有的QoS信息進行預測,忽略了一些客觀因素影響,如用戶和服務的位置信息。為了提高QoS預測的準確性,本研究將全局QoS信息與用戶和服務區(qū)域信息相結合,提出一種基于用戶和服務區(qū)域信息的QoS預測方法QPRIUS(QoS prediction based on region information of users and services)。首先,結合全局QoS信息與局部區(qū)域信息構建預測模型,然后采用隨機梯度下降法對模型優(yōu)化學習,最終得到預測結果??紤]用戶和服務區(qū)域因素有助于提高QoS預測的準確性,采用區(qū)域內平均值方法計算新用戶和新服務的QoS信息,這樣能夠有效解決冷啟動問題。以下將給出QPRIUS方法的詳細過程。
圖2給出QPRIUS方法的框架。用戶相似度和服務相似度的計算是QoS預測的前期準備工作,見圖2中虛線框所示,以區(qū)域為單位分別計算同一區(qū)域內的用戶相似度和服務相似度,得到兩個相似度矩陣SimU和SimS,這兩個矩陣是構造QoS預測模型的基礎。
圖2 QPRIUS方法框架Figure 2 Architecture of QPRIUS
在QoS預測過程中,M×N的用戶-服務QoS矩陣R經過初始的矩陣因子分解,得到低維的用戶特征矩陣U和服務特征矩陣S。分解過程為
(3)
矩陣因子分解為
(4)
(5)
(6)
其中,U為d×M的用戶特征矩陣,包含M個潛在的特征向量;S為d×N的服務特征矩陣,包含N個潛在的特征向量;d為維度,特征向量的長度(即特征個數)。U中的每一列Ui為ui用戶的特征向量,S中的每一列Sj為sj服務的特征向量。
創(chuàng)建QoS預測模型,該模型結合了QoS歷史信息以及用戶和服務的區(qū)域信息,然后對模型進行優(yōu)化。
4.2.1 創(chuàng)建QoS預測模型
本研究預測模型中采用矩陣因子分解方法,該方法基于降維技術。奇異值分解[37]是比較著名的降維技術,能夠將原始矩陣較好地分解為相應的低秩矩陣。
如前所述,用戶-服務矩陣R被分解為兩個矩陣U和S,即R≈UTS,U∈d×M,S∈d×N,d?min(M,N)?;诖耍狙芯康腝oS預測模型P建立過程如(7)式,該最小化函數的目的是使預測的QoS信息矩陣與已知的QoS信息矩陣之間的差值盡量小。
minP(R,U,S)
(7)
A(i)*={lu|Sim(i,lu)≥μ,lu∈A(i)}
A(j)*={ls|Sim(j,ls)≥μ,ls∈A(j)}
根據正則化理論[38],4個正則項被加入模型中,U和S的正則項能夠避免過擬合問題[39],α和β用于調節(jié)用戶和服務的區(qū)域因子在QoS預測過程中的影響程度。為了提高預測的準確性,排除噪音的影響,對于同一區(qū)域內的用戶和服務分別計算,得到其較高質量的鄰居集合。設定一個μ值,當兩個用戶(或服務)之間的相似度超過μ時,才會對它們的特征向量差值進行Frobenius范數處理,而不是對所有的用戶進行處理,這樣有助于提高計算效率和準確率。加入區(qū)域正則項的目的是使同一區(qū)域內相似度較高的用戶(或服務)之間的特征向量(QoS信息)更加接近。也就是說,當用戶(或服務)之間的相似度較大時,在優(yōu)化過程中,為了使目標函數值盡量小,只能使特征向量差值的Frobenius范數‖Ui-Uf‖和‖Sj-Sk‖盡量小。因此,就會縮小用戶(或服務)特征向量之間的距離,使其更加接近,這樣有助于提高QoS預測的準確性。
4.2.2 模型的優(yōu)化
對(7)式進行訓練優(yōu)化,在矩陣因子分解方法中,最常用的優(yōu)化方法是隨機梯度下降法,其基本思想是讓目標函數中的變量Ui和Sj沿著函數負梯度的方向移動。由于矩陣因子分解的目標函數是凸函數[33],因此,負梯度的方向就是朝著函數值減少的方向移動,直到移動到函數的極小值點。以用戶為例,根據MA et al.[40]的研究,在計算用戶特征向量的偏導數過程中,用戶鄰居集合A(i)*內的用戶彼此互為鄰居。因此,在對區(qū)域正則項計算偏導數時相當于對特征向量Ui計算兩次;同理,服務特征向量Sj偏導數的計算也是如此。計算得到的偏導數為
(8)
其中,Ui+1為Ui經過一次訓練之后得到的矩陣;Sj+1為Sj經過一次訓練之后得到的矩陣;ηU為矩陣U的學習步長,ηS為矩陣S的學習步長,ηU和ηS也是學習速率,均為正值;P為(7)式的預測模型的簡寫。
在訓練過程中,由于(8)式中的負值部分可能使特征矩陣中出現負值,而在矩陣的更新過程中負值無法正確表示用戶和服務的特征信息,保持矩陣中每一個特征項的非負性具有非常重要的意義。因此,本研究將使用非負矩陣因子分解的方法預測QoS信息。以特征矩陣Ui的訓練過程為例,具體步驟為
(9)
為了保持矩陣的非負性,將ηU調整為[41]
(10)
這個轉化過程能夠抵消(9)式中的負值部分,因此,將(10)式代入(9)式,訓練過程轉換為
(11)
同樣地,ηS被調整為(12)式,特征矩陣Sj的訓練過程見(13)式。
(12)
(13)
在QoS預測模型的優(yōu)化過程中,變量的偏導數是梯度最陡的方向,也就是說,函數模型在朝著目標值下降最快的方向運行。隨機梯度下降算法的迭代終止條件比較多,常見的主要有3種情況:
(1)設置固定的迭代次數;
(2)給目標函數設定一個固定的閾值,當目標函數的值小于閾值時,停止迭代過程;
(3)給目標函數值的變化范圍設定一個閾值,當前后兩次目標函數值變化的絕對值小于閾值時,停止迭代過程。
本研究采用第(1)種設置方法,根據實驗效果設置一定的迭代次數。
經過(11)式和(13)式的迭代優(yōu)化過程,最終可以得到新的用戶特征矩陣U′和服務特征矩陣S′,從而計算得到QoS信息的預測矩陣R′≈U′TS′。
以用戶特征矩陣U的更新過程為例,根據(11)式,矩陣U的每個列向量Ui乘上分式
通常情況下,用戶和服務的鄰居個數遠小于用戶和服務本身的個數,并且存在M?MD,N?MD,因此,迭代一次時整個過程的復雜度可以用O(MD·d)表示。d值越大,在模型訓練過程中需要更多的時間成本,不利于實際應用。因此,本研究將d統(tǒng)一設為10??梢园l(fā)現,在d值一定的條件下,QPRIUS方法的計算復雜度與矩陣密度線性相關。因此,本研究使用的方法具有較高的計算效率,并且能夠處理較大規(guī)模的數據集。
本研究通過實驗驗證QoS預測方法QPRIUS,實驗使用Matlab R2010b編寫程序,運行環(huán)境為Windows XP,雙核CPU2.4GHz,2G內存。
實驗主要分為兩部分內容:第1部分對方法中所含的參數進行實驗分析,第2部分將本研究的QoS預測方法與其他研究進行對比和分析。參數實驗分析主要包括QoS預測模型中的特征矩陣權重系數λ1和λ2、用戶區(qū)域權重系數α、服務區(qū)域權重系數β、矩陣密度MD和相似度閾值μ。通常情況下取λ1=λ2,因此,在以下實驗中統(tǒng)稱為λ。通過參數實驗,可以分析預測模型中不同的參數取值對QoS預測效果的影響,同時發(fā)現較優(yōu)的參數值。在QoS預測方法的對比實驗中,將QPRIUS方法與其他方法進行對比分析。
5.1.1 數據集
本研究使用的實驗數據為WSDream-QoSDataset2[42],見表1。由表1可知,該數據包含1 974 675條339個用戶對5 825個Web服務調用之后反饋的QoS信息,包括響應時間和吞吐量兩個屬性。此外,每個用戶和服務都有一個區(qū)域信息,即所在國家名稱。
表1 WSDream-QoSDataset2數據集Table 1 Data Set of WSDream-QoSDataset2
在實驗中,本研究在QoS矩陣中隨機去掉一部分數據,從而生成不同密度的矩陣進行實驗。例如,當MD的取值為20%時,也就是說保留原始QoS矩陣中20%的值作為訓練數據,其余80%的數據作為測試數據,即作為判斷預測準確性的期望值。本實驗僅對響應時間和吞吐量兩個屬性進行研究,對于其他的QoS屬性本方法同樣適用。
5.1.2 評價指標
本研究采用兩個常用的評價指標測量QoS預測方法的準確性,分別是平均絕對誤差(MAE)和均方根誤差(RMSE)[43],計算公式為
(14)
本研究對QoS預測方法中涉及的5個參數進行實驗分析,包括λ、α、β、MD和μ。以下實驗以響應時間數據為例,分別對這些參數的影響進行分析,并選取恰當的值。對于其他的QoS屬性,可采用同樣的方法進行分析。
5.2.1 參數λ的影響分析
本研究在預測模型中引入用戶和服務特征矩陣正則項,一方面可以防止模型的過度擬合,另一方面從全局QoS角度對模型優(yōu)化進行調節(jié)。本實驗討論模型中權重系數λ對實驗結果的影響,先不考慮用戶和服務的局部區(qū)域信息,即α和β取值為0,MD=50%,d=10,μ=0.400。本實驗將λ的取值分別設定為1E-5、1E-4、1E-3、1E-2、1E-1和1E0,進行300次迭代優(yōu)化過程,計算MAE值和RMSE值,取10次結果的平均值,實驗結果見圖3。
由圖3可知,隨著λ增大,MAE和RMSE的變化趨勢基本一致。當λ=1E-3時,MAE值為0.361,RMSE值為1.019,均為最低值,此時的預測效果最優(yōu)。實驗結果表明,λ取值大小對模型的預測效果具有一定影響。如果取值過小,正則項因子的范數在模型優(yōu)化過程中獲得較大值,使對已知數據的逼近誤差越來越小,容易形成過度擬合,增大了對預測數據的逼近誤差。也就是說,當λ取值過小時,正則項因子的加入失去了調節(jié)作用;如果λ取值過大,導致正則項因子的范數越來越低,增大了對已知數據的逼近誤差,最終影響未知數據的預測結果。對本研究來說,當λ取1E-3時,實驗效果最優(yōu),在后面的實驗中將使用此值。
圖3 不同λ取值下的實驗結果Figure 3 Experimental Results under Various λ
5.2.2 參數α的影響分析
參數α決定用戶區(qū)域因素在QoS預測中所占的權重,如果α特別小,在QoS預測中使用用戶-服務QoS矩陣;如果α特別大,用戶的區(qū)域信息控制整個預測過程,影響預測準確性。本實驗討論α的取值對預測結果的影響,將α的取值分別設為1E-5、1E-4、1E-3、1E-2、1E-1和1E0,λ=1E-3,β=0,MD=50%,d=10,μ=0.400,計算10次結果的MAE和RMSE平均值,計算結果見圖4。
由圖4可知,當α=1E-5時,MAE值為0.358,RMSE值為1.012,比圖3中λ=1E-3時的最優(yōu)MAE值和RMSE值小。說明加入用戶區(qū)域信息后,模型的預測效果有所提高。當α=1E-2時,MAE值為0.350,RMSE值為0.997,均為最小值,此時的預測準確性最佳。實驗結果表明,加入用戶局部區(qū)域因素有助于提升QoS預測效果。若用戶區(qū)域因素在預測模型中的權重過大,會過度陷入局部因素,忽略全局影響,降低預測準確性。α取1E-2時預測效果最優(yōu),后面的實驗將采用此值。
5.2.3 參數β的影響分析
與參數α類似,β決定服務區(qū)域因素在QoS預測中所占的權重。本實驗討論β取值變化對QoS預測效果的影響,將β值分別設為1E-5、1E-4、1E-3、1E-2、1E-1和1E0,λ=1E-3,α=0,MD=50%,d=10,μ=0.400,實驗運行10次取平均值,計算結果見圖5。
圖5 不同β取值下的實驗結果Figure 5 Experimental Results under Various β
由圖5可知,β=1E-5時,MAE值為0.351,RMSE值為0.995,優(yōu)于圖3中MAE和RMSE的最小值,說明考慮服務的區(qū)域因素有助于提高QoS預測效果。當β=1E-1時,MAE值為0.329,RMSE值為0.944,均為最小值。實驗結果表明,加入服務區(qū)域信息有助于提升QoS預測效果,但是當β取值過大時,預測模型同樣會陷入局部影響。當β=1E-1時預測效果最佳,后面的實驗將采用此值。
與5.2.2的實驗結果對比可以發(fā)現,在同樣的權值下,相對于用戶的局部區(qū)域信息,服務的局部區(qū)域信息對QoS預測的影響更大。通常情況下,當用戶向Web服務注冊中心提交服務請求后,注冊中心根據用戶請求查找滿足其需求的服務并提供相應的綁定信息。用戶直接與服務提供者進行交互并調用服務,服務在提供者的服務器端運行并提供用戶需要的信息,用戶通過電腦接收服務結果。服務器在整個服務運行中起主導作用,而用戶端只負責接收運行結果。因此,服務所在的區(qū)域發(fā)展水平對其QoS信息具有較大的影響,實驗結果充分說明了這一點。
5.2.4 矩陣密度的影響分析
在實際中,不可能每個用戶都調用所有服務并反饋QoS信息,因此,QoS矩陣往往存在一定的稀疏度,即矩陣密度MD。QoS信息越多,矩陣密度越大,反之則越小。本實驗將MD分別設為10%、20%、30%、40%、50%、60%、70%、80%和90%,λ=1E-3,α=1E-2,β=1E-1,d=10,μ=0.400,實驗運行10次取平均值,計算結果見圖6。
圖6 不同矩陣密度下的實驗結果Figure 6 Experimental Results under Various Matrix Density
由圖6可知,隨著矩陣密度的增加,預測效果越來越好。當MD取值從10%增加到50%時,MAE和RMSE下降趨勢較為明顯,隨著MD增大,MAE和RMSE下降趨勢相對較緩。實驗結果說明已知的QoS信息越多,其對未知QoS信息預測的準確性幫助越大。矩陣密度在由10%逐漸增加到50%時,其對預測準確性的影響比較明顯,進一步說明鼓勵用戶盡量多地提供QoS信息反饋值非常重要。
5.2.5 相似度閾值的影響分析
為了獲取當前用戶或服務更高質量的鄰居集合,本研究設定一個相似度閾值對相似用戶或服務進行過濾。本實驗討論在不同的矩陣密度下閾值μ的不同取值對預測結果的影響,μ的取值分別設定為0、0.200、0.400、0.600和0.800,MD取值為10%、30%、50%、70%和90%,λ=1E-3,α=1E-2,β=1E-1,d=10,實驗運行10次取平均值,計算結果見圖7。
圖7 不同相似度閾值時的實驗結果Figure 7 Experimental Results under Various Similarity Threshold
由圖7可知,當μ固定時,隨著MD增加,MAE和RMSE逐漸下降,這一結果與5.2.4實驗結果相吻合。此外,在不同的MD下,對應不同的最優(yōu)閾值μ。例如,當MD=10%時,μ=0.600的預測效果比較好;當MD取值為30%和50%時,μ=0.400的預測效果比較好;當MD取值為70%和90%時,預測效果在μ=0.200時比較好。
可以發(fā)現,隨著MD增大,μ越小對預測效果的準確性越有利;MD越小,μ則越大越好。說明當QoS信息比較少時,用戶或服務之間的相似度結果存在較大噪音,只有取相似度比較大的鄰居才有利于QoS信息的預測。較低的相似度并不能正確地描述和區(qū)分用戶或服務之間的關系,進而影響預測結果。當MD較大時,具有豐富的QoS信息,因此,用戶或服務之間的相似度計算能夠比較恰當地描述用戶或服務之間的關系,即使是較低的相似度也能比較準確地表示其關系。綜上所述,當MD較小時,設置較大的閾值有利于提高預測的準確性;當MD較大時,設置較小的閾值對QoS預測比較有利。當MD=50%時,最優(yōu)閾值為0.400,該值被應用于本研究的其他實驗中。
本研究將QoS預測方法QPRIUS與NIMF[20]方法和Colbar[25]方法進行對比。NIMF方法主要采用矩陣因子分解的方法,結合當前用戶的鄰居用戶QoS信息對未知的QoS信息進行預測。Colbar方法在矩陣因子分解模型中引入用戶的位置信息作為正則項,根據位置信息對用戶進行篩選,然后計算滿足一定距離內的用戶之間的相似度,得到當前用戶的鄰居集,再對建立的模型進行學習,得到QoS預測矩陣。
圖8和圖9給出本研究方法與NIMF和Colbar兩種方法在不同矩陣密度下的對比。NIMF方法沒有考慮區(qū)域信息的影響,Colbar方法只考慮了用戶的位置信息而沒有考慮服務的位置信息的影響。因此,將本研究只考慮用戶區(qū)域信息的方法QPRIU(α≠0,β=0)與Colbar方法進行對比,然后再將同時考慮用戶和服務區(qū)域因素時的方法QPRIUS與Colbar方法和NIMF方法進行對比。
根據申利民等[20]和ZHENG et al.[25]的原有計算結果,Colbar方法中計算了MD取值為10%、20%、30%和40%的預測結果,NIMF方法中計算了MD取值為5%、10%、15%和20%的預測結果。為了方便對比,本研究將矩陣密度設定為5%、10%、15%、20%、30%和40%,計算響應時間和吞吐量兩個QoS屬性的MAE和RMSE值,取10次結果的平均值,并與NIMF方法和Colbar方法分別進行對比和分析。
首先,分析當本研究僅考慮用戶區(qū)域信息時的QPRIU方法與Colbar方法的對比。由圖8和圖9可知,在同樣的矩陣密度條件下,對于響應時間和吞吐量兩個屬性來說,本研究的QPRIU方法計算得到的MAE和RMSE均比Colbar方法小。說明在同樣考慮用戶區(qū)域信息的情況下,本研究的計算方法比Colbar方法的預測準確度更高一些。主要是因為本研究模型在優(yōu)化過程中保持了矩陣的非負性,并且是根據區(qū)域劃分對用戶進行分類并計算相似度,避免了將兩個相鄰區(qū)域的用戶因為地理位置很近但是硬件設施差別很大而被認為是互為鄰居的情況。由于Colbar方法無法正確處理這種情況,從而導致其計算結果存在一定誤差。
其次,當本研究同時考慮用戶和服務區(qū)域信息時與NIMF方法和Colbar方法進行對比。由圖8和圖9可知,在同樣的矩陣密度條件下,對于響應時間和吞吐量兩個屬性來說,QPRIUS方法預測結果明顯優(yōu)于NIMF方法和Colbar方法。該實驗結果充分說明本研究方法的優(yōu)越性和QoS預測的準確性,以及充分考慮用戶區(qū)域信息和服務區(qū)域信息的必要性。
圖9 4種方法對比——吞吐量Figure 9 Comparisons of Four Methods for Throughput
圖8 4種方法對比——響應時間Figure 8 Comparisons of Four Methods for Response Time
本研究提出一種基于用戶和服務區(qū)域信息的Web服務質量預測方法QPRIUS。在所創(chuàng)建的QoS預測模型中,不僅考慮全局的QoS信息,而且加入用戶和服務的局部區(qū)域信息,通過模型的迭代優(yōu)化過程,最終得到準確性較高的QoS預測矩陣。研究結果表明,①在QoS預測模型中加入用戶和服務的區(qū)域影響因素有助于提高QoS預測的準確性。相較而言,服務所在的區(qū)域情況對QoS信息的預測效果影響較大。主要是由于當用戶提交其服務請求之后,服務在提供者的服務器端運行并提供給用戶需要的信息。因此,服務器端在服務運行過程中起主導作用,其所在區(qū)域的發(fā)展水平對服務運行的QoS信息影響很大。②已有QoS信息的密度對QoS預測效果具有一定影響,密度越大,預測準確性越高,說明鼓勵用戶盡量多地提供QoS信息反饋值非常重要。③為了提高模型的優(yōu)化效率,獲取高質量的鄰居集合,在計算區(qū)域內用戶之間和服務之間相似度時引入相似度閾值,當QoS信息的密度較小時,較大的μ值有利于提高預測的準確性;當QoS信息的密度較大時,較低的μ值對QoS信息的預測比較有利。
本研究方法具有較高的QoS預測準確性,與其他方法對比,準確性提高了25%。同時,本研究有效地解決了新用戶和新服務的冷啟動問題。對于較稀疏的矩陣,也能夠得到較好的預測效果。研究結果對大量基于QoS的研究工作具有重要的支持作用,有利于為其提供較為準確的QoS信息,為面向服務計算的發(fā)展提供一些有益的啟示。
本研究還存在一些不足可以在后續(xù)研究予以拓展。在今后的研究中可以考慮用戶對服務的滿意度和信任度等主觀因素對QoS預測的影響,這將有利于進一步提高QoS預測的準確性。此外,本研究針對靜態(tài)的QoS信息,有些QoS屬性是動態(tài)變化的,需要對其進行實時預測,這有待于今后的進一步研究。