1.一種安卓應(yīng)用的推薦方法,包括如下步驟:
S1.采用安卓應(yīng)用自動執(zhí)行工具執(zhí)行所有需要推薦的安卓應(yīng)用,并使用記錄工具捕獲需要推薦的安卓應(yīng)用在執(zhí)行過程中產(chǎn)生的網(wǎng)絡(luò)流量數(shù)據(jù);
S2.根據(jù)步驟S1獲取的網(wǎng)絡(luò)流量數(shù)據(jù),從安卓應(yīng)用總體情況、安卓應(yīng)用網(wǎng)絡(luò)流量開銷成分和相同功能的其他安卓應(yīng)用網(wǎng)絡(luò)流量開銷三個方面,對需要推薦的安卓應(yīng)用進(jìn)行統(tǒng)計(jì);
S3.根據(jù)步驟S2得到的統(tǒng)計(jì)數(shù)據(jù)結(jié)果,構(gòu)建安卓應(yīng)用及其網(wǎng)絡(luò)流量開銷的二分圖;
S4.使用規(guī)則化隨機(jī)游走算法對安卓應(yīng)用的網(wǎng)絡(luò)流量開銷進(jìn)行評分;
S5.根據(jù)步驟S4得到的評分結(jié)果,采用基于變異系數(shù)的等級劃分算法對每個安卓應(yīng)用的網(wǎng)絡(luò)流量開銷進(jìn)行等級劃分;
S6.根據(jù)步驟S5得到的等級劃分結(jié)果、安卓應(yīng)用的流行度和安卓應(yīng)用的網(wǎng)絡(luò)流量開銷對安卓應(yīng)用進(jìn)行排序;
S7.構(gòu)造安卓應(yīng)用哈希矩陣,并根據(jù)構(gòu)造的安卓應(yīng)用哈希矩陣和步驟S6的安卓應(yīng)用排序結(jié)果,采用現(xiàn)代證券投資組合理論完成安卓系統(tǒng)網(wǎng)絡(luò)應(yīng)用的推薦。
2.根據(jù)權(quán)利要求1所述的安卓應(yīng)用的推薦方法,其特征在于步驟S1所述的網(wǎng)絡(luò)流量數(shù)據(jù),包括四類:第一、安卓應(yīng)用和自身服務(wù)器交換數(shù)據(jù)產(chǎn)生的流量;第二、安卓應(yīng)用中嵌入的第三方庫產(chǎn)生的網(wǎng)絡(luò)流量;第三、安卓應(yīng)用與CDN或者云服務(wù)器通信產(chǎn)生的網(wǎng)絡(luò)流量;第四、安卓應(yīng)用與其他類型服務(wù)器通信產(chǎn)生的網(wǎng)絡(luò)流量。
3.根據(jù)權(quán)利要求1或2所述的安卓應(yīng)用的推薦方法,其特征在于步驟S2所述的對網(wǎng)絡(luò)流量數(shù)據(jù)進(jìn)行統(tǒng)計(jì),具體包括:
1)統(tǒng)計(jì)每一類安卓應(yīng)用的總體流量數(shù)據(jù)情況;
2)根據(jù)訪問服務(wù)器的類型不同,統(tǒng)計(jì)安卓應(yīng)用訪問網(wǎng)絡(luò)的數(shù)據(jù)類別和數(shù)據(jù)流量情況;
3)統(tǒng)計(jì)相同功能的其他安卓應(yīng)用的網(wǎng)絡(luò)流量數(shù)據(jù)情況。
4.根據(jù)權(quán)利要求1或2所述的安卓應(yīng)用的推薦方法,其特征在于步驟S3所述的構(gòu)建安卓應(yīng)用及其網(wǎng)絡(luò)流量開銷的二分圖,具體為:
設(shè)G={V,E,W}為二分圖,其中V={Va,Vh}表示結(jié)點(diǎn)集合,Va={a1,a2,...,aM}表示安卓應(yīng)用集合,Vh={h1,h2,...,hN}表示應(yīng)用所訪問的不同類型的主機(jī)集合;E表示邊集合,當(dāng)且僅當(dāng)應(yīng)用ai在操作中和主機(jī)hj建立連接,eij∈E才成立;W表示邊的權(quán)重集合,wij∈W代表每條邊的權(quán)重,同時(shí)也表示安卓應(yīng)用ai在運(yùn)行過程中可能訪問主機(jī)hj的概率;權(quán)重的計(jì)算公式如下:
其中,fij表示在應(yīng)用類別c中訪問主機(jī)hj的安卓應(yīng)用個數(shù),參數(shù)P表示在應(yīng)用類別c中每個安卓應(yīng)用訪問主機(jī)hj所產(chǎn)生的網(wǎng)絡(luò)流量大小占該應(yīng)用類別中所有應(yīng)用訪問主機(jī)hj所產(chǎn)生的網(wǎng)絡(luò)流量大小的比例;
此外,分別對每個安卓應(yīng)用和所訪問的主機(jī)類型進(jìn)行向量化,即和并通過余弦距離公式來計(jì)算兩個應(yīng)用之間潛在的相似度,計(jì)算公式如下:
類似的,兩個訪問主機(jī)類型之間的潛在相似度可以定義為
5.根據(jù)權(quán)利要求1或2所述的安卓應(yīng)用的推薦方法,其特征在于步驟S4所述的使用規(guī)則化隨機(jī)游走算法對安卓應(yīng)用的網(wǎng)絡(luò)流量開銷進(jìn)行評分,具體為:
定義兩類網(wǎng)絡(luò)流量開銷評分TrafficCost(ai)和TrafficCost(hj);TrafficCost(ai)表示安卓應(yīng)用的網(wǎng)絡(luò)流量開銷評分,TrafficCost(hj)表示該主機(jī)類型的全局的網(wǎng)絡(luò)流量開銷;
其次,設(shè)計(jì)規(guī)則化框架對上述的兩類評分的平滑性進(jìn)行規(guī)則化,并定義開銷函數(shù)如下公式所示:
其中,λ,μ表示規(guī)則化參數(shù),分別表示TrafficCost(ai),TrafficCost(hj),表示通過外部知識推導(dǎo)出來的安卓應(yīng)用網(wǎng)絡(luò)流量開銷評分;上述公式由三個部分組成:第一部分是被參數(shù)λ所控制,并定義兩類網(wǎng)絡(luò)流量開銷評分符合先驗(yàn)知識的約束條件;第二部分是被參數(shù)μ所控制,并定義二分圖中的網(wǎng)絡(luò)流量開銷評分的整體一致性;第三部分是安卓應(yīng)用和所訪問的主機(jī)類型之間的平滑約束條件;
網(wǎng)絡(luò)流量開銷的評分問題轉(zhuǎn)化為尋找最優(yōu)的的優(yōu)化問題:使用梯度下降法計(jì)算最小化開銷函數(shù)ρ。
6.根據(jù)權(quán)利要求5所述的安卓應(yīng)用的推薦方法,其特征在于所述的使用梯度下降法計(jì)算最小化開銷函數(shù)ρ,具體為:
指定并通過下述兩個公式來迭代更新這兩個變量的值直到為0:
在每次迭代之后,的值都要重新標(biāo)準(zhǔn)化;并當(dāng)結(jié)果聚集后,即得到優(yōu)化后的網(wǎng)絡(luò)流量開銷評分。
7.根據(jù)權(quán)利要求6所述的安卓應(yīng)用的推薦方法,其特征在于所述的指定的值為采用基于概率的先驗(yàn)信息貝葉斯方法來指定。
8.根據(jù)權(quán)利要求7所述的安卓應(yīng)用的推薦方法,其特征在于所述的采用基于概率的先驗(yàn)信息貝葉斯方法來指定的值,具體為:
建立一個具有參數(shù)θ的貝葉斯模型,參數(shù)θ是服從Beta先驗(yàn)分布,Beta(θ;α0,β0),其概率可以通過下述公式來確定:
其中,M表示數(shù)據(jù)集中安卓應(yīng)用的數(shù)目,xi,j是一個二元的函數(shù),當(dāng)值為1的時(shí)候表示該安卓應(yīng)用在運(yùn)行時(shí)產(chǎn)生了該類型的網(wǎng)絡(luò)流量開銷,0則表示沒有產(chǎn)生該類型的網(wǎng)絡(luò)流量開銷;安卓應(yīng)用的網(wǎng)絡(luò)流量開銷評分hj和安卓應(yīng)用ai可以通過和來確定,hk∈ai。
9.根據(jù)權(quán)利要求1或2所述的安卓應(yīng)用的推薦方法,其特征在于步驟S6所述的對安卓應(yīng)用進(jìn)行排序,具體為按照步驟S5劃分的等級,在每個等級內(nèi)進(jìn)行排序:
基于網(wǎng)絡(luò)流量開銷評分的排序方式:首先根據(jù)網(wǎng)絡(luò)流量開銷評分降序來排序安卓應(yīng)用;若某些應(yīng)用具有相同的網(wǎng)絡(luò)流量開銷評分,那么將對這類應(yīng)用按照流行度評分進(jìn)行排序;
基于流行度評分的排序方式:首先根據(jù)流行度評分降序來排序安卓應(yīng)用;若某些應(yīng)用具有相同的流行度評分,那么將對這類應(yīng)用按照網(wǎng)絡(luò)流量開銷評分進(jìn)行排序。
10.根據(jù)權(quán)利要求1或2所述的安卓應(yīng)用的推薦方法,其特征在于步驟S7所述的采用現(xiàn)代證券投資組合理論完成安卓系統(tǒng)網(wǎng)絡(luò)應(yīng)用的推薦,具體為:
在現(xiàn)代證券投資組合理論中,股票被認(rèn)作安卓應(yīng)用,未來的收益和風(fēng)險(xiǎn)分別認(rèn)作安卓應(yīng)用的流行度和網(wǎng)絡(luò)流量開銷;一個安卓應(yīng)用的證券投資組合γ可以用一組安卓應(yīng)用來表示,該組包含了n個安卓應(yīng)用,并且每個安卓應(yīng)用都有相應(yīng)的權(quán)重ωi,證券投資組合γ可以通過以下公式計(jì)算得到:
其中,權(quán)重ωi用來確定安卓應(yīng)用的排序,即根據(jù)安卓應(yīng)用的權(quán)重以降序的方式進(jìn)行排序;
對安卓應(yīng)用組合的未來收益E[γ]進(jìn)行定義:
其中Δi表示安卓應(yīng)用ai根據(jù)流行度排序的列表ΛPop;同樣的,根據(jù)以下公式定義安卓應(yīng)用組合的未來風(fēng)險(xiǎn)R[γ]:
其中Γi表示安卓應(yīng)用基于網(wǎng)絡(luò)流量開銷排序的列表ΛTrafficcost,Jij表示安卓應(yīng)用ai和aj之間的網(wǎng)絡(luò)流量開銷相互關(guān)系;
根據(jù)產(chǎn)生的網(wǎng)絡(luò)流量開銷的相似度來確定Jij的值:其中相似度通過以下算式計(jì)算Jaccard系數(shù)來得到:
其中Ni表示安卓應(yīng)用ai在運(yùn)行過程中所生成的不同的網(wǎng)絡(luò)流量類型的數(shù)目,Nij表示兩個安卓應(yīng)用ai和aj在運(yùn)行過程中所生成共同的網(wǎng)絡(luò)流量類型數(shù)目;
確定一組安卓應(yīng)用的權(quán)重,并以此來確定安卓應(yīng)用組合γ具有最大化的未來收益和最小化的風(fēng)險(xiǎn),計(jì)算公式如下所示:
其中b表示特定的網(wǎng)絡(luò)流量開銷偏好參數(shù),是由給定的網(wǎng)絡(luò)流量開銷等級L*所定義;通過優(yōu)化權(quán)重ω來得到上述公式的最優(yōu)解:
其中,E*可以通過以下公式計(jì)算得到,
其中,x=1TΣ-11,y=1TΣ-1E,z=ETΣ-1E。