張曉穎,郭一凡
(長春大學(xué) 理學(xué)院,長春 130022)
圖1 隨機(jī)選取部分?jǐn)?shù)據(jù)流程圖
使用MATLAB軟件從數(shù)據(jù)集中隨機(jī)選取部分?jǐn)?shù)據(jù)進(jìn)行實(shí)驗(yàn),對于網(wǎng)絡(luò)側(cè)估計(jì)終端用戶視頻體驗(yàn)?zāi)軌蛱岣哂?jì)算效率進(jìn)行準(zhǔn)確建模,滿足應(yīng)用需求。
Step 1 使用MATLAB的Size函數(shù)
使用Size函數(shù)獲取數(shù)據(jù)轉(zhuǎn)換成矩陣的行列數(shù)目,以實(shí)現(xiàn)賦值、計(jì)算等操作。采取了size(A,1)用法獲得矩陣的行數(shù)。
Step 2 使用MATLAB的Randperm函數(shù)
使用Randperm函數(shù)返回一個向量,將獲取到的行數(shù)隨機(jī)打亂成一個無重復(fù)數(shù)字序列,彼此無重復(fù)且順序隨機(jī)。
Step 3 提取部分?jǐn)?shù)據(jù)
在數(shù)據(jù)矩陣中按照返回向量提取n個隨機(jī)數(shù)據(jù),產(chǎn)生相應(yīng)的矩陣。
主要因素均會受到諸多因素的影響,例如初始視頻緩沖峰值速率會受到存在干擾(SINR)、空口負(fù)載過大、系統(tǒng)規(guī)格的不同等諸多情況的影響,故需要對原始數(shù)據(jù)進(jìn)行初步處理,減少在接下來的相關(guān)性檢驗(yàn)以及神經(jīng)網(wǎng)絡(luò)模型處理數(shù)據(jù)中所產(chǎn)生的誤差。
圖2 處理異常點(diǎn)前后,初始緩沖峰值速率與初始緩沖時延的關(guān)系
圖3 剔除異常點(diǎn)流程圖
使用拉依達(dá)準(zhǔn)則進(jìn)行異常點(diǎn)處理,若在主要數(shù)據(jù)中的某個測量值的殘余誤差的絕對值Vi>3σ,則將該測量值視為壞值并處理。其中:
Vi=Xi-μi=1,2,…,n,
(1)
(2)
在判斷函數(shù)關(guān)系前,對兩兩因素做相關(guān)性分析。若兩個因素具有相關(guān)性,才能建立函數(shù)關(guān)系。假設(shè)初始緩沖峰值速率(kbps)與E2E RTT(ms)這兩個因素與初始緩沖時延(ms)有關(guān)系的可能性較大,播放階段平均速率(kbps)與卡頓占比有關(guān)系的可能性較大。從而可以建立相關(guān)性模型并對假設(shè)進(jìn)行驗(yàn)證。用協(xié)方差來度量兩個隨機(jī)變量之間的關(guān)系,假設(shè)xi,yi為樣本點(diǎn)數(shù)值,則其表達(dá)式為:
(3)
五個變量之間的相關(guān)系數(shù)矩陣R1:
(4)
考慮到除了三個主要的網(wǎng)絡(luò)側(cè)變量以外,視頻全程感知速率(kbps)對用戶體驗(yàn)評價變量可能有較大影響,故求得視頻全程感知速率(kbps)與主要變量之間的相關(guān)系數(shù)矩陣R2為:
(5)
相關(guān)系數(shù)標(biāo)準(zhǔn):選用±0.3為界線,若相關(guān)度小于|±0.3|,則認(rèn)為兩變量相關(guān)性不大。
圖4 五個主要變量之間的相關(guān)性
圖5 視頻全程感知速率(kbps)與主要變量之間的相關(guān)性
從圖4及其系數(shù)矩陣R1可以分析出,初始緩沖時延(ms)與初始緩沖峰值速率(kbps)、E2E RTT(ms)有較高相關(guān)性,與播放階段平均速率(kbps)的相關(guān)性不高;卡頓占比與播放階段平均速率(kbps)有較高相關(guān)性,與初始緩沖峰值速率(kbps)、E2E RTT(ms)的相關(guān)性不高;從圖5及其系數(shù)矩陣R2可以分析出,視頻全程感知速率(kbps)與播放階段平均速率(kbps)、初始緩沖時延(ms)、卡頓占比均具有較高相關(guān)性。所以,我們針對初始緩沖時延(ms)與初始緩沖峰值速率(kbps)、E2E RTT(ms),卡頓占比與播放階段平均速率(kbps)的五個主要因素之間的影響關(guān)系以及影響視頻全程感知速率(kbps)的主要因素構(gòu)造函數(shù)。
將網(wǎng)絡(luò)側(cè)變量(初始緩沖峰值速率,播放階段平均下載速率,E2E RTT)視為自變量,用戶體驗(yàn)評價變量(初始緩沖時延,卡頓時長占比)視為因變量。建立BP單節(jié)點(diǎn)神經(jīng)網(wǎng)絡(luò)模型。
Step 1 進(jìn)行原始數(shù)據(jù)離差標(biāo)準(zhǔn)化
通過對原始數(shù)據(jù)進(jìn)行離差標(biāo)準(zhǔn)化,使結(jié)果映射到小范圍內(nèi),其公式為:
(6)
Step 2 確定輸入層,輸出層
將自變量(網(wǎng)絡(luò)側(cè)變量)作為一維輸入變量,因變量(用戶體驗(yàn)評價變量)作為一維輸出變量,即采用僅有一個神經(jīng)元的輸出層的BP網(wǎng)絡(luò)模型。
Step 3 對激活函數(shù)進(jìn)行選取
激活函數(shù)決定了神經(jīng)元的連接方式,一般選取Sigmoid型函數(shù),我們選取雙曲線正切函數(shù)
(7)
Step 4 確定隱含層及其節(jié)點(diǎn)數(shù)
由文獻(xiàn)[3]知,一個三層BP神經(jīng)網(wǎng)絡(luò)模型就可以解決一般函數(shù)的構(gòu)造、逼近問題。三層網(wǎng)絡(luò)中隱含層節(jié)點(diǎn)數(shù)n2和輸入層個數(shù)n1之間有近似關(guān)系:n2=2n1+1,根據(jù)這個關(guān)系式確定隱含層節(jié)點(diǎn)數(shù)為3個。
隱含層輸出表達(dá)式為:
(8)i表示輸入節(jié)點(diǎn),j表示隱含節(jié)點(diǎn),wij表示第i層輸入到隱含層的第j層權(quán)值。
(9)
d1j表示第j隱含層到輸出層的權(quán)值。
Step5 根據(jù)誤差,調(diào)整權(quán)值
從輸出結(jié)點(diǎn)到輸入層進(jìn)行反向修正,其公式為:
wkjn+1=wkjn+ηδjyj,
(10)
η是大于0的增益,δj是對應(yīng)節(jié)點(diǎn)j的誤差,隱含層節(jié)點(diǎn)的學(xué)習(xí)公式是:
δj=yj(1-yj)∑δkwjk,
(11)
對于輸出層節(jié)點(diǎn)的學(xué)習(xí)公式是:
δj=yj(1-yj)(Y-yj),
(12)
最后,用平方和誤差函數(shù)作為誤差函數(shù)
(13)
yk是神經(jīng)元的實(shí)際輸出,Yk是對應(yīng)的期望輸出。
結(jié)合MATLAB的神經(jīng)網(wǎng)絡(luò)工具箱,建立BP單節(jié)點(diǎn)神經(jīng)網(wǎng)絡(luò)模型:
simy=w(2,3)11×tansig(w(1,2)11×x+b21)
+w2,321×tansig(w1,212×x+b22),
(14)
+w2,331×tansigw1,213×x+b23+b31
其中,w(j,k)ab代表第j層的第a個節(jié)點(diǎn)到第k層的第b個節(jié)點(diǎn)的權(quán)值;byx代表第y層第x個節(jié)點(diǎn)的閾值;
通過net.iwj,1提取第j層到第j+1層的權(quán)值,通過net.by提取第i+1層的閾值。
(15)
則初始緩沖時延與初始緩沖峰值速率的函數(shù)關(guān)系式為:
y=0.5556×tansig(-0.9147×x+1.6881)
-0.1522×tansig(3.7679×x+2.2682),
(16)
-5.0390×tansig4.9379×x+5.6855+3.8605
其中,權(quán)值及閾值提取結(jié)果為:
(17)
(18)
(19)
b3=net.b{2}=3.8605
仿真效果見圖6,其他初始緩沖時延(ms)與E2E RTT(ms)等五組仿真效果見圖7—圖11。
圖8 卡頓占比與播放階段平均速率(kbps)的函數(shù)構(gòu)造結(jié)果
圖9 視頻全程感知速率(kbps)與播放階段平均速率(kbps)的函數(shù)構(gòu)造結(jié)果
圖10 視頻全程感知速率(kbps)與初始緩沖時延(ms)的函數(shù)構(gòu)造結(jié)果
圖11 視頻全程感知速率(kbps)與卡頓占比的函數(shù)構(gòu)造結(jié)果
表1 初始緩沖時延(ms)與初始緩沖峰值速率(kbps)的分析
表2 初始緩沖時延(ms)與E2E RTT(ms)的分析
表3 卡頓占比與播放階段平均速率(kbps)的分析
結(jié)論:由于二者存在明顯的線性關(guān)系,因此二者存在相同的決定因素。
圖12 播放階段平均速率(kbps)與視頻全程感知速率(kbps)的分析
表4 初始緩沖時延(ms)與視頻全程感知速率(kbps)的分析
表5 初始緩沖時延(ms)與視頻全程感知速率(kbps)的分析
將原始數(shù)據(jù)帶入模型可驗(yàn)證模型的正確率,圖13為誤差長度為0.1倍的實(shí)際函數(shù)的條形誤差區(qū)域圖,由圖可以看出仿真神經(jīng)網(wǎng)絡(luò)模型對變量之間的關(guān)系預(yù)測都落在小范圍內(nèi),模型的預(yù)測準(zhǔn)確度較高,比較準(zhǔn)確地刻畫了每對變量之間的關(guān)系。
圖13 誤差比較圖
本文所建立的模型可以推廣到其他視頻網(wǎng)站以及更加廣泛的互聯(lián)網(wǎng)服務(wù)平臺的設(shè)置或者用于解決類似問題的情境中,也可以用來作網(wǎng)絡(luò)直播過程由于各種因素造成畫面延遲等問題的參考,在實(shí)際上應(yīng)用中有較大的通用性和實(shí)用性。
參考文獻(xiàn):
[1] Hsu K,Cupta H V,Sorroshians.Artificial neural net workmodling of the rainfall runoff process[J].Water Resources research,1995,31(10):2517-2530.
[2] 王巖,隋思漣.試驗(yàn)設(shè)計(jì)與MATLAB數(shù)據(jù)分析[M].北京:清華大學(xué)出版社,2012.
[3] 明平劍,姜任秋,朱明剛,等.基于PC集群并行CFD算法實(shí)現(xiàn)[J].哈爾濱工程大學(xué)學(xué)報(bào),2007,28(2):155-160.