宋菲菲,隋 棟,周湘貞
(1.內(nèi)蒙古電子信息職業(yè)技術(shù)學(xué)院 計(jì)算機(jī)與網(wǎng)絡(luò)安全學(xué)院,內(nèi)蒙古 呼和浩特 010011;2.北京建筑大學(xué) 電氣與信息工程學(xué)院,北京 102406;3.北京航空航天大學(xué) 計(jì)算機(jī)學(xué)院,北京 100191)
互聯(lián)網(wǎng)數(shù)據(jù)日益增長(zhǎng),學(xué)習(xí)用戶從網(wǎng)絡(luò)中獲取有效學(xué)習(xí)資源的難度提升。從用戶端來(lái)講,用戶需要花費(fèi)更多的時(shí)間來(lái)完成有價(jià)值數(shù)據(jù)的全網(wǎng)檢索[1]。因此,主流方法是通過(guò)服務(wù)端的記錄、統(tǒng)計(jì)和計(jì)算來(lái)實(shí)現(xiàn)用戶的個(gè)性化資源推薦,以解決用戶從海量數(shù)據(jù)快速獲取價(jià)值數(shù)據(jù)的問(wèn)題。當(dāng)前,基于云端的在線學(xué)習(xí)得到了學(xué)習(xí)用戶的青睞,但是在線環(huán)境資源量大、資源形式多樣化以及資源可用平臺(tái)限制等原因造成資源推送難度提升。為了實(shí)現(xiàn)資源精準(zhǔn)推薦,需要細(xì)粒度地分析學(xué)習(xí)用戶和所供資源的特征屬性,盡量去尋找兩者屬性的最小差異,為用戶匹配特征差異最小的資源。
當(dāng)前,關(guān)于智能推薦的研究較多,溫占考等[2]采用Hadoop平臺(tái)對(duì)資源進(jìn)行管理和推薦,借助Hadoop來(lái)完成海量資源管理與推送。馮興杰等[3]將Spark平臺(tái)用于大量資源推薦,以此來(lái)提高資源推薦的效率。前兩者均是基于云計(jì)算環(huán)境海量資源的推薦研究,更側(cè)重于云計(jì)算的數(shù)據(jù)推送平臺(tái)建設(shè),對(duì)微觀的資源細(xì)節(jié)及方法未深入展開(kāi)。莫恭鈿等[4]和崔建雙等[5]分別采用協(xié)同過(guò)濾算法和多分類支持向量機(jī)算法來(lái)構(gòu)建智能推薦系統(tǒng),并進(jìn)行了具體實(shí)證分析,推薦準(zhǔn)確度得到提升,但是仍無(wú)法有效體現(xiàn)微觀的資源細(xì)節(jié)。
近期,深度學(xué)習(xí)技術(shù)在人工智能領(lǐng)域表現(xiàn)十分突出,樊?,|等[6]提出基于深度神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)資源推薦算法,對(duì)資源細(xì)節(jié)的多特征屬性具有較好的識(shí)別和分類效果。因此,本文借助于深度學(xué)習(xí)算法,運(yùn)用深度學(xué)習(xí)中的廣義回歸神經(jīng)網(wǎng)絡(luò)(Generalized regression neural network,GRNN)算法對(duì)在線教學(xué)環(huán)境的資源進(jìn)行推薦。為了提高GRNN算法的資源推薦適應(yīng)度,對(duì)GRNN算法進(jìn)一步優(yōu)化,從而更進(jìn)一步提高資源推薦的準(zhǔn)確度。
學(xué)習(xí)資源推薦問(wèn)題模型包含學(xué)習(xí)者和 學(xué)習(xí)資源兩個(gè)實(shí)體模型。學(xué)習(xí)資源推薦實(shí)際上是根據(jù)學(xué)習(xí)者和學(xué)習(xí)資源的多個(gè)維度之間的特征,發(fā)現(xiàn)兩者之間特征差異最小值,進(jìn)行精準(zhǔn)匹配,推薦個(gè)性化學(xué)習(xí)資源序列的過(guò)程。考慮到在線環(huán)境下學(xué)習(xí)資源自身屬性和平臺(tái)特點(diǎn),需要選擇在線環(huán)境下用戶和資源的最關(guān)鍵特征。關(guān)于用戶和資源特征主要如表1所示[7]。
表1 用戶及資源特征描述
學(xué)習(xí)的熱點(diǎn)可以根據(jù)學(xué)習(xí)-資源次數(shù)矩陣獲得,根據(jù)表1用戶及資源特征,對(duì)特征進(jìn)行數(shù)字編碼,然后進(jìn)行特征對(duì)比求差異值,可以獲得6個(gè)對(duì)應(yīng)的特征差異函數(shù)S i(i=1,2,…,6),那么推薦模型目標(biāo)函數(shù)為
式中:ωi表示不同差異函數(shù)對(duì)整體推薦模型的權(quán)重。
根據(jù)推薦模型目標(biāo)函數(shù),針對(duì)每一個(gè)用戶,將所有可用資源特征與用戶特征差異進(jìn)行升序排序,選擇排名靠前的資源生成候選資源推薦序列。
GRNN是一個(gè)包含4層結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),相比于普通神經(jīng)網(wǎng)絡(luò),GRNN增加了求和層[8],其主要結(jié)構(gòu)如圖1所示。
圖1 GRNN結(jié)構(gòu)
下面對(duì)GRNN網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行數(shù)學(xué)描述,其網(wǎng)絡(luò)結(jié)構(gòu)主要參數(shù)如表1所示。首先,設(shè)X=
別表示GRNN的輸入和輸出矩陣。
其中x ij表示第j個(gè)樣本的第i個(gè)輸入屬性,y ij表示第j個(gè)樣本的第i個(gè)輸出,m表示輸入屬性總數(shù),n表示樣本總數(shù),k表示輸出值維度。
輸入信號(hào)經(jīng)過(guò)輸入層,通過(guò)激活函數(shù),獲得模式層結(jié)果[9]
式中:σ表示平滑因子(σ>0),αj表示第j個(gè)模式層神經(jīng)元輸出,X′為任意輸入的一個(gè)樣本,X j為第j個(gè)訓(xùn)練樣本。
在求和層,將所有模式層結(jié)果進(jìn)行加權(quán)求和[10]
σ和核函數(shù)中心對(duì)GRNN算法的訓(xùn)練影響最大,引入中心偏移因子λ,以調(diào)節(jié)核函數(shù)中心位置[12],則式(2)變?yōu)?/p>
上一節(jié)提到影響GRNN算法性能的主要是平滑因子σ和核函數(shù)中心偏移因子λ,在GRNN進(jìn)行資源推薦時(shí),考慮到σ和λ的設(shè)置難度,采用差分進(jìn)化(Differential evolution,DE)算法對(duì)σ和λ進(jìn)行優(yōu)化求解,DE算法的適應(yīng)度函數(shù)為GRNN資源推薦結(jié)果目標(biāo)函數(shù)的倒數(shù)。下面將對(duì)DE算法進(jìn)行數(shù)學(xué)描述。
設(shè)種群規(guī)模為N,屬性維度為D,交叉速率C R,每個(gè)個(gè)體的取值為[Umin,Umax],則第i個(gè)個(gè)體的j維屬性可表示為
式中:i=1,2,…,N;j=1,2,…,D;rand為(0,1)隨機(jī)數(shù)。
設(shè)第G代個(gè)體(i=1,2,…,N)的變異操作得到的第G+1代個(gè)體為[13]
式中:i≠r1≠r2≠r3,r1、r2和r3為第G代中除了編號(hào)為i的個(gè)體之外隨機(jī)的3個(gè)個(gè)體,F(xiàn)為差分縮放因子。
個(gè)體交叉方法為[14]
式中:f表示適應(yīng)度函數(shù)。當(dāng)達(dá)到最大代數(shù)Gmax時(shí),DE算法停止。
F常見(jiàn)取值為[0,2],DE的優(yōu)化過(guò)程與F值密切相關(guān),F(xiàn)值不合適將會(huì)導(dǎo)致差分進(jìn)化算法的優(yōu)化性能不高,因此在計(jì)算時(shí)引入自適應(yīng)F值策略[16]
式中:Fmin和Fmax范圍為[0,2]。
首先,輸入學(xué)習(xí)記錄樣本,然后進(jìn)行用戶和資源的特征數(shù)字編碼,接著將特征變量輸入GRNN網(wǎng)絡(luò),并通過(guò)DE算法進(jìn)行GRNN核心參數(shù)優(yōu)化,獲得穩(wěn)定的GRNN學(xué)習(xí)資源推薦模型,最后通過(guò)多次訓(xùn)練,獲得穩(wěn)定的DE-GRNN資源推薦模型。迭代停止的具體條件是特征差異是否滿足要求,也就是說(shuō)特征差異是否達(dá)到最小值,主要流程如圖2所示。
圖2 基于DE-GRNN的資源推薦
為了驗(yàn)證DE-GRNN算法在資源推薦中的性能,進(jìn)行實(shí)例仿真。數(shù)據(jù)來(lái)源為某大型在線學(xué)習(xí)平臺(tái),具體樣本數(shù)據(jù)見(jiàn)表2。為了充分驗(yàn)證DEGRNN的推薦性能,首先驗(yàn)證DE對(duì)GRNN的優(yōu)化性能,分別采用GRNN和DE-GRNN算法進(jìn)行推薦性能仿真,其次分別采用常用資源推薦算法和本文算法進(jìn)行推薦性能仿真。
表2 仿真樣本集
3.1.1 特征差異最小值性能仿真
為了驗(yàn)證DE算法對(duì)GRNN資源推薦的優(yōu)化性能,分別采用GRNN算法和DE-GRNN算法對(duì)表2中的3個(gè)樣本集進(jìn)行歸一化特征差異平均最小值性能仿真,以驗(yàn)證2種算法生成候選推薦序列的準(zhǔn)確度。
圖3~圖5均反映出DE-GRNN求解的特征差異值比GRNN算法更小,對(duì)于3個(gè)樣本集,DE-GRNN算法的特征差異平均最小值均不大于0.1,而GRNN算法特征差異平均最小值均大于0.15。從收斂性方面看,在樣本集1的特征差異最小值求解過(guò)程中,GRNN更早完成收斂,而在樣本集2和樣本集3的求解過(guò)程中,GRNN和DEGRNN算法表現(xiàn)非常接近。橫向?qū)Ρ劝l(fā)現(xiàn),隨著學(xué)習(xí)記錄條數(shù)增多,特征差異值更小。
圖3 GRNN與DE-GRNN的特征差異最小值(樣本集1)
圖4 GRNN與DE-GRNN的特征差異最小值(樣本集2)
圖5 GRNN與DE-GRNN的特征差異最小值(樣本集3)
3.1.2 穩(wěn)定性及效率仿真
為了進(jìn)一步驗(yàn)證DE算法對(duì)GRNN的優(yōu)化性能,對(duì)GRNN和DE-GRNN的特征差均值標(biāo)準(zhǔn)差和候選推薦序列求解時(shí)間進(jìn)行性能仿真,結(jié)果如表3所示。
表3 GRNN和DE-GRNN算法的標(biāo)準(zhǔn)差及推薦時(shí)間
從表3可知,DE-GRNN的特征差異均值標(biāo)準(zhǔn)差性能明顯比GRNN算法更小,其中DE-GRNN算法在樣本集1的標(biāo)準(zhǔn)差性能最優(yōu),僅為0.003 2,而GRNN的最小標(biāo)準(zhǔn)差為0.004 7。從2種算法的候選推薦序列求解時(shí)間來(lái)看,學(xué)習(xí)記錄條數(shù)越多,推薦耗時(shí)越長(zhǎng)。對(duì)比發(fā)現(xiàn),相同樣本集,DE-GRNN算法需要更多的推薦時(shí)間,但兩者運(yùn)算時(shí)間差距并不大,這是因?yàn)榻?jīng)過(guò)DE優(yōu)化后,GRNN算法能夠更快獲得更小的特征差異值,所以經(jīng)過(guò)DE優(yōu)化后,并未耗費(fèi)大量計(jì)算時(shí)間。
為了驗(yàn)證不同算法對(duì)3個(gè)樣本集的資源推薦性能,分別采用協(xié)同過(guò)濾[4]、支持向量機(jī)(Support vector machine,SVM)[5]、深度神經(jīng)網(wǎng)絡(luò)[6]和DE-GRNN算法對(duì)3個(gè)樣本集進(jìn)行訓(xùn)練。對(duì)比用戶實(shí)際選擇的學(xué)習(xí)資源和經(jīng)過(guò)4種算法推薦的候選資源序列,計(jì)算4種資源推薦系統(tǒng)的準(zhǔn)確率、召回率和F1值。
從表4可知,對(duì)于3個(gè)樣本集,DE-GRNN的資源推薦準(zhǔn)確率最高,均高于0.91,深度神經(jīng)網(wǎng)絡(luò)次之,準(zhǔn)確率都收斂于0.8以上,協(xié)同過(guò)濾和SVM表現(xiàn)較差,均未超過(guò)0.7;而在召回率和F1值方面,DE-GRNN算法的性能表現(xiàn)也高于其他3種算法。
表4 4種算法的推薦性能
為了更充分地驗(yàn)證4種算法資源推薦準(zhǔn)確率的穩(wěn)定性,分別對(duì)3個(gè)樣本集求解4種算法資源推薦準(zhǔn)確率的均方根誤差(Root mean square error,RMSE)值,其結(jié)果如圖6~圖8所示。
圖6 4種算法的推薦準(zhǔn)確率RMSE性能(樣本集1)
圖7 4種算法的推薦準(zhǔn)確率RMSE性能(樣本集2)
圖8 4種算法的推薦準(zhǔn)確率RMSE性能(樣本集3)
從圖6、圖7和圖8可知,對(duì)于3個(gè)樣本集,從推薦準(zhǔn)確率的RMSE值方面看,DE-GRNN算法的性能最優(yōu),深度神經(jīng)網(wǎng)絡(luò)次之,協(xié)同過(guò)濾表現(xiàn)最差,SVM和協(xié)同過(guò)濾算法的RMSE接近。從推薦效率方面來(lái)看,協(xié)同過(guò)濾和SVM表現(xiàn)了更優(yōu)越的性能,DE-GRNN次之,深度神經(jīng)網(wǎng)絡(luò)表現(xiàn)最差。
在樣本2、3中,也就是學(xué)習(xí)記錄條數(shù)增多時(shí),DE-GRNN的準(zhǔn)確率RMSE值在沒(méi)穩(wěn)定前都是基本高于其他對(duì)比方法的,且其穩(wěn)定速度也慢于其他方法。這是因?yàn)镈E-GRNN不同于其他方法,其性能受到特征差異最小值求解過(guò)程的直接影響,且當(dāng)特征差異接近最小值時(shí)才能趨于穩(wěn)定。
將廣義回歸神經(jīng)網(wǎng)絡(luò)應(yīng)用于推薦系統(tǒng),在訓(xùn)練樣本量充足時(shí),合理設(shè)置DE算法的交叉速率和差分縮放因子,通過(guò)DE優(yōu)化,能夠?qū)RNN算法的平滑因子和核函數(shù)中心進(jìn)行優(yōu)化求解,獲得合適的平滑因子和核函數(shù)中心,提高GRNN算法的資源推薦性能。試驗(yàn)證明,相比于常見(jiàn)資源推薦算法,本文算法能夠獲得更小的用戶-資源特征差異度值,學(xué)習(xí)資源推薦更精準(zhǔn)。后續(xù)研究將進(jìn)一步對(duì)GRNN核心參數(shù)更新進(jìn)行優(yōu)化計(jì)算,以提高GRNN推薦效率,提高這一算法在學(xué)習(xí)資源推薦中的適用度。