(空軍預(yù)警學(xué)院 武漢 430019)
戰(zhàn)場態(tài)勢(shì)具有數(shù)據(jù)海量、特征復(fù)雜、種類繁多等特點(diǎn),導(dǎo)致作戰(zhàn)用戶在使用態(tài)勢(shì)信息系統(tǒng)時(shí)存在著這樣的問題:戰(zhàn)場態(tài)勢(shì)數(shù)量呈爆炸式增長,由于作戰(zhàn)人員認(rèn)知能力的局限性,無法在任何情況下都能夠及時(shí)地明確自己的態(tài)勢(shì)需求,自然也難以從海量的戰(zhàn)場態(tài)勢(shì)挑選出合適的態(tài)勢(shì)產(chǎn)品提供給用戶。因此智能推送運(yùn)用而生,通過核心技術(shù)—推薦算法來幫助作戰(zhàn)用戶獲取到自己感興趣的態(tài)勢(shì),解決“態(tài)勢(shì)泛濫”和“態(tài)勢(shì)缺乏”的矛盾問題[1]。
顯式反饋推薦算法一般采用評(píng)分預(yù)測的方式進(jìn)行推薦。在實(shí)際運(yùn)用過程中,評(píng)分?jǐn)?shù)據(jù)往往是非常稀疏的,即只有用戶只對(duì)很小一部分的項(xiàng)目進(jìn)行評(píng)分,此時(shí)用戶偏好難以準(zhǔn)確表達(dá),而隱式反饋推薦能夠充分利用到用戶的隱式反饋行為,如用戶檢索、定制、瀏覽等行為,而這些數(shù)據(jù)往往是大量存在的,并且隨著用戶與推薦系統(tǒng)的交互越多,推薦效果越佳。針對(duì)隱式反饋推薦算法,國內(nèi)外學(xué)者展開了廣泛的研究。隱式反饋推薦算法可以分為三類:基于單類協(xié)同過濾的推薦、引入輔助信息的推薦和基于排序的推薦[2]?;趩晤悈f(xié)同過濾的推薦是基于正反饋數(shù)據(jù)和通過分布假設(shè)負(fù)反饋數(shù)據(jù)來實(shí)現(xiàn)推薦[3];引入輔助信息的推薦主要是將用戶或項(xiàng)目特征信息引入到傳統(tǒng)推薦算法[4];基于排序的推薦是將任意兩個(gè)項(xiàng)目的偏好順序進(jìn)行優(yōu)化,從而將推薦問題轉(zhuǎn)化成二分類問題[5]?;趩晤悈f(xié)同過濾的推薦利用權(quán)重或采樣的方式將負(fù)樣本集成到算法中去,使得模型不易過擬合,解釋性強(qiáng),但算法復(fù)雜度增加,訓(xùn)練結(jié)果集成方式復(fù)雜;引入輔助信息的推薦利用用戶畫像、用戶情緒、項(xiàng)目屬性信息、相似度信息、項(xiàng)目語義關(guān)聯(lián)等額外信息一定程度上,但特征提取相對(duì)困難,容易引入不必要的雜音;基于排序的推薦采用逐點(diǎn)或逐對(duì)的方式進(jìn)行排序,使得樣本復(fù)雜度降低,偏好刻畫更為準(zhǔn)確。因此,本文以貝葉斯隱式反饋推薦算法為基礎(chǔ),利用作戰(zhàn)用戶歷史定制信息作為隱式反饋訓(xùn)練數(shù)據(jù),構(gòu)建一種能夠同時(shí)利用到用戶歷史行為信息、用戶和態(tài)勢(shì)本身具備的屬性信息的推薦模型,以期能夠?qū)ψ鲬?zhàn)用戶提供個(gè)性化、智能化的態(tài)勢(shì)信息推送服務(wù)。
貝葉斯隱式反饋推薦算法是由Rendle等提出,是一種基于排序?qū)W習(xí)的個(gè)性化隱式反饋推薦框架與準(zhǔn)則,貝葉斯隱式反饋推薦算法的原理在于預(yù)測需求度未知項(xiàng)中所有項(xiàng)的需求度排序關(guān)系,然后根據(jù)預(yù)測結(jié)果,將排序高的態(tài)勢(shì)推送給作戰(zhàn)用戶[6]。該方法基于這樣的一個(gè)假設(shè):當(dāng)輸入作戰(zhàn)任務(wù)時(shí),作戰(zhàn)用戶u向態(tài)勢(shì)定制系統(tǒng)輸入自己的態(tài)勢(shì)需求,態(tài)勢(shì)定制系統(tǒng)根據(jù)用戶發(fā)出的態(tài)勢(shì)需求,通過從態(tài)勢(shì)數(shù)據(jù)庫篩選出符合用戶需求的態(tài)勢(shì)將態(tài)勢(shì)i和態(tài)勢(shì)j并展示給用戶u。用戶u定制了態(tài)勢(shì)i,卻沒有定制態(tài)勢(shì)j,則可以假設(shè)用戶u對(duì)某態(tài)勢(shì)i的需求度高于態(tài)勢(shì)j的需求度,記為(u,i)?(u,j)。
貝葉斯隱式反饋推薦算法是以矩陣分解為訓(xùn)練模型,通過最大化態(tài)勢(shì)排序的后驗(yàn)概率來獲取態(tài)勢(shì)的正確排序,從而為目標(biāo)用戶提供推送結(jié)果。假設(shè)不同用戶之間的態(tài)勢(shì)需求情況相互獨(dú)立,同一用戶對(duì)不同態(tài)勢(shì)之間的需求情況也相互獨(dú)立,則基于態(tài)勢(shì)需求度排序的后驗(yàn)概率可表示為
其中θ為矩陣分解模型要學(xué)習(xí)的參數(shù),θ=(U,V),?u為單個(gè)用戶對(duì)所有態(tài)勢(shì)的成對(duì)排序關(guān)系,p(θ)表示為矩陣分解模型的先驗(yàn)概率,p(?u|θ)表示為所有態(tài)勢(shì)成對(duì)排序的似然概率,p(θ|?u)為所有態(tài)勢(shì)成對(duì)排序的后驗(yàn)概率。
因?yàn)橐呀?jīng)假設(shè)了不同用戶之間的態(tài)勢(shì)需求情況相互獨(dú)立,因此式(1)可以進(jìn)一步變形為
要得到最合適的模型參數(shù)θ,即優(yōu)化似然概率與先驗(yàn)概率的乘積。假設(shè)每個(gè)用戶之間的態(tài)勢(shì)需求相互獨(dú)立,用戶對(duì)所有態(tài)勢(shì)的需求獨(dú)立,則根據(jù)態(tài)勢(shì)排序的獨(dú)立性、傳遞性和反對(duì)稱性,則最大化態(tài)勢(shì)成對(duì)排序的似然概率為
其中U、I分別為用戶集合和態(tài)勢(shì)集合,D+、D-分別表示為用戶與態(tài)勢(shì)有定制歷史行為和用戶與態(tài)勢(shì)無定制歷史行為的態(tài)勢(shì)集合,p(i?j|θ)即為(u,i,j),表示態(tài)勢(shì)i的排名高于j的概率。要使態(tài)勢(shì)i的排名高于j,則可以通過使p(i?j|θ)出現(xiàn)的概率越大。則態(tài)勢(shì)成對(duì)排序的似然概率可以進(jìn)一步表示為
其中σ()為sigmoid函數(shù)[7],滿足δ(x)=1/(1 +e-x),用于將用戶u對(duì)態(tài)勢(shì)i的需求度與用戶u對(duì)態(tài)勢(shì)j的需求度差值映射到區(qū)間[0 ,1] ,表示底層模型的評(píng)估函數(shù),且滿足。貝葉斯隱式反饋推薦算法進(jìn)一步假設(shè)先驗(yàn)分布服從正態(tài)分布,即:
其中∑θ為方差,結(jié)合上述公式,則貝葉斯隱式反饋推薦算法的目標(biāo)函數(shù)為
λθ為模型正則化參數(shù),用于防止模型過擬合。在得到目標(biāo)函數(shù)后,利用隨機(jī)梯度下降法[8]對(duì)目標(biāo)函數(shù)進(jìn)行參數(shù)優(yōu)化,當(dāng)模型收斂時(shí),根據(jù)優(yōu)化結(jié)果將最合適的態(tài)勢(shì)推薦給目標(biāo)用戶。
貝葉斯隱式反饋推薦算法是利用用戶—態(tài)勢(shì)需求度矩陣來確定未知項(xiàng)的排序關(guān)系,某種意義來說是根據(jù)相似的用戶有著相似的歷史行為,態(tài)勢(shì)需求情況也會(huì)相似,他們需求態(tài)勢(shì)之間的排序關(guān)系才會(huì)相似,是一種集體智慧的結(jié)晶[9]。該算法的缺點(diǎn)在沒有充分利用用戶之間或態(tài)勢(shì)之間的關(guān)系,如用戶與用戶之間存在相似類別、指揮層級(jí)、區(qū)域、年齡段、受教育程度等屬性信息,如態(tài)勢(shì)與態(tài)勢(shì)之間存在相似種類、主題、來源等屬性信息,這些屬性信息的融入將能有效提升推送質(zhì)量,并且在用戶之間沒有相似行為記錄的條件下,可以充分利用用戶或態(tài)勢(shì)的相似屬性來為目標(biāo)用戶尋找相似用戶來實(shí)現(xiàn)推送,有效緩解數(shù)據(jù)稀疏性問題。相似度信息融入到貝葉斯隱式反饋推薦算法主要包括兩個(gè)步驟:相似度計(jì)算和相似度信息正則化。
新三板等多層次資本市場是近幾年發(fā)展起來的股權(quán)交易平臺(tái),是國家推進(jìn)中小企業(yè)發(fā)展的重要舉措。但從成立至今,這些平臺(tái)總體來說由于市場活躍度不高,平臺(tái)給企業(yè)融資方面帶來的益處相對(duì)較少。國家可以適當(dāng)考慮降低這些平臺(tái)股權(quán)交易的門檻,增加市場活躍度,讓平臺(tái)上企業(yè)的股權(quán)能夠得到更多投資者的青睞,使企業(yè)的股權(quán)價(jià)值更加公允,方便企業(yè)利用股權(quán)質(zhì)押或者股權(quán)增發(fā)獲得融資。
態(tài)勢(shì)推送主要存在兩個(gè)關(guān)鍵節(jié)點(diǎn):用戶和態(tài)勢(shì),因此相似度信息是指用戶之間或態(tài)勢(shì)之間的相似性。計(jì)算不同用戶或態(tài)勢(shì)的相似度一般采用余弦相似度方法[10],則用戶之間的相似度如下公式所示:
式(9)的含義與式(8)含義類似,不同之處是用戶變成了態(tài)勢(shì)。在得到相似度值后,可以得到所有用戶、態(tài)勢(shì)的相似度矩陣,矩陣中每一項(xiàng)表示用戶之間、態(tài)勢(shì)之間的相似度值。
對(duì)于算法模型而言,以用戶之間的相似度為例,則只需尋找與目標(biāo)用戶最相似的一組用戶即可,因?yàn)榈拖嗨菩缘挠脩舻囊敕炊鴷?huì)使得模型引入噪聲,導(dǎo)致推薦效果效果下降[11]。相似用戶的選取采用k近鄰法,即只選取相似度最高的t個(gè)用戶,則sim(uk,uk')可以表示成以下公式:
其中sim(uk,u...)t表示與用戶uk最相似的t個(gè)用戶。同理也可以對(duì)相似態(tài)勢(shì)做同樣的處理。
假設(shè)不同來源的用戶相似度矩陣表示為和,總的用戶、態(tài)勢(shì)相似度矩陣分別為SU和SV,wp、wq用于表示不同來源(即沿著不同的元路徑)的用戶相似度矩陣的權(quán)重,ns、ms分別表示用戶、態(tài)勢(shì)路徑數(shù)量。則總的用戶相似度矩陣公式如下:
權(quán)重具體值需要從數(shù)據(jù)中推斷出來,假設(shè)參數(shù)λc表示總的相似度信息的置信度,則置信度與不同來源的用戶、態(tài)勢(shì)相似度矩陣的權(quán)重滿足以下等式:
將相似度信息融入到貝葉斯排序推薦模型,其核心思想是在于具備相似屬性的用戶,他們對(duì)態(tài)勢(shì)的需求情況應(yīng)當(dāng)是相似的,同時(shí)同一用戶對(duì)具備相似屬性的態(tài)勢(shì),他的需求情況應(yīng)當(dāng)也是相似的。此時(shí)應(yīng)當(dāng)確保屬性信息相似用戶的特征向量與目標(biāo)用戶特征向量盡可能相似,同理屬性信息相似態(tài)勢(shì)的特征向量應(yīng)與待推送特征向量盡可能相似。在此條件下,屬性信息相似用戶對(duì)應(yīng)的需求態(tài)勢(shì)排序情況才會(huì)相似。因而,因而可以直接對(duì)貝葉斯排序推薦模型添加正則化項(xiàng),用以表示用戶相似度信息、態(tài)勢(shì)相似度信息對(duì)于用戶特征向量、態(tài)勢(shì)特征向量的影響程度。記Fsim表示相似度信息的正則化項(xiàng),正則化主要包括三個(gè)部分:用戶之間的相似度,排序靠前的態(tài)勢(shì)之間的相似度和排序靠后的態(tài)勢(shì)之間的相似度。公式如下:
則此時(shí)耦合相似度信息的貝葉斯隱式反饋推薦算法,目標(biāo)函數(shù)可表示為
Fsim指用戶、態(tài)勢(shì)相似度信息的正則化項(xiàng),H1(u,i,j)表示貝葉斯隱式反饋推薦算法的目標(biāo)函數(shù)。
來自不同信息源的信息量不同,對(duì)于推薦結(jié)果有一定的影響,因此需要給予權(quán)重設(shè)置。為防止權(quán)重過擬合,因此還需對(duì)權(quán)重進(jìn)行正則化,主要用于懲罰ws與w0的差異,即w0是指所有相似度矩陣均勻加權(quán),即,則此時(shí)相似度信息的正則化項(xiàng)還需加上權(quán)重正則化項(xiàng),公式如下:
結(jié)合式(7)、(16)、(17),則考慮權(quán)重正則化的基于內(nèi)容相似度和貝葉斯排序的組合推薦算法的目標(biāo)函數(shù)為
為方便后續(xù)實(shí)驗(yàn)算法性能進(jìn)行比較,將貝葉斯隱式反饋推薦算法記為BPR,耦合相似度信息的貝葉斯隱式反饋推薦算法記為SBPR,考慮權(quán)重正則化的耦合相似度信息的貝葉斯隱式反饋推薦算法記為WSBPR。
在得到各算法的目標(biāo)函數(shù)后,利用隨機(jī)梯度下降法進(jìn)行參數(shù)優(yōu)化,則可以得到態(tài)勢(shì)的相對(duì)需求度,將排序高的態(tài)勢(shì)推送給目標(biāo)用戶。
實(shí)驗(yàn)數(shù)據(jù)采用雷達(dá)航跡仿真得到各類情報(bào)750000條,其中用戶定制過的情報(bào)為1500條,數(shù)據(jù)稀疏性為99.8%,其中該數(shù)據(jù)還包括用戶的類別、任務(wù)區(qū)域、指揮層級(jí)等信息,情報(bào)的類別、主題、來源等信息。根據(jù)用戶定制歷史記錄,需求度取值采用二元制刻度,即用戶—態(tài)勢(shì)需求度矩陣中的項(xiàng)取值1和0,值為1代表用戶定制過情報(bào),值為0代表用戶沒有定制情報(bào)。對(duì)用戶特征和情報(bào)特征屬性進(jìn)行相似度處理,如用戶種類相同,則對(duì)應(yīng)相似度矩陣中的項(xiàng)記為1,反之記為0,情報(bào)處理方法類似。
為驗(yàn)證推薦算法效果,數(shù)據(jù)處理過程中,將數(shù)據(jù)劃分為訓(xùn)練集和測試集,采用隨機(jī)梯度下降法對(duì)算法進(jìn)行訓(xùn)練。在衡量推薦算法的性能效果時(shí),本文采用排序推薦領(lǐng)域廣泛使用的兩個(gè)評(píng)價(jià)指標(biāo):NDCG(normalized discounted cumulative gain)[12]和AUC(area under the curve)[13]。為便于各算法進(jìn)行比較,對(duì)實(shí)驗(yàn)數(shù)據(jù)總共模擬了三種情景,通過對(duì)情報(bào)數(shù)據(jù)中隨機(jī)剔除50%、75%和90%數(shù)據(jù)用以創(chuàng)建數(shù)據(jù)稀疏性情景,保證實(shí)驗(yàn)的客觀性,實(shí)驗(yàn)重復(fù)訓(xùn)練5次,對(duì)實(shí)驗(yàn)結(jié)果取平均值。算法參數(shù)設(shè)置:相似度用戶和態(tài)勢(shì)的數(shù)量t為10,隱因子數(shù)f為10,學(xué)習(xí)率為0.1,λθ=λw=0.01,λsim=0.05,迭代次數(shù)為{5,10,15,20,25,30}。為評(píng)估本章提出的算法的推送效能,設(shè)計(jì)了以下對(duì)比實(shí)驗(yàn)。
實(shí)驗(yàn)一:迭代次數(shù)取15次,其他參數(shù)條件不變,分析數(shù)據(jù)稀疏性對(duì)各算法性能的影響。
各算法實(shí)驗(yàn)結(jié)果如表1所示。
表1 不同算法在數(shù)據(jù)稀疏性情景下NDCG、AUC測量結(jié)果
由表1各算法實(shí)驗(yàn)結(jié)果可以看出:1)隨著情報(bào)數(shù)據(jù)剔除的比率越高,BPR、SBPR、WSBPR三種算法NDCG、AUC兩個(gè)指標(biāo)均隨著下降,說明數(shù)據(jù)越稀疏,算法性能越差,原因在于此時(shí)有定制歷史的態(tài)勢(shì)數(shù)量變小,占總的態(tài)勢(shì)數(shù)量比例變小,使得用戶—態(tài)勢(shì)需求度矩陣變得更加稀疏,而三種算法都需要利用到需求度矩陣,此時(shí)利用更少的具有明確需求度的項(xiàng)來預(yù)測未知項(xiàng),會(huì)使得預(yù)測準(zhǔn)確性下降。2)同時(shí)也可以看出,在相同的數(shù)據(jù)稀疏性情境下,與基準(zhǔn)算法(BPR)相比,SBPR、WSBPR算法性能要好于基準(zhǔn)算法,SBPR、WSBPR兩者算法性能較為接近,說明相似度信息的融入能夠有效緩解數(shù)據(jù)稀疏性問題,提升算法性能。3)情報(bào)數(shù)據(jù)剔除的比率為50%、75%時(shí),由NDCG、AUC兩個(gè)指標(biāo)值可以看出,SBPR算法性能好于WSBPR算法,而當(dāng)情報(bào)數(shù)據(jù)剔除的比率為90%時(shí),SBPR算法性要WSBPR算法要差,這說明數(shù)據(jù)比較稀疏的條件下,對(duì)不同來源的用戶、態(tài)勢(shì)的相似度信息設(shè)置權(quán)重并正則化,能夠防止算法過擬合,使得此時(shí)算法訓(xùn)練結(jié)果最大可能逼近最優(yōu)值。
實(shí)驗(yàn)二,情報(bào)數(shù)據(jù)剔除的比例為90%,其他參數(shù)不變,分析迭代次數(shù)對(duì)各算法推薦性能的影響。實(shí)驗(yàn)結(jié)果如圖1所示。
由圖1(a)、(b)可知,1)各算法隨著迭代次數(shù)的增加,NDCG、AUC兩個(gè)指標(biāo)值也相應(yīng)的增加,基準(zhǔn)算法(BPR)相比,SBPR、WSBPR算法的推薦性能要更好一些,說明相似度信息的融入確實(shí)能夠提升推薦效果。2)SBPR、WSBPR算法兩者算法相比較,在一開始迭代次數(shù)較小的情況下,WSBPR算法性能不如SBPR,但隨著迭代一定次數(shù)時(shí),WSBPR算法性能要好于SBPR,說明對(duì)不同信息源的相似度信息考慮權(quán)重正則化,能夠在一定程度上防止算法過擬合,提升算法性能。3)隨著迭代次數(shù)的增加,BPR、SBPR、WSBPR三者算法性能提升速率逐漸變慢,說明算法迭代次數(shù)增加到程度后,算法訓(xùn)練變得過擬合,此時(shí)算法推薦性能隨迭代次數(shù)增加并不會(huì)顯著提升。
圖1 各算法隨迭代次數(shù)變化,NDCG、AUC指標(biāo)變化情況
本文提出了一種耦合相似度信息的貝葉斯隱式反饋推薦算法,該方法通過相似度算法將不同來源用戶、態(tài)勢(shì)的相似度信息,以相似度矩陣的形式融入到貝葉斯隱式反饋推薦算法,有效填充了用戶需求特征,使得用戶需求信息刻畫更為準(zhǔn)確,算法的應(yīng)用場景更為廣泛。同時(shí)也設(shè)計(jì)了實(shí)驗(yàn)仿真,探究了不同數(shù)據(jù)稀疏性背景、不同參數(shù)設(shè)置條件下對(duì)于推薦算法性能的影響,實(shí)驗(yàn)結(jié)果證明本文算法在稀疏性背景下,與貝葉斯隱式反饋推薦算法相比,本文算法具有一定的性能優(yōu)勢(shì)。