王鶴琴
(1.安徽警官職業(yè)學(xué)院信息管理系,安徽 合肥 230031;2.安徽師范大學(xué)計算機科學(xué)與技術(shù)研究所,安徽 蕪湖 241000)
近年來,云服務(wù)在全世界范圍內(nèi)迅速發(fā)展起來,基于對云服務(wù)的研究發(fā)現(xiàn)價格和成本模型仍然是一個持續(xù)的研究熱點[1].
優(yōu)化的云服務(wù)定價模型可減少用戶的消費成本,同時是提升云服務(wù)商業(yè)價值的一個至關(guān)重要的因素.一旦在市場中應(yīng)用,能夠改變用戶的行為并有助于提高云服務(wù)提供商在市場中的地位.因此,云服務(wù)定價模型的研究對于云服務(wù)提供商和云服務(wù)的發(fā)展具有深遠的意義[2].
目前比較典型的云服務(wù)價格預(yù)測模型有基于市場定價的方法、基于博弈定價的方法以及基于拍賣定價的方法等[3].傳統(tǒng)定價模型難以滿足云服務(wù)的市場需求.從云服務(wù)提供商的角度看,希望提高市場占有率的同時并贏取更多的利益[3].從用戶的角度看,在服務(wù)水平一樣的情況下,價格盡可能低.如果把價格設(shè)定過高,則可能會造成失去用戶的風險,市場占有率就會下降;如果把價格設(shè)定過低,則可能會造成利潤不佳.因此,如何設(shè)定云服務(wù)的價格,既能滿足用戶需求,又能保證云服務(wù)提供商利潤最大化,是亟需解決的問題.
影響云服務(wù)價格的因素較多,且部分因素對價格的影響程度不同.考慮影響云服務(wù)價格因素既不夠全面也未考慮元素與價格之間的關(guān)系,因此,本文針對這一問題提出在改進人工神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上進行云服務(wù)價格預(yù)測模型的研究.本文從蒂布特模型中提煉出影響定價的政策干預(yù)、用戶偏好、業(yè)內(nèi)競爭這些因素,將改進的人工神經(jīng)網(wǎng)絡(luò)算法用于研究云服務(wù)價格預(yù)測的定量研究上,與BP神經(jīng)網(wǎng)絡(luò)、RBF神經(jīng)網(wǎng)絡(luò)以及人工神經(jīng)網(wǎng)絡(luò)預(yù)測模型分別進行比較分析,以論證本文提出的基于Tiebout模型和改進的人工神經(jīng)網(wǎng)絡(luò)的云服務(wù)價格預(yù)測模型更優(yōu)化.
在先前的研究中發(fā)現(xiàn)影響云服務(wù)價格的因素一般都是由多種因素共同影響,而這些因素與價格之間關(guān)系較為復(fù)雜,且各因素對價格的影響程度不同.為了提高對云服務(wù)價格預(yù)測的準確性,對因素的影響重要程度進行了分析,但考慮到原始數(shù)據(jù)集數(shù)量大且繁雜,要從中發(fā)現(xiàn)規(guī)律,并不容易.而人工神經(jīng)網(wǎng)絡(luò)具有高度的自適應(yīng)性、非線性、善于處理復(fù)雜關(guān)系的優(yōu)點,在初始化階段選取的權(quán)值和閾值不當,就比較容易陷入局部極小值.布谷鳥算法(Cuckoo Search Algorithm)具有比較好的跳出局部搜索的優(yōu)點,故采用布谷鳥算法改進人工神經(jīng)網(wǎng)絡(luò)的模型對云服務(wù)價格進行預(yù)測是行之有效的.
美國經(jīng)濟學(xué)家蒂布特(Charles Tiebout)認為各個地方政府之間的相互“競爭”,也會促使其更有效地提供人們所需要的公共產(chǎn)品和服務(wù).從蒂布特模型中,我們可以提煉出影響云服務(wù)價格的因素主要包括政策干預(yù)x1,用戶偏好x2和業(yè)內(nèi)競爭x3.劍橋大學(xué)Xin-SheYang等學(xué)者于2009年提出布谷鳥搜索算法(CS),通過模擬某些種屬布谷鳥的寄生育雛來有效地求解最優(yōu)化問題.其主要優(yōu)點是參數(shù)少、容易實現(xiàn)、隨機搜索路徑、尋優(yōu)能力強,同時具有的Levy特性能夠有效地擴大搜索范圍,是一種高效的全局隨機搜索算法[4].其全局可以隨機游走使用Levy飛行,記作:
xi(t+1)=xi(t)+αL(s,λ)
(1)
(2)
其中,α>0是縮放因子.
根據(jù)解的適應(yīng)度,計算解的選擇概率,其公式如下:
(3)
將適應(yīng)度考慮到以Pa 概率發(fā)現(xiàn)并丟棄解的策略中,如公式如下所示:
(4)
CS算法在以Pa 概率發(fā)現(xiàn)并丟棄解時,可能保留適應(yīng)度較差的解,而丟棄適應(yīng)度較好的解.因此提出ICS 算法,其主要思想是:在發(fā)現(xiàn)并丟棄解時,同時考慮解的適應(yīng)度,將解的適應(yīng)度作為評判是否丟棄解的一個度量.
人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,即ANN)算法由正向傳播和誤差的反向傳播兩個階段組成[5].多層神經(jīng)網(wǎng)絡(luò)可任意精度逼近連續(xù)函數(shù)[6].由于云服務(wù)價格預(yù)測問題本身比較復(fù)雜,較多的因素與價格之間關(guān)系復(fù)雜,數(shù)據(jù)量大且繁雜,很難發(fā)現(xiàn)內(nèi)部規(guī)律,考慮到人工神經(jīng)網(wǎng)絡(luò)特點為對非線性關(guān)系有很強的適用性,且能夠從大量的數(shù)據(jù)中發(fā)現(xiàn)規(guī)律,因此本文將使用改進的人工神經(jīng)算法對云服務(wù)價格預(yù)測問題進行研究.改進的人工神經(jīng)網(wǎng)絡(luò)的云服務(wù)價格預(yù)測模型的影響因素為:國家政策干預(yù)、業(yè)內(nèi)競爭、用戶偏好、服務(wù)類型、VCPU、ECU、內(nèi)存大小和實例存儲.
將改進的人工神經(jīng)網(wǎng)絡(luò)算法用于云服務(wù)價格預(yù)測模型的制定問題,主要建模步驟如圖1.
圖1 基于改進人工神經(jīng)網(wǎng)絡(luò)云服務(wù)價格預(yù)測流程圖
1)數(shù)據(jù)采集
數(shù)據(jù)主要分為兩類,內(nèi)部因素和宏觀經(jīng)濟.其中內(nèi)部因素有:服務(wù)類型、虛擬CPU核數(shù)、ECU、內(nèi)存大小、以及實例存儲.
根據(jù)Amazon官網(wǎng)給出的信息把服務(wù)類型,以國際評價標準SLA由低到高分別抽象為數(shù)字1~5用以評價服務(wù)類型對價格的影響.虛擬機CPU核數(shù)、ECU和內(nèi)存大小來源于Amazon官網(wǎng)給出的實際數(shù)據(jù),而實例存儲的數(shù)據(jù)是根據(jù)當前網(wǎng)上售賣價格.屬于宏觀因素的是國家政策干預(yù)、業(yè)內(nèi)競爭和用戶偏好.國家政策干預(yù)不能直接得到,因此,我們通過所在地區(qū)的GDP間接得到國家政策干預(yù)對云服務(wù)價格的影響.用戶偏好數(shù)據(jù)信息通過某社管平臺給出的Amazon云服務(wù)的下載量從而間接反映對價格的影響.業(yè)內(nèi)競爭數(shù)據(jù)信息通過Amazon云服務(wù)的下載量與百度云的下載量的比值體現(xiàn),若比值大于1說明Amazon云服務(wù)比百度云占優(yōu)勢;若比值小于1說明百度云比Amazon云服務(wù)占優(yōu)勢.
2)數(shù)據(jù)預(yù)處理
設(shè)計人工神經(jīng)網(wǎng)絡(luò)時,首先需對輸入變量和輸出變量進行歸一化處理,歸一化公式如下:
(5)
(6)
3)構(gòu)建ANN網(wǎng)絡(luò)
對于CS-ANN神經(jīng)網(wǎng)絡(luò)采用四層的人工神經(jīng)網(wǎng)絡(luò),該模型由每組數(shù)據(jù)的8項元素指標作為輸入,以價格作為輸出,則輸入層神經(jīng)元個數(shù)為8,輸出層神經(jīng)元個數(shù)為1,layer1層神經(jīng)元個數(shù)設(shè)置為2,layer2神經(jīng)元個數(shù)設(shè)置為4,所以建立8-2-4-1的網(wǎng)絡(luò)結(jié)構(gòu).網(wǎng)絡(luò)結(jié)構(gòu)示意圖如圖2.
圖2 改進人工神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示意圖
4)CS解碼
在初始化人工神經(jīng)網(wǎng)絡(luò)時,初始化的過程來近似地滿足維持激活方差和反向傳播grad的目標,當網(wǎng)絡(luò)向上或向下移動時,會發(fā)生變化.因此為了避免變化浮動過大,我們通過Cuckoo Search算法計算得到最合適的鳥窩的位置best,把這些最佳鳥窩的位置作為輸入層的初始權(quán)值.
5)訓(xùn)練網(wǎng)絡(luò)
為了提高收斂速度,我們需要選擇高效的訓(xùn)練方法.現(xiàn)有的人工神經(jīng)網(wǎng)絡(luò)的訓(xùn)練方法有:Gradient descent、Newton’s method、Conjugate gradient、Quasi-Newton method和Levenberg-Marquardt(LM算法)等.LM算法是介于Newton’s method與Gradient descent之間的一種非線性優(yōu)化方法,對于過參數(shù)化問題不敏感且能有效處理冗余參數(shù)問題,從而大大降低代價函數(shù)陷入局部極小值的機會.因此,我們采用LM算法作為訓(xùn)練算法,當滿足終止條件后,得到訓(xùn)練好的改進的人工神經(jīng)網(wǎng)絡(luò).
6)誤差分析
將測試集代入訓(xùn)練后的ANN網(wǎng)絡(luò),得到測試結(jié)果,進行反歸一化處理,將結(jié)果與真實數(shù)據(jù)比較,進行誤差分析.
1)算法1 改進布谷鳥算法(Improved Cuckoo Search Algorithm,ICS)
輸入:鳥巢的數(shù)量n
輸出:最佳巢穴的位置best
1. begin
2.初始化鳥巢的位置xi(t),(i=1,2,...,n)
3.計算適應(yīng)度fi
對照組中,20例患者的年齡范圍為26~41歲,年齡均值為(33.02±3.55)歲,其子宮肌瘤直徑范圍為 4.0~11.0 cm,均值為(6.20±1.33)cm,其中 14 例患者為單發(fā)肌瘤,6例患者為多發(fā)肌瘤。
4.whilet 5. for i=1 ton 6.利用Levy飛行生成新解vi(t+1) 7.ifvi(t+1)優(yōu)于xi(t) 8.xi(t+1)=vi(t+1) 9.else 10.xi(t+1)=vi(t) 11.end 12.fori=1 ton 13.根據(jù)式(3)和式(4)計算新的ri' 14.ifri'≥pa 15.利用偏好游走得到新解xi(t+1) 16.end 17.保留目前為止發(fā)現(xiàn)的最優(yōu)解 18.end 19.輸出最優(yōu)解 20.end 算法2 改進人工神經(jīng)網(wǎng)絡(luò)算法(Improved Artificial Neural Network Algorithm,IANNA) 輸入:原始數(shù)據(jù)集data 輸出:預(yù)測價格outputy 1.begin 2.輸入原始數(shù)據(jù)集p=data(1∶8,1∶150)和t=data(9,1∶150) 3.對p和t利用式(5)進行歸一化處理 4.依據(jù)系統(tǒng)時鐘種子產(chǎn)生隨機數(shù)rand和噪音強度NoiseVar 5.將噪音添加到輸出樣本上記為out 6.設(shè)置參數(shù)MaxEpochs,lr,e,w1=best,b1, w2,b2,w3,b3 7.for i=1:MaxEpochs%正向傳播 8.layer1=tansig(w1 * pn+repmat(b1,150)) 9.layer2=tansig(w2*layer1+repmat(b2,1,150)) 10.netOut=w3*layer2+repmat(b3,1,150) 11.end 12.error=out-netOut 13.sse=sumsqr(error) 14.errHistory=[errHistory,sse] 15. if sse 16.%反向傳播Delta3=error;Delta2=w3'*Delta3.*layer2.*(1-layer2) 17.Delta1=w2'*Delta2.*layer1.*(1-layer1) 18.對w3、b3、w2、b2、w1、b1求偏導(dǎo)數(shù) 19.對各層之間的權(quán)值和閾值進行修正 20.layer1=tansig(w1*pn + repmat(b1,1,150)) layer2=tansig(w2*layer1+repmat(b2,1,150)) netOut=w3*layer2+repmat(b3,1,150) 21.a=mapminmax('reverse',tn,ts);%還原輸出層的結(jié)果 22.end 為了驗證本文方法的可行性,重點針對Amazon公司提供的有關(guān)云服務(wù)定價的內(nèi)部數(shù)據(jù)和酷傳網(wǎng)站提供的宏觀經(jīng)濟的數(shù)據(jù)進行預(yù)處理.根據(jù)預(yù)處理后的數(shù)據(jù),通過人工神經(jīng)網(wǎng)絡(luò)的方法,構(gòu)造云服務(wù)定價預(yù)測模型.由于數(shù)據(jù)比較繁多,根據(jù)隨機抽取的原則從原始數(shù)據(jù)中抽取200組數(shù)據(jù)作為本實驗的樣本空間,對其進行研究分析. 將200組有效的云服務(wù)價格數(shù)據(jù)劃分為訓(xùn)練樣本和測試樣本,其中,訓(xùn)練樣本150組,主要用于建立云服務(wù)價格預(yù)測模型,測試樣本50組,主要驗證云服務(wù)價格預(yù)測模型的優(yōu)劣性.改進的人工神經(jīng)網(wǎng)絡(luò)參數(shù)設(shè)置如下:最大的迭代次數(shù)Iteration=5 000,輸入神經(jīng)元數(shù)量inputNum=8,隱含層1神經(jīng)元數(shù)量hiddenNum1=2,隱含層2神經(jīng)元數(shù)量hiddenNum2=4和輸出層神經(jīng)元數(shù)量outputNum=1,訓(xùn)練目標誤差goal=5×10-6. 為了探究各因素對價格影響的關(guān)系,進行了如下試驗分析. 圖3表示VCPU核數(shù)對價格的影響,從其趨勢可知,云服務(wù)價格隨著VCPU核數(shù)的增加而增加,且VCPU與云服務(wù)價格之間并不是線性關(guān)系.VCPU核數(shù)對于云服務(wù)價格的影響程度較大,故VCPU核數(shù)是云服務(wù)價格預(yù)測不可忽略的因素之一. 圖3 VCPU的核數(shù)對價格影響的折線圖 圖4表示ECU的大小對云服務(wù)價格的影響,從圖4可知云服務(wù)價格隨著ECU的增加而增加,隨著ECU的減小而減少,且ECU大小對云服務(wù)價格產(chǎn)生了較大的影響.故ECU大小是云服務(wù)定價的重要因素之一. 圖4 ECU大小對價格影響的折線圖 圖5表示內(nèi)存大小對云服務(wù)價格的影響.從圖5的基本趨勢可知,云服務(wù)價格隨著內(nèi)存空間大小的增加而增加,且占用內(nèi)存空間的大小與云服務(wù)價格之間并不是簡單的線性關(guān)系.故內(nèi)存空間大小是云服務(wù)價格預(yù)測不可忽略的因素之一. 圖5 內(nèi)存空間大小對價格影響的折線圖 圖6表示實例存儲對云服務(wù)價格的影響.從圖6基本趨勢可知,云服務(wù)價格隨著實例存儲的增加而增加,且實例存儲對于云服務(wù)價格的影響程度較大,故實例存儲是云服務(wù)價格預(yù)測不得不考慮的因素. 圖6 實例存儲大小對價格影響的折線圖 圖7表示服務(wù)類型對云服務(wù)價格的影響.服務(wù)類型分別有內(nèi)存優(yōu)化、存儲優(yōu)化、GPU實例、計算優(yōu)化、通用性按逆序排列.從圖7可知,對于內(nèi)存優(yōu)化的價格最高,其次是存儲優(yōu)化的服務(wù)價格比較高,最后是GPU實例服務(wù)高于計算優(yōu)化服務(wù)和通用服務(wù)的價格,計算優(yōu)化的服務(wù)高于通用服務(wù)的價格.服務(wù)類型對于云服務(wù)價格產(chǎn)生一定的影響,故服務(wù)類型是云服務(wù)價格預(yù)測的一個重要因素. 圖7 服務(wù)類型對價格影響的折線圖 圖8表示GDP對云服務(wù)價格的影響,從其基本趨勢可知,云服務(wù)價格隨著GDP金額的增加而增加,且GDP對于云服務(wù)價格產(chǎn)生一定的影響,故GDP是云服務(wù)價格預(yù)測參考因素之一. 圖8 GDP對價格影響的折線圖 圖9表示偏好程度對云服務(wù)價格的影響,且從圖9可知云服務(wù)價格隨著偏好程度的增加而增加,且偏好程度對云服務(wù)價格造成部分影響.故偏好程度是云服務(wù)定價的重要因素之一. 圖9 偏好程度對價格影響的折線圖 為了驗證本文模型運行云服務(wù)價格預(yù)測的優(yōu)越性,將其與BP神經(jīng)網(wǎng)絡(luò)、RBF神經(jīng)網(wǎng)絡(luò)、ANN神經(jīng)網(wǎng)絡(luò)的預(yù)測結(jié)果分別進行對比,對比結(jié)果如圖10、11所示.將處理過的數(shù)據(jù)分別帶入BP神經(jīng)網(wǎng)絡(luò)、RBF神經(jīng)網(wǎng)絡(luò)、人工神經(jīng)網(wǎng)絡(luò)(ANN)和改進的人工神經(jīng)網(wǎng)絡(luò)(CS-ANN)模型當中,將云服務(wù)預(yù)測價格與原始云服務(wù)價格進行對比,訓(xùn)練集學(xué)習進行模擬預(yù)測云服務(wù)價格圖像如圖10所示.由圖10可以看出,針對云服務(wù)價格預(yù)測問題而言,改進人工神經(jīng)網(wǎng)絡(luò)的學(xué)習能力最好,非常接近原始價格,人工神經(jīng)網(wǎng)絡(luò)的學(xué)習能力次之,之后是BP神經(jīng)網(wǎng)絡(luò)的學(xué)習能力較強,而RBF神經(jīng)網(wǎng)絡(luò)的學(xué)習能力較弱.利用原始數(shù)據(jù)的151~200的數(shù)據(jù)集進行模擬預(yù)測價格,其結(jié)果如圖11所示.從圖11可得出,改進的人工神經(jīng)網(wǎng)絡(luò)的云服務(wù)預(yù)測價格幾乎接近實際價格,BP神經(jīng)網(wǎng)絡(luò)和人工神經(jīng)網(wǎng)絡(luò)預(yù)測云服務(wù)價格的能力次之,預(yù)測能力較差的是RBF神經(jīng)網(wǎng)絡(luò). 圖10 訓(xùn)練集預(yù)測云服務(wù)價格折線圖 圖11 測試集預(yù)測云服務(wù)價格折線圖 為了進一步評價云服務(wù)價格預(yù)測效果,我們選擇平均絕對誤差(MAE)、均方根誤差(RMSE)和平均絕對百分比誤差(MAPE)作為評價指標.由于RMSE用于衡量實際值與預(yù)測值之間的誤差,計算RMSE的值越小,表示云服務(wù)價格預(yù)測精度越高,反之,云服務(wù)價格預(yù)測精度越低.平均絕對誤差MAE能夠更好地反映云服務(wù)預(yù)測價格誤差的實際情況,計算MAE的值越小表示云服務(wù)預(yù)測價格的能力越好.平均絕對百分比誤差可以衡量模型預(yù)測結(jié)果的好壞,其值越小說明云服務(wù)預(yù)測價格的效果越好. (7) (8) (9) 結(jié)合圖10、圖11和表1不同神經(jīng)網(wǎng)絡(luò)的云服務(wù)價格預(yù)測結(jié)果(其數(shù)據(jù)將精確到萬分位)可知,在MAE、RMSE和MAPE三個指標上,本文提出的基于Tiebout模型和改進人工神經(jīng)網(wǎng)絡(luò)預(yù)測模型的精度最高,優(yōu)于BP神經(jīng)網(wǎng)絡(luò)、RBF神經(jīng)網(wǎng)絡(luò)和人工神經(jīng)網(wǎng)絡(luò)預(yù)測模型;其次,人工神經(jīng)網(wǎng)絡(luò)的預(yù)測效果優(yōu)于BP神經(jīng)網(wǎng)絡(luò)、RBF神經(jīng)網(wǎng)絡(luò);最后,BP神經(jīng)網(wǎng)絡(luò)的預(yù)測效果優(yōu)于RBF神經(jīng)網(wǎng)絡(luò)預(yù)測,且RBF預(yù)測模型在MAE、RMSE和MAPE分別比CS-ANN預(yù)測模型低2.474 8、3.806 5和0.233 8%,且本文提出的模型計算MAE、RMSE和MAPE的值都較小,表示其云服務(wù)預(yù)測價格非常精確. 表1 不同算法云服務(wù)價格預(yù)測結(jié)果對比 通過對比可知,本文提出的CS-ANN預(yù)測模型可有效的提高云服務(wù)價格預(yù)測精度. 針對現(xiàn)有算法進行云服務(wù)價格預(yù)測存在精度低和滯后性大的缺點,提出一種基于Tiebout模型和改進人工神經(jīng)網(wǎng)絡(luò)的云服務(wù)價格預(yù)測模型.通過運用人工神經(jīng)網(wǎng)絡(luò)對價格進行預(yù)測,實現(xiàn)云服務(wù)價格的預(yù)測.實驗結(jié)果表明,本文提出的Tiebout model和改進人工神經(jīng)網(wǎng)絡(luò)的組合模型可有效提高云服務(wù)價格預(yù)測精度,以期為云服務(wù)價格預(yù)測提供新的方法和途徑.3 驗證實驗
3.1 因素分析
3.2 對比試驗
4 結(jié)論