史艷翠,張 弛
(天津科技大學(xué)人工智能學(xué)院,天津 300457)
近年來,隨著個人手持終端設(shè)備的快速發(fā)展以及全球定位系統(tǒng)(global positioning system,GPS)定位技術(shù)的日漸成熟,研究人員和商業(yè)機構(gòu)很容易獲得大量的個人地理位置信息[1].大型軟件服務(wù)商也可以在用戶授權(quán)的前提下獲得豐富的位置和軌跡信息,進而為用戶提供基于位置的服務(wù)[2],例如定位、導(dǎo)航、移動中的搜索等功能服務(wù).如何利用時空軌跡數(shù)據(jù)為用戶提供便捷的推薦服務(wù),這類問題成為科研人員關(guān)注的重點[3].對個人活動空間的計算分析,可以挖掘出個體的移動模式、城市的熱點區(qū)域、興趣點分布等信息[4],為城市生活提供有力的數(shù)據(jù)支撐和高效的服務(wù).在推薦系統(tǒng)研究領(lǐng)域中,基于興趣點的推薦是應(yīng)用較為廣泛的推薦方法.
目前基于興趣點的推薦算法很大程度上依賴于以下兩點:已有的軌跡中相似的時空運動軌跡[5]數(shù)據(jù)以及對個體和群體行為的分析結(jié)果.典型的應(yīng)用場景有行人及車輛軌跡、社交網(wǎng)站簽到等.上述應(yīng)用場景都是以人類社會活動產(chǎn)生的數(shù)據(jù)為基礎(chǔ),通過對用戶行為進行分析得到社會中人群的移動模式、城市的熱點區(qū)域、興趣點分布等信息,進而達到讓城市生活更加便捷、減少道路擁堵等目的,最終產(chǎn)生了基于興趣點的推薦系統(tǒng).這類研究的對象往往都是靜態(tài)興趣點+動態(tài)用戶,并且研究的關(guān)注點大都集中在對動態(tài)用戶軌跡的分析預(yù)測問題上,而缺少對興趣點位置變化的關(guān)注.
然而,現(xiàn)實世界的需求是動態(tài)變化的,興趣點并非都是靜態(tài)的.本文針對可移動性興趣點進行了研究.一個典型的場景是深圳普思英察科技有限公司(PerceptIn公司)在中國深圳工業(yè)園區(qū)部署的無人智能售貨車.從用戶的角度看,無人智能售貨車是可移動的興趣點;從無人智能售貨車的角度看,用戶對其來說也是可移動的興趣點.這種商業(yè)形式的推薦服務(wù)需要考慮移動性因素,這與傳統(tǒng)靜態(tài)形式的推薦服務(wù)有著本質(zhì)上的區(qū)別.因此,在推薦系統(tǒng)研究中,將靜態(tài)興趣點拓展到可移動興趣點的情景上并實現(xiàn)相應(yīng)的推薦算法,是一個研究創(chuàng)新點,也是一個研究難點.這種擴展在現(xiàn)實生活中具有廣泛的應(yīng)用環(huán)境以及對應(yīng)的推薦場景[6].
本文主要解決的問題、實現(xiàn)方法以及創(chuàng)新點如下:
(1)通過賦予興趣點時空軌跡來引入興趣點的可移動性,并解決動態(tài)環(huán)境下推薦算法的需求問題.
(2)對用戶的時空軌跡信息進行提取,然后利用特征層級的遷移學(xué)習(xí)策略提升網(wǎng)絡(luò)的預(yù)測能力和泛化能力,利用對比學(xué)習(xí)擴展訓(xùn)練數(shù)據(jù)的樣本規(guī)模.為了使擴展后數(shù)據(jù)集的概率分布不變,本文使用了最大均值差異度量方法(maximum mean discrepancy,MMD)以及 TrAdaBoost+最大期望(expectation maximization,EM)算法對其進行兩步過濾,去除不符合要求的數(shù)據(jù).
(3)使用門控循環(huán)(gate recurrent unit,GRU)神經(jīng)網(wǎng)絡(luò)對用戶的未來時空軌跡進行預(yù)測,根據(jù)用戶的聚集方向合理地調(diào)整附近的興趣點位置.
(4)最終結(jié)合預(yù)測的時空結(jié)果,為用戶進行合理推薦,使得移動興趣點與用戶能夠在一定的時空范圍內(nèi)進行交互.
時空軌跡預(yù)測[7]的基本實現(xiàn)過程是對時空序列數(shù)據(jù)進行分析,進而完成建模并在此基礎(chǔ)上進行預(yù)測[8].可以將時空序列預(yù)測看作是對時間序列的分析在空間中的拓展,其中的時空關(guān)系會因為建模方法的不同而有所差異.Cliff等[9]在 1975年提出時空自相關(guān)移動平均模型 STARMA,并首次提出了時空序列建模的框架.Martin等[10]建立了時空自相關(guān)移動模型,該模型能夠利用時空延遲算子將時間延遲和空間延遲連接起來,從而真正地建立時空一體化模型.對于非平穩(wěn)、非線性模型,則采用時空序列混合模型,將層次貝葉斯模型、狀態(tài)空間模型和卡爾曼濾波等方法融合起來.近年來的神經(jīng)網(wǎng)絡(luò)[11-12]、支持向量機[13]等方法也被拓展并應(yīng)用到時空序列建模和預(yù)測的研究中,比如時空序列神經(jīng)網(wǎng)絡(luò) STANN[14]、時空序列支持向量機STSVR等.楊立寧等[15]提出基于奇異值分解模型和自回歸積分滑動平均模型的時空序列分解和預(yù)測,該研究結(jié)果不僅大幅度降低了訓(xùn)練時間成本,還提高了預(yù)測精度.
要解決將某個個體的時空運動預(yù)測結(jié)果推薦給其他用戶的問題,則需要使用適合的時空信息推薦算法.目前有關(guān)時空軌跡的興趣點推薦類型分為兩類:一是地點推薦,例如為用戶推薦商店、餐館等;二是行程推薦,例如為用戶推薦旅游路線、為用戶導(dǎo)航較小代價的路線.
基于興趣點的推薦系統(tǒng)的影響因素大致可歸納為 4類[16],即地理因素影響、簽到序列影響、社交網(wǎng)絡(luò)影響和地點屬性信息影響.地理因素影響是根據(jù)空間軌跡數(shù)據(jù)進行推薦,如Tobler等[17]在1970年提出第一地理學(xué)法則,該法則強調(diào)地理空間的距離是決定事物相似度的關(guān)鍵,距離越近,相似度越高.簽到序列影響是基于時空數(shù)據(jù)進行推薦,如 Saleem等[18]提出的以樹形位置軌跡模型為基礎(chǔ)的同層聚類方法.該方法雖然可以形成較好的推薦結(jié)果,但對算力的需求過高.也有研究人員提出將一天的時間進行等分,將時間分段法與第一地理學(xué)法則進行融合,生成時間興趣點推薦算法[19].社交網(wǎng)絡(luò)影響是根據(jù)社交好友信息進行推薦,如 Gao等[20]提出軌跡相似度越高則彼此是好友關(guān)系的可能性越大,這樣可以根據(jù)地理位置和社交關(guān)系為用戶推薦興趣點.地點屬性信息影響是根據(jù)用戶對被推薦地點的評價數(shù)據(jù)進行推薦,這類研究主要應(yīng)用在影院評分、餐館評分等方面.Zhao等[21]利用評價信息作為訪問地點的詞向量,在進行興趣點的相似性度量后給出推薦結(jié)果.Yin等[22-23]提出了基于貝葉斯概率模型的推薦方法,計算出用戶對新地點的感興趣程度,結(jié)合城市熱點和用戶軌跡停留點生成興趣點推薦列表.
本文在已有的研究基礎(chǔ)上,提出了一種復(fù)合神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),用于實現(xiàn)可移動性興趣點的推薦,并且進一步提高推薦結(jié)果的準(zhǔn)確率.
本文算法主要包括3個網(wǎng)絡(luò)模塊:模式GRU網(wǎng)絡(luò)模塊、點GRU網(wǎng)絡(luò)模塊以及門網(wǎng)決策模塊.
(1)模式 GRU 網(wǎng)絡(luò)模塊:通過融合遷移學(xué)習(xí)策略完成模式學(xué)習(xí),其目的是學(xué)習(xí)其他數(shù)據(jù)集中的動態(tài)時空運動模式,進而訓(xùn)練出能夠?qū)δJ竭M行預(yù)測的子網(wǎng).在學(xué)習(xí)過程中利用歸一化的方法對數(shù)據(jù)進行預(yù)處理,將不同范圍的數(shù)據(jù)整合到同一范圍內(nèi).
(2)點 GRU網(wǎng)絡(luò)模塊:通過融合對比學(xué)習(xí)策略完成點學(xué)習(xí),其目的是擴展目標(biāo)訓(xùn)練集的樣本數(shù)量.在保證擴展后樣本概率分布不變的情況下,提高網(wǎng)絡(luò)的泛化能力,訓(xùn)練出能夠根據(jù)當(dāng)前時空點預(yù)測下一位置的子網(wǎng).
(3)門網(wǎng)決策模塊:在工作時起到切換開關(guān)的作用,負(fù)責(zé)根據(jù)輸入的數(shù)據(jù)形式選擇是模式 GRU的結(jié)果作為輸出還是點GRU的結(jié)果作為輸出.
圖1(a)為本文方法網(wǎng)絡(luò)的計算流程.輸入數(shù)據(jù)由點 GRU網(wǎng)絡(luò)模塊、模式 GRU網(wǎng)絡(luò)模塊和門網(wǎng)決策模塊共同接收,由 3個網(wǎng)絡(luò)模塊協(xié)同工作,輸出最終結(jié)果.圖1(b)為本文方法網(wǎng)絡(luò)的數(shù)據(jù)和樣本處理流程.其中有兩條主線,即對比學(xué)習(xí)部分和遷移學(xué)習(xí)部分.對比學(xué)習(xí)部分:將主數(shù)據(jù)集分成測試集和訓(xùn)練集,然后利用對比學(xué)習(xí)策略將訓(xùn)練集數(shù)據(jù)樣本進行擴展,利用本文提出的兩步樣本過濾法對擴展后的數(shù)據(jù)集進行過濾處理,以確保擴展后的數(shù)據(jù)集的樣本概率分布不變,最終達到訓(xùn)練出有效的點 GRU網(wǎng)絡(luò)的目的.遷移學(xué)習(xí)部分:與主數(shù)據(jù)集相似的外部數(shù)據(jù)集能夠提供有用的時空信息,利用遷移學(xué)習(xí)可以學(xué)到不同數(shù)據(jù)集在時空運動上呈現(xiàn)出的共同規(guī)律,這些共同規(guī)律也可看作是能有效提升網(wǎng)絡(luò)預(yù)測性能的訓(xùn)練樣本.這兩部分的結(jié)果會在決策門網(wǎng)模塊的控制下進行選擇性輸出,最終得到推薦結(jié)果.引入遷移學(xué)習(xí)和對比學(xué)習(xí)策略的目的以及優(yōu)勢在于:在已有數(shù)據(jù)集規(guī)模較小的情況下,仍然能夠訓(xùn)練出預(yù)測準(zhǔn)確度高、泛化能力強的模型.
圖1 網(wǎng)絡(luò)的計算流程以及數(shù)據(jù)和樣本處理流程Fig.1 Calculation process,data and sample processing flow of the network
在本文方法中,GRU 網(wǎng)絡(luò)[24]負(fù)責(zé)分別與遷移學(xué)習(xí)策略和對比學(xué)習(xí)策略進行融合,使之能完成對點以及模式的預(yù)測.本文中 x代表數(shù)據(jù)集中一個用戶產(chǎn)生的連續(xù)時空位置信息,x ={… ,xt-1, xt, xt+1,…}.由于內(nèi)部數(shù)據(jù)點存在時間順序,因此 x本質(zhì)為向量,但在后面處理過程中需要對 x內(nèi)部的數(shù)據(jù)點進行逐個處理,為了方便,將其表示成集合的形式,其中xt為用戶在 t時刻產(chǎn)生的數(shù)據(jù)(用戶當(dāng)前的時空位置),作為本文GRU網(wǎng)絡(luò)的輸入部分.表示由用戶當(dāng)前的時空位置狀態(tài)所得的隱狀態(tài).
式中:σ為 sigmoid函數(shù);Wz、Wr為權(quán)重矩陣,用于線性變換;Uz和Ur分別為權(quán)重矩陣Wz、Wr變換后的表達形式;⊙為哈達瑪積(Hadamard product);rt為一組重置單元,若關(guān)閉重置門 rtj,重置單元將使單元忘記先前的計算狀態(tài).
重置門rtj與更新門的計算類似,為
最終得到用戶下一時刻的預(yù)測點yt作為本文GRU模塊的輸出
式中⊕表示進行矩陣加法操作.
需要注意的是,GRU網(wǎng)絡(luò)處理過程中涉及連續(xù)時空點中時間 t的概念,因此輸入和輸出的結(jié)果下標(biāo)要注明 t,但在后面的決策門網(wǎng)模塊中不涉及時間概念,因此下標(biāo)省略了時間t.
利用遷移學(xué)習(xí)策略[25]訓(xùn)練模式 GRU.利用遷移學(xué)習(xí)擴展用于訓(xùn)練神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的數(shù)據(jù)集,本文方法需要將已有的用戶時空軌跡數(shù)據(jù)、特征等高層知識進行轉(zhuǎn)化,用于解決新的軌跡預(yù)測問題.即使是不同的時空軌跡數(shù)據(jù)集,其特征空間也具有一定的共同性,這樣就可以采用樣本級遷移方法解決本質(zhì)上相同的問題.本文方法應(yīng)用到主數(shù)據(jù)集和外部數(shù)據(jù)集,其中主數(shù)據(jù)集分為訓(xùn)練集和測試集,外部數(shù)據(jù)集采用的是相同領(lǐng)域的時空點數(shù)據(jù)集合.利用從外部數(shù)據(jù)集提取到的時空軌跡對訓(xùn)練數(shù)據(jù)進行擴容,以實現(xiàn)運動模式這種高級知識的遷移學(xué)習(xí).
如圖2所示,從時間和空間的數(shù)據(jù)點角度來看,在遷移學(xué)習(xí)過程中,應(yīng)對用戶的運動模式進行遷移學(xué)習(xí),而并非對用戶具體的時空點進行遷移.
圖2 直角坐標(biāo)轉(zhuǎn)換為模式GRU的訓(xùn)練數(shù)據(jù)格式Fig.2 Convert rectangular coordinates to training data format of the mode GRU
譬如,A用戶在甲地,B用戶在乙地,考慮到甲、乙兩地可能相隔甚遠(yuǎn),且 A、B用戶所用的交通工具不同,所以 A、B兩者的坐標(biāo)無法直接進行匹配學(xué)習(xí).但是,在加速時,無論A、B用戶是步行還是駕駛車輛,A、B兩者都會出現(xiàn)坐標(biāo)逐漸稀疏,在減速過程中坐標(biāo)則會逐漸密集,對于轉(zhuǎn)彎等也有相似的運動模式.因此,應(yīng)該對不同用戶采集的數(shù)據(jù)使用密度聚類(density-based spatial clustering of applications with noise,DBSCAN)方法進行預(yù)先聚類,以解決軌跡中出現(xiàn)的因長時間駐留某地,而產(chǎn)生坐標(biāo)重復(fù)采樣的問題;然后,利用歸一化方法,消除用戶產(chǎn)生數(shù)據(jù)的度量差異,利用外部數(shù)據(jù)集構(gòu)建多個此種模式序列供GRU學(xué)習(xí),進而完成時空軌跡模式的遷移,并將模式GRU輸出的預(yù)測結(jié)果重新映射到實際空間中,達到利用模式 GRU提供可借鑒的動態(tài)軌跡模式的目的.從數(shù)據(jù)層級上實現(xiàn)動態(tài)運動模式的遷移學(xué)習(xí)是一個比較容易實現(xiàn)的操作方法,但在本文中,該方法需要著重構(gòu)建時空點鏈信息,供模式GRU進行學(xué)習(xí).
使用對比學(xué)習(xí)策略[26]對點GRU進行訓(xùn)練.對時空數(shù)據(jù) x訓(xùn)練得到一個編碼器 f,使得H ( f (x ) , f(x+))? H ( f (x ) , f(x-)),其中:x+是和 x相似的正樣本,x-是與x不相似的負(fù)樣本,H是度量函數(shù),用于度量樣本的相似度.對比學(xué)習(xí)的損失函數(shù)LN可表示為
其中E為期望.通常正負(fù)樣本都將被應(yīng)用,且正負(fù)樣本區(qū)分度越大越好,而在本文,僅使用生成的正樣本對 GRU進行訓(xùn)練,以達到擴大 GRU的訓(xùn)練樣本集和增強網(wǎng)絡(luò)泛化性能的目的.
如圖3所示:已知用戶A的運動軌跡,該軌跡所生成的正樣本集用綠色標(biāo)記,代表該用戶可能走到的點(小范圍區(qū)域);而負(fù)樣本集用紅色標(biāo)記,代表該用戶不可能走到的點(遠(yuǎn)距離區(qū)域).期望通過上述編碼器找到最大區(qū)分度的正樣本,將正樣本集合進行篩選后,供GRU訓(xùn)練使用.
圖3 對比學(xué)習(xí)策略(生成區(qū)分度高的正負(fù)樣本)Fig.3 Contrast learning strategies (generatingpositive and negative samples with high discrimination)
本文采用對比學(xué)習(xí)策略,對訓(xùn)練集進行擴容的同時,也要保證生成樣本的可用性與合理性,因而設(shè)計兩步樣本過濾法對生成的數(shù)據(jù)進行篩選.
對遷移學(xué)習(xí)算法和對比學(xué)習(xí)算法生成的樣本進行兩步過濾:第一步使用 MMD方法[27]確保樣本的總體概率統(tǒng)計特征一致;第二步使用本文提出的TrAdaBoost+EM 的算法,對樣本計分后進行進一步篩選,最終保證訓(xùn)練樣本數(shù)據(jù)擴展的有效性.
本文在MMD方法中設(shè)定兩個分布:s和r分別代表用戶時空位置源數(shù)據(jù)集(source)和用戶時空位置生成數(shù)據(jù)集(resulting).由源數(shù)據(jù)集與生成數(shù)據(jù)集組成了擴展數(shù)據(jù)集,通過函數(shù)φ(·)將數(shù)據(jù)點映射到再生核希爾伯特空間(reproducing kernel Hilbert space,RKHS),則s和r之間的MMD度量可定義為
為了篩選數(shù)據(jù),并得到符合要求的數(shù)據(jù)集,在利用 MMD方法完成第一步篩選后,得到 MMD值較小、較符合要求的待過濾數(shù)據(jù)集DFs.下一步,利用TrAdaBoost結(jié)合 EM 的思想,對源數(shù)據(jù)集和生成數(shù)據(jù)集的樣本進行判別并篩選,算法步驟如下:
輸入:首先輸入待過濾數(shù)據(jù)集DFs,設(shè)置標(biāo)簽為0;生成數(shù)據(jù)集的訓(xùn)練集Dt,設(shè)置標(biāo)簽為 1;最大迭代次數(shù)設(shè)置為 N.然后進行初始化操作,初始集合權(quán)重向量Dw=(Dw1,… ,Dwn+m);DFs樣本累計向量設(shè)為Dws=(Dws1,… ,Dwsn),Dt樣本累計向量設(shè)為 Dwt=(Dwt1,… ,Dwtm).
For loop=1,…,N(循環(huán)步驟 1—8):
1.令 D = ( DFs∪ Dt),并將 D隨機劃分為 n+m個集合,記為 D1, … ,Dn+m.
2.兩個集合的總子集數(shù)為 n+m 個.設(shè)定每個集合的權(quán)重為
式中:pt為第t個集合的權(quán)重,為t集合中第i個元素的權(quán)重.
3.D集合的統(tǒng)計參數(shù)E、M以及標(biāo)簽構(gòu)成輸入數(shù)據(jù),進行EM分類.
4.E-step:
式中:xi表示第 i個樣本;zi表示其對應(yīng)的隱含數(shù)據(jù)(xi, zi),為完全數(shù)據(jù);θj為模型參數(shù);p(·)表示概率.
5.M-step:
式中:L(·)為似然函數(shù).
6.得到 EM 的模型參數(shù) θ后,對 D內(nèi)的 n+m個集合進行判別,并計算錯誤率
式中:εt表示錯誤率,ht( xi)表示二分類預(yù)測輸出(值為 0或 1),c(xi)表示二分類實際輸出.
7.令
并更新權(quán)重w
式中:Ds為濾掉數(shù)據(jù)的數(shù)據(jù)集;Dt為剩余數(shù)據(jù)的數(shù)據(jù)集;ws和wt分別為Ds和Dt集合權(quán)重.
將數(shù)據(jù)集Dt中的數(shù)據(jù)進行重新整理得到集合Dtrans.
輸出:Dtrans= { x1, … ,xk},且 xi∈Dt;Dtrans樣本對應(yīng)的權(quán)重為 Wtrans= { wtrans.1, … ,wtrans.k},wtrans.i∈ { Ds∪Dt}且?wi< m in(Wtrans).
經(jīng)過兩步樣本過濾法的處理,得到合格的訓(xùn)練樣本集后,再根據(jù)源數(shù)據(jù)集內(nèi)的軌跡形式(根據(jù)用戶ID、時間順序)將該集合中的數(shù)據(jù)還原成各個空間軌跡x,x ={… ,xt-1, xt, xt+1,…} ,x作為訓(xùn)練GRU網(wǎng)絡(luò)的輸入數(shù)據(jù).上述過濾方法輸出中的權(quán)重用于判斷樣本是否合格,因此僅在過濾方法內(nèi)部有效,不作為GRU網(wǎng)絡(luò)的輸入數(shù)據(jù).
門網(wǎng)[28]是混合專家網(wǎng)絡(luò)的一部分,根據(jù)功能差異分為競爭型門網(wǎng)和協(xié)作型門網(wǎng).本文選擇并構(gòu)建競爭型門網(wǎng).在決策門網(wǎng)模塊中,將用戶產(chǎn)生的連續(xù)時空位置信息 x視為輸入,其中 x={…,xt-1, xt, xt+1,…},根據(jù)輸入數(shù)據(jù)的不同形式,由門網(wǎng)的決策結(jié)果決定選擇點GRU或模式GRU的計算結(jié)果作為最終輸出.
由于系統(tǒng)的輸入為連續(xù)序列,序列里的數(shù)據(jù)項包括時間、空間位置,用戶的移動狀態(tài)(例如停留、徘徊)可能會導(dǎo)致序列里的數(shù)據(jù)在位置項上發(fā)生重復(fù),因此單從序列里數(shù)據(jù)的個數(shù)來看,無法判斷應(yīng)該將哪個專家的結(jié)果作為輸出.
本方法需要訓(xùn)練出一個門網(wǎng),用于精準(zhǔn)判斷輸入數(shù)據(jù)的形式,進而選擇合適的子網(wǎng)結(jié)果作為輸出.決策門網(wǎng)模塊將輸入數(shù)據(jù)進行處理,將距離較近甚至相同的點合并.若得到的數(shù)據(jù)串較短(以長度 1為參考),會激活點 GRU 的輸出;若得到的數(shù)據(jù)串較長,將激活模式GRU的輸出.
3.1.1 數(shù)據(jù)集
本文使用了 1個主數(shù)據(jù)集和 2個外部數(shù)據(jù)集.主數(shù)據(jù)集用于訓(xùn)練并測試點 GRU網(wǎng)絡(luò)以及測試模式GRU網(wǎng)絡(luò),貫穿整個結(jié)構(gòu)的訓(xùn)練以及測試;2個外部數(shù)據(jù)集都用于訓(xùn)練模式 GRU網(wǎng)絡(luò),因此也稱為遷移學(xué)習(xí)模式中的外部數(shù)據(jù)集.
(1)主數(shù)據(jù)集:Gowalla check-in dataset,該數(shù)據(jù)集是公開數(shù)據(jù)集,其中數(shù)據(jù)項以及數(shù)據(jù)格式如圖4所示.
圖4 用戶簽到信息示例Fig.4 Example of user check-in information
(2)外部數(shù)據(jù)集:遷移學(xué)習(xí)策略部分涉及的數(shù)據(jù)集有Facebook V:Predicting Check Ins數(shù)據(jù)集和Yelp Dataset Check Ins數(shù)據(jù)集.這兩個外部數(shù)據(jù)集的數(shù)據(jù)格式與主數(shù)據(jù)集核心一致,都能夠提供用戶的時空軌跡信息,包括對比實驗中涉及的最關(guān)鍵的經(jīng)度、緯度、時間3個信息.
3.1.2 數(shù)據(jù)集分割
在主數(shù)據(jù)集中,對每個用戶的記錄信息進行分割:20%訓(xùn)練集,80%測試集.與通常實驗數(shù)據(jù)分割不同,本實驗將 20%作為訓(xùn)練數(shù)據(jù),80%作為測試數(shù)據(jù),目的在于體現(xiàn)出本文所提出的方法能夠以少量的數(shù)據(jù)驅(qū)動神經(jīng)網(wǎng)絡(luò)系統(tǒng)的優(yōu)勢.去除主數(shù)據(jù)集中簽到記錄過少的用戶內(nèi)容,比如數(shù)據(jù)集中ID為196585的用戶只有兩個時空點記錄.
3.2.1 評價指標(biāo)
與其他實驗中考察的準(zhǔn)確率、召回率等指標(biāo)不同,對本文可移動興趣點的推薦效果評價較為直接有效的方法是計算具體的空間距離誤差,所以多次實驗后,對算法的預(yù)測誤差進行統(tǒng)計分析是關(guān)鍵且切實可行的手段.在t時刻預(yù)測t+1時刻的興趣點位置,需記 錄 并 計 算 預(yù) 測 點 x′ =( p txt′+1, p tyt′+1)與 真 實 點x = (p txt+1, p tyt+1)的歐氏距離D,則
式中:x′表示預(yù)測坐標(biāo)點,x表示實際坐標(biāo)點,ptxt′+1表示預(yù)測坐標(biāo)點的橫坐標(biāo),ptyt′+1表示預(yù)測坐標(biāo)點的縱坐標(biāo),ptxt+1表示實際坐標(biāo)點的橫坐標(biāo),ptyt+1表示實際坐標(biāo)點的縱坐標(biāo).
分別整合不同算法的誤差結(jié)果并按照從小到大進行排列,得到誤差的有序集合 Q,進而得到預(yù)測結(jié)果的誤差分布,再統(tǒng)計誤差結(jié)果后算出四分位數(shù)[29],即可得到不同算法的預(yù)測誤差對比結(jié)果.四分位數(shù)Q1、Q2、Q3分別為 Q 中所有數(shù)值由小到大排列后第25%的數(shù)字、第50%的數(shù)字、第75%的數(shù)字.
3.2.2 基準(zhǔn)對照實驗的設(shè)計
采用的基準(zhǔn)方法為馬爾可夫模型+DBSCAN方法和高斯混合模型+DBSCAN方法.馬爾可夫模型和高斯混合模型都需要結(jié)合DBSCAN方法進行協(xié)同工作.其步驟如下:首先將軌跡點簇根據(jù)不同用戶整合成各個用戶的路線;然后分別利用馬爾可夫模型和高斯混合模型對用戶的路徑進行預(yù)測;最后利用DBSCAN方法將預(yù)測結(jié)果進行整合,得到用戶聚集較多的時空位置,并將該位置推薦給用戶.
3.3.1 短期可移動性興趣點推薦對比
短期可移動性興趣點的預(yù)測結(jié)果要求預(yù)測未來的1個時空點并進行3輪對比,每一輪對用戶集合隨機抽取 50%的測試樣本進行測試,統(tǒng)計出各個用戶預(yù)測誤差的四分位數(shù),并據(jù)此繪制四分位數(shù)箱式圖.
圖5展示了 3種對比算法的短期對比實驗結(jié)果.由此對比實驗結(jié)果可見,本文方法(A)和馬爾可夫模型+DBSCAN方法(B)比高斯混合模型+DBSCAN方法(C)在性能方面表現(xiàn)更優(yōu).在統(tǒng)計預(yù)測距離誤差的中位數(shù)方面,本文的方法比高斯混合模型+DBSCAN方法的中位數(shù)要低 32%~65%,比馬爾可夫模型+DBSCAN方法的中位數(shù)要低 15%~47%;可見本文方法所提供的預(yù)測結(jié)果具有更好的穩(wěn)定性.同時在幾輪預(yù)測實驗的距離誤差中位數(shù)方面,可以發(fā)現(xiàn)馬爾可夫模型+DBSCAN方法略優(yōu)于高斯混合模型+DBSCAN方法.
圖5 短期可移動性興趣點推薦對比結(jié)果Fig.5 Comparison results of short-term mobile points of interest recommendation
統(tǒng)計結(jié)果的下四分位數(shù)能夠反映可移動性興趣點預(yù)測結(jié)果的精準(zhǔn)度.從表1可見,在3輪對比實驗中,本文方法有兩輪相比于其他兩種方法有著最優(yōu)的下四分位數(shù)結(jié)果,特別是在第3輪實驗中,有25%的預(yù)測結(jié)果的絕對距離小于 0.53km(箱式圖的下邊界).這個預(yù)測結(jié)果表明本文方法在現(xiàn)實世界中也能夠較好地預(yù)測可移動興趣點的短期位置.
在對比上四分位數(shù)的統(tǒng)計結(jié)果方面,表1中本文方法也體現(xiàn)了較好的性能,具有更小的誤差.除了馬爾可夫模型+DBSCAN方法在第3輪對比實驗中表現(xiàn)出較為理想的預(yù)測誤差上四分位數(shù),本文方法比另外兩種方法的預(yù)測誤差上四分位數(shù)低25%~30%.
表1 短期可移動性興趣點推薦誤差統(tǒng)計Tab.1 Error statistics of short-term mobile pointsof interest recommendation km
在短期可移動性興趣點推薦對比實驗中,本文方法具有最優(yōu)的中位數(shù)和上四分位數(shù),在預(yù)測距離誤差方面展示了穩(wěn)定性和準(zhǔn)確性.但是,其下四分位數(shù)在其中一輪實驗中沒有取得優(yōu)勢,可能原因在于引入對比學(xué)習(xí)策略擴展訓(xùn)練集的樣本,使短期預(yù)測的誤差變大.但總體而言,引入對比學(xué)習(xí)策略和遷移學(xué)習(xí)策略能夠很好地降低預(yù)測誤差,加強預(yù)測效果的穩(wěn)定性.
3.3.2 中期可移動性興趣點推薦對比
中期可移動性興趣點的預(yù)測結(jié)果要求預(yù)測未來的第3個時空點,與短期可移動性興趣點的預(yù)測對比實驗類似,進行 3輪對比,并采用同樣的統(tǒng)計比對方式進行評估.圖6展示了 3種算法的中期對比實驗結(jié)果.從此對比實驗結(jié)果可見,高斯混合模型+DBSCAN方法已無法保證預(yù)測的準(zhǔn)確性和穩(wěn)定性,其原因在于高斯混合模型的內(nèi)在機制不如馬爾可夫模型和 GRU網(wǎng)絡(luò)具有較好的短期、中期的記憶和預(yù)測能力.在統(tǒng)計預(yù)測距離誤差的中位數(shù)方面,本文方法的誤差比另外兩種對比算法的誤差低 35%~65%,在3輪實驗中均未超過10km.
圖6 中期可移動性興趣點推薦對比結(jié)果Fig.6 Comparison results of mid-term mobile pointsof interest recommendations
表2中列出了詳細(xì)的中期可移動性興趣點推薦對比統(tǒng)計結(jié)果.馬爾可夫模型+DBSCAN方法具有較好的表現(xiàn),其學(xué)習(xí)能力和記憶能力都保證了預(yù)測結(jié)果的準(zhǔn)確性.但是,由于該方法缺少了對比學(xué)習(xí)策略和遷移學(xué)習(xí)策略的輔助,在預(yù)測過程中泛化能力不足,預(yù)測的誤差中位數(shù)較高,僅在第 1輪實驗中有最低值,為 13.36km.而本文方法在對比實驗中表現(xiàn)出更好的泛化能力,并且因為將其他數(shù)據(jù)集中的時空模式信息進行了遷移,所以表現(xiàn)出更好的預(yù)測準(zhǔn)確性.
表2 中期可移動性興趣點推薦誤差統(tǒng)計Tab.2 Error statistics of mid-term mobile points of interest recommendation km
對比實驗的結(jié)果表明,在解決可移動性興趣點推薦的問題時,本文提出的方法能夠同時發(fā)揮對比學(xué)習(xí)策略和遷移學(xué)習(xí)策略的優(yōu)勢,在樣本過濾后能保證預(yù)測結(jié)果的分布更穩(wěn)定且降低預(yù)測誤差,算法性能優(yōu)于馬爾可夫模型+DBSCAN方法以及高斯混合模型+DBSCAN方法.
本文從可移動興趣點的推薦及預(yù)測問題入手,提出了一種復(fù)合神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu).為了提高訓(xùn)練網(wǎng)絡(luò)的效果和增強網(wǎng)絡(luò)預(yù)測問題時的泛化能力,將基于樣本的遷移學(xué)習(xí)策略和對比策略進行了融合,并使用MMD方法和本文提出的TrAdaBoost+EM算法對擴容樣本進行過濾,保證了樣本的有效性、可用性、分布一致性,最終使得復(fù)合神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)能夠很好地激活內(nèi)部專家決策結(jié)構(gòu)進行推薦.
本文提出的復(fù)合神經(jīng)網(wǎng)絡(luò)和學(xué)習(xí)策略架構(gòu)比較靈活,在后續(xù)的算法改進研究中,可以考慮變換學(xué)習(xí)策略或融入更多的學(xué)習(xí)策略、擴展專家網(wǎng)絡(luò)結(jié)構(gòu)等.