本發(fā)明涉及服務(wù)質(zhì)量預(yù)測(cè),尤其是一種用于物聯(lián)網(wǎng)服務(wù)服務(wù)質(zhì)量預(yù)測(cè)的多屬性聯(lián)合預(yù)測(cè)方法。
背景技術(shù):
1、物聯(lián)網(wǎng)應(yīng)用通常由各種傳感設(shè)備、邊緣服務(wù)器或云服務(wù)器提供的大量異構(gòu)服務(wù)組成。例如,智能交通系統(tǒng)使用到的物聯(lián)網(wǎng)服務(wù)包括但不限于目標(biāo)檢測(cè)、交通流量預(yù)測(cè)和旅行路線(xiàn)規(guī)劃等。5g技術(shù)為物聯(lián)網(wǎng)服務(wù)提供了更高的帶寬(吞吐量)、更低的延遲(響應(yīng)時(shí)間)和更可靠的連接(穩(wěn)定性),促進(jìn)了物聯(lián)網(wǎng)服務(wù)數(shù)量的顯著增加。然而,隨著其數(shù)量的增加,物聯(lián)網(wǎng)服務(wù)功能同質(zhì)化現(xiàn)象也變得越來(lái)越嚴(yán)重。對(duì)于物聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)者(即用戶(hù))來(lái)說(shuō),其很難從大量功能相似的候選服務(wù)中快速選擇高質(zhì)量的服務(wù)。因此,研究人員提出了服務(wù)質(zhì)量的概念,從非功能角度區(qū)分功能相似的服務(wù)。服務(wù)質(zhì)量代表了物聯(lián)網(wǎng)服務(wù)在某一方面的質(zhì)量信息,包括響應(yīng)時(shí)間、吞吐量和穩(wěn)定性等。服務(wù)質(zhì)量可以幫助用戶(hù)區(qū)分功能相似的服務(wù),并幫助服務(wù)提供商改善服務(wù)性能。然而,通過(guò)調(diào)用所有候選服務(wù)來(lái)確定其服務(wù)質(zhì)量是不可行的,因?yàn)檫@既耗時(shí)又耗資源。物聯(lián)網(wǎng)服務(wù)服務(wù)質(zhì)量預(yù)測(cè)方法,憑借其資源開(kāi)銷(xiāo)少,以及能夠?qū)崿F(xiàn)高效的服務(wù)推薦等優(yōu)勢(shì),得到了學(xué)術(shù)界和工業(yè)界的廣泛研究。
2、目前流行的基于深度學(xué)習(xí)的服務(wù)質(zhì)量預(yù)測(cè)方法利用神經(jīng)網(wǎng)絡(luò)來(lái)學(xué)習(xí)用戶(hù)和服務(wù)的潛在特征或用戶(hù)與服務(wù)之間的交互特征,并使用上述兩種特征來(lái)進(jìn)行預(yù)測(cè)。根據(jù)特征輸入到模型方式的不同,基于深度學(xué)習(xí)的方法大致可以分為兩類(lèi),(1)交互塔方法:用戶(hù)和服務(wù)的特征聯(lián)合輸入模型;(2)雙塔方法:用戶(hù)和服務(wù)的特征分別輸入模型。雖然上述兩種方法可以實(shí)現(xiàn)高精度的服務(wù)質(zhì)量預(yù)測(cè),但交互塔方法和雙塔方法都忽略了不同服務(wù)質(zhì)量之間潛在有益的關(guān)聯(lián)關(guān)系。此外,雙塔方法的延遲交互策略導(dǎo)致用戶(hù)和服務(wù)之間的交互特征丟失,影響其預(yù)測(cè)準(zhǔn)確性。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明需要解決的技術(shù)問(wèn)題是提供一種用于物聯(lián)網(wǎng)服務(wù)服務(wù)質(zhì)量預(yù)測(cè)的多屬性聯(lián)合預(yù)測(cè)方法,實(shí)現(xiàn)了高精度的物聯(lián)網(wǎng)服務(wù)服務(wù)質(zhì)量預(yù)測(cè),有效滿(mǎn)足了物聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)過(guò)程中開(kāi)發(fā)者對(duì)高質(zhì)量物聯(lián)網(wǎng)服務(wù)推薦的客觀(guān)需要。
2、為解決上述技術(shù)問(wèn)題,本發(fā)明所采用的技術(shù)方案是:
3、一種用于物聯(lián)網(wǎng)服務(wù)服務(wù)質(zhì)量預(yù)測(cè)的多屬性聯(lián)合預(yù)測(cè)方法,包括以下步驟:
4、s1、獲取物聯(lián)網(wǎng)服務(wù)服務(wù)質(zhì)量數(shù)據(jù)集;
5、s2、對(duì)用戶(hù)和服務(wù)的上下文特征進(jìn)行預(yù)處理;
6、s3、將處理好的上下文特征輸入到第一多視角殘差交互網(wǎng)絡(luò)mrinrt和第二多視角殘差交互網(wǎng)絡(luò)mrintp中,分別執(zhí)行響應(yīng)時(shí)間預(yù)測(cè)和吞吐量預(yù)測(cè);
7、s4、分別計(jì)算響應(yīng)時(shí)間預(yù)測(cè)值和吞吐量預(yù)測(cè)值與相應(yīng)真實(shí)值之間的損失函數(shù),并通過(guò)加權(quán)運(yùn)算得到聯(lián)合損失函數(shù),使用聯(lián)合損失函數(shù)訓(xùn)練預(yù)測(cè)模型;
8、s5、使用訓(xùn)練好的預(yù)測(cè)模型進(jìn)行物聯(lián)網(wǎng)服務(wù)服務(wù)質(zhì)量的預(yù)測(cè)。
9、本發(fā)明技術(shù)方案的進(jìn)一步改進(jìn)在于:在s1中,獲取物聯(lián)網(wǎng)服務(wù)服務(wù)質(zhì)量數(shù)據(jù)集,具體包括:
10、利用服務(wù)質(zhì)量監(jiān)測(cè)工具采集物聯(lián)網(wǎng)服務(wù)服務(wù)質(zhì)量數(shù)據(jù),除必須的用戶(hù)標(biāo)號(hào)idu、物聯(lián)網(wǎng)服務(wù)標(biāo)號(hào)ids和服務(wù)質(zhì)量值外,選取有益的用戶(hù)和物聯(lián)網(wǎng)服務(wù)的上下文特征加入數(shù)據(jù)集中;最終,用戶(hù)上下文特征fu和物聯(lián)網(wǎng)服務(wù)上下文特征fs表示為:
11、fu=[idu,asu,longitudeu,latitudeu,countryu,provinceu,cityu]
12、fs=[ids,providers,ass,longitudes,latitudes,countrys,provinces,citys]
13、其中,asu表示用戶(hù)ip地址所屬網(wǎng)絡(luò)自治域,latitudeu和longitudeu分別表示用戶(hù)的經(jīng)度和緯度信息,countryu,provinceu和cityu分別表示用戶(hù)所在的國(guó)家、省份和城市;providers表示服務(wù)提供商,ass表示服務(wù)ip地址所屬網(wǎng)絡(luò)自治域,latitudes和longitudes分別表示服務(wù)的經(jīng)度和緯度信息,countrys,provinces和citys分別表示服務(wù)所在的國(guó)家、省份和城市。
14、本發(fā)明技術(shù)方案的進(jìn)一步改進(jìn)在于:在s2中,對(duì)用戶(hù)和服務(wù)的上下文特征進(jìn)行預(yù)處理,具體包括以下步驟:
15、s2.1、采用獨(dú)熱編碼技術(shù)onehot,將用戶(hù)和物聯(lián)網(wǎng)服務(wù)的上下文特征轉(zhuǎn)換為稀疏特征向量;
16、
17、其中,fu,i表示用戶(hù)的第i個(gè)特征,fs,j表示物聯(lián)網(wǎng)服務(wù)的第j個(gè)特征;xu,i表示用戶(hù)第i個(gè)特征的稀疏特征向量,xs,j表示物聯(lián)網(wǎng)服務(wù)第j個(gè)特征的稀疏特征向量;oi表示用戶(hù)第i個(gè)稀疏特征向量的維數(shù),也表示用戶(hù)第i個(gè)特征的有效值個(gè)數(shù),oj表示物聯(lián)網(wǎng)服務(wù)第j個(gè)稀疏特征向量的維數(shù),也表示物聯(lián)網(wǎng)服務(wù)第j個(gè)特征的有效值個(gè)數(shù);
18、s2.2、采用嵌入技術(shù)embedding將用戶(hù)和物聯(lián)網(wǎng)服務(wù)的稀疏特征向量轉(zhuǎn)化為共享特征空間中的嵌入向量;
19、(cu,i)e=embedding(xu,i)=wi·xu,i
20、(cs,j)e=embedding(xs,j)=wj·xs,j
21、其中,cu,i表示用戶(hù)第i個(gè)特征的嵌入向量,cs,j表示物聯(lián)網(wǎng)服務(wù)第j個(gè)特征的嵌入向量;e表示嵌入向量的維數(shù);w表示特征嵌入層的權(quán)重矩陣;
22、s2.3、將用戶(hù)和物聯(lián)網(wǎng)服務(wù)的嵌入向量進(jìn)行連接φ,分別生成用戶(hù)特征cu、物聯(lián)網(wǎng)服務(wù)特征cs,以及用戶(hù)和物聯(lián)網(wǎng)服務(wù)的聯(lián)合特征cu,s:
23、
24、其中,m表示用戶(hù)上下文特征的個(gè)數(shù),n表示物聯(lián)網(wǎng)服務(wù)上下文特征的個(gè)數(shù)。
25、本發(fā)明技術(shù)方案的進(jìn)一步改進(jìn)在于:在s3中,具體包括以下步驟:
26、s3.1、將用戶(hù)特征cu、物聯(lián)網(wǎng)服務(wù)特征cs,以及用戶(hù)和物聯(lián)網(wǎng)服務(wù)的聯(lián)合特征cu,s輸入到第一多視圖殘差交互網(wǎng)絡(luò)mrinrt中,執(zhí)行響應(yīng)時(shí)間預(yù)測(cè);
27、
28、其中,表示響應(yīng)時(shí)間的最終預(yù)測(cè)值;
29、第一多視圖殘差交互網(wǎng)絡(luò)mrinrt由第一用戶(hù)塔第一服務(wù)塔和第一交互塔組成;
30、使用第一用戶(hù)塔第一服務(wù)塔來(lái)學(xué)習(xí)第一用戶(hù)潛在特征和第一服務(wù)潛在特征使用第一交互塔來(lái)補(bǔ)充學(xué)習(xí)第一用戶(hù)塔第一服務(wù)塔丟失的用戶(hù)與服務(wù)之間的第一交互特征
31、
32、其中,第一用戶(hù)塔第一服務(wù)塔以及第一交互塔均是由殘差塊resblock堆疊而成;
33、將用戶(hù)和服務(wù)之間的第一交互特征輸入到一個(gè)殘差塊resblock中,得到第一響應(yīng)時(shí)間預(yù)測(cè)值
34、
35、將第一用戶(hù)潛在特征以及第一服務(wù)潛在特征執(zhí)行內(nèi)積運(yùn)算,得到第二響應(yīng)時(shí)間預(yù)測(cè)值
36、
37、其中,t表示向量轉(zhuǎn)置運(yùn)算;
38、對(duì)第一響應(yīng)時(shí)間預(yù)測(cè)值和第二響應(yīng)時(shí)間預(yù)測(cè)值執(zhí)行加權(quán)運(yùn)算,得到響應(yīng)時(shí)間的最終預(yù)測(cè)值
39、
40、其中,α表示視圖權(quán)重,決定了第一響應(yīng)時(shí)間預(yù)測(cè)值的重要性,而1-α決定了第二響應(yīng)時(shí)間預(yù)測(cè)值的重要性;
41、s3.2、將用戶(hù)特征cu、物聯(lián)網(wǎng)服務(wù)特征cs,以及用戶(hù)和物聯(lián)網(wǎng)服務(wù)的聯(lián)合特征cu,s輸入到第二多視圖殘差交互網(wǎng)絡(luò)mrintp中,執(zhí)行吞吐量預(yù)測(cè):
42、
43、其中,表示吞吐量的最終預(yù)測(cè)值;
44、第二多視圖殘差交互網(wǎng)絡(luò)mrintp由第二用戶(hù)塔第二服務(wù)塔以及第二交互塔組成;
45、使用第二用戶(hù)塔第二服務(wù)塔來(lái)學(xué)習(xí)第二用戶(hù)潛在特征和第二服務(wù)潛在特征使用第二交互塔來(lái)補(bǔ)充學(xué)習(xí)第二用戶(hù)塔和第二服務(wù)塔丟失的用戶(hù)與服務(wù)之間的第二交互特征
46、
47、其中,由第二用戶(hù)塔第二服務(wù)塔以及第二交互塔也均是由殘差塊resblock堆疊而成;
48、將用戶(hù)和服務(wù)之間的第二交互特征輸入到一個(gè)殘差塊resblock中,得到第一吞吐量預(yù)測(cè)值
49、
50、將第二用戶(hù)潛在特征以及第二服務(wù)潛在特征執(zhí)行內(nèi)積運(yùn)算,得到第二吞吐量預(yù)測(cè)值
51、
52、對(duì)第一吞吐量預(yù)測(cè)值和第二吞吐量預(yù)測(cè)值執(zhí)行加權(quán)運(yùn)算,得到吞吐量的最終預(yù)測(cè)值
53、
54、其中,α表示視圖權(quán)重,決定了第一吞吐量預(yù)測(cè)值的重要性,而1-α決定了第二吞吐量預(yù)測(cè)值的重要性。
55、本發(fā)明技術(shù)方案的進(jìn)一步改進(jìn)在于:在s3.1和s3.2中,殘差塊resblock結(jié)構(gòu),以第一用戶(hù)塔的堆疊進(jìn)行說(shuō)明如下:
56、
57、其中,k表示殘差塊的數(shù)量;
58、每個(gè)殘差塊則是由兩種類(lèi)型的第一殘差單元resunit1和第二殘差單元resunit2堆疊而成:
59、
60、其中,d表示每個(gè)殘差塊中殘差單元的總數(shù);第一殘差單元resunit1的數(shù)量為1,第二殘差單元resunit2的數(shù)量為d-1;第一殘差單元resunit1在學(xué)習(xí)特征之間交互的同時(shí),能夠降低輸入向量的維數(shù):
61、
62、第二殘差單元resunit2只學(xué)習(xí)特征之間的交互,而不改變輸入向量的維數(shù):
63、
64、其中,d表示當(dāng)前殘差塊中的第d個(gè)殘差單元,其最大不超過(guò)d;x和y分別表示殘差塊中兩個(gè)全連接層的輸出向量;w和b分別表示全連接層的權(quán)重矩陣以及偏置項(xiàng);gelu表示激活函數(shù),bn表示批量歸一化操作;表示第d個(gè)殘差單元的輸出向量,同時(shí)也作為第d+1個(gè)殘差單元的輸入向量。
65、本發(fā)明技術(shù)方案的進(jìn)一步改進(jìn)在于:在s4中,具體包括以下步驟:
66、s4.1、根據(jù)huber損失函數(shù),分別計(jì)算第一響應(yīng)時(shí)間預(yù)測(cè)值第二響應(yīng)時(shí)間預(yù)測(cè)值和相應(yīng)真實(shí)值yrt之間的第一損失函數(shù)第二損失函數(shù)其中,huber損失函數(shù)的閾值設(shè)為1;
67、根據(jù)第一損失函數(shù)計(jì)算第一響應(yīng)時(shí)間預(yù)測(cè)值與真實(shí)值yrt之間的損失:
68、
69、根據(jù)第二損失函數(shù)計(jì)算第二響應(yīng)時(shí)間預(yù)測(cè)值與真實(shí)值yrt之間的損失:
70、
71、s4.2、根據(jù)huber損失函數(shù),分別計(jì)算第一吞吐量預(yù)測(cè)值第二吞吐量預(yù)測(cè)值和相應(yīng)真實(shí)值ytp之間的第三損失函數(shù)第四損失函數(shù)其中,huber損失函數(shù)的閾值設(shè)為1;
72、根據(jù)第三損失函數(shù)計(jì)算第一吞吐量預(yù)測(cè)值與真實(shí)值ytp之間的損失:
73、
74、根據(jù)第四損失函數(shù)計(jì)算第二吞吐量預(yù)測(cè)值與真實(shí)值ytp之間的損失:
75、
76、s4.3、將第一損失函數(shù)第二損失函數(shù)第三損失函數(shù)第四損失函數(shù)進(jìn)行加權(quán)運(yùn)算,得到聯(lián)合損失函數(shù)l,使用聯(lián)合損失函數(shù)l訓(xùn)練預(yù)測(cè)模型:
77、
78、其中,β表示屬性權(quán)重,決定了響應(yīng)時(shí)間損失函數(shù)的重要性,1-β決定了吞吐量損失函數(shù)的重要性;α表示視圖權(quán)重,決定了交互塔損失函數(shù)的重要性,1-α決定了雙塔損失函數(shù)的重要性。
79、由于采用了上述技術(shù)方案,本發(fā)明取得的技術(shù)進(jìn)步是:
80、1、本發(fā)明所提供的用于物聯(lián)網(wǎng)服務(wù)服務(wù)質(zhì)量預(yù)測(cè)的多屬性聯(lián)合預(yù)測(cè)方法,首先對(duì)用戶(hù)和服務(wù)的上下文特征進(jìn)行預(yù)處理;之后將處理好的特征輸入到兩個(gè)多視角殘差交互網(wǎng)絡(luò)中,分別執(zhí)行響應(yīng)時(shí)間預(yù)測(cè)和吞吐量預(yù)測(cè);最后根據(jù)預(yù)測(cè)值計(jì)算聯(lián)合損失函數(shù),使用聯(lián)合損失函數(shù)訓(xùn)練預(yù)測(cè)模型;考慮了不同服務(wù)質(zhì)量之間潛在有益的關(guān)聯(lián)關(guān)系,這種關(guān)聯(lián)關(guān)系提高了模型的預(yù)測(cè)精度。
81、2、本發(fā)明中通過(guò)對(duì)共享特征空間中的嵌入向量進(jìn)行多屬性聯(lián)合訓(xùn)練,提高了嵌入向量的泛化性,進(jìn)而提高了預(yù)測(cè)模型在冷啟動(dòng)情況下的泛化能力,比單屬性預(yù)測(cè)方法具有更高的效率。
82、3、本發(fā)明中在雙塔的基礎(chǔ)上增設(shè)交互塔,使用交互塔來(lái)補(bǔ)充學(xué)習(xí)雙塔丟失的用戶(hù)和服務(wù)之間的交互特征。
83、4、本發(fā)明中設(shè)計(jì)的殘差塊結(jié)構(gòu),可以顯著增強(qiáng)預(yù)測(cè)模型的特征交互學(xué)習(xí)能力。