本發(fā)明涉及機(jī)器學(xué)習(xí)領(lǐng)域,具體為一種在可交換圖中基于博弈的鏈接預(yù)測方法及系統(tǒng)。
背景技術(shù):
在實(shí)際生活中,許多系統(tǒng)可以用網(wǎng)絡(luò)來建模,網(wǎng)絡(luò)的數(shù)據(jù)結(jié)構(gòu)即圖。圖中節(jié)點(diǎn)表示系統(tǒng)中的實(shí)體,邊表示實(shí)體間的相互關(guān)系??山粨Q圖(exchangeable graph)是指在圖中,邊出現(xiàn)的順序?qū)ζ浞植疾⒉划a(chǎn)生影響,即邊的順序是可交換的。鏈接預(yù)測(link prediction)是指在網(wǎng)絡(luò)中,利用已知的點(diǎn)和邊結(jié)構(gòu)來預(yù)測未知的邊,也就是利用已知的實(shí)體之間的關(guān)系來預(yù)測任意兩實(shí)體之間是否可能存在某種關(guān)系。鏈接預(yù)測廣泛應(yīng)用于推薦系統(tǒng)、風(fēng)險(xiǎn)評估和系統(tǒng)規(guī)劃等方面。在可交換圖中,鏈接預(yù)測問題和時序沒有很強(qiáng)的關(guān)系,使得問題更加明確和簡化。博弈論是一種運(yùn)籌學(xué)方法,被廣泛應(yīng)用于存在競爭的場景。近年來,有一些研究利用博弈論來分析網(wǎng)絡(luò)演化,提出了一些基于博弈論的網(wǎng)絡(luò)演化模型(NFG,Network Formation Game)。
鏈接預(yù)測問題由來已久,已經(jīng)有較多的研究?,F(xiàn)在大多數(shù)基于機(jī)器學(xué)習(xí)的方法會對所有已經(jīng)存在的正樣本邊和不存在的負(fù)樣本邊進(jìn)行訓(xùn)練。但由于這些網(wǎng)絡(luò)大多都是很稀疏的,所以會有大量的不存在的邊(即負(fù)樣本),這就對模型訓(xùn)練效率和準(zhǔn)確性造成了影響。同時,有些負(fù)樣本邊,有時候并不是不存在的邊,而可能是由于某些原因沒有觀測到,例如觀測時被遺漏等等,這些負(fù)樣本有可能在下一時刻會立即建立邊轉(zhuǎn)化成正樣本,所以將這些作為負(fù)樣本并不合適。另一方面,在可交換圖中,使用隱高斯過程(latent Gaussian process)的推斷一般復(fù)雜度較高,訓(xùn)練效率較低,并且并行化程度低。
技術(shù)實(shí)現(xiàn)要素:
為了解決現(xiàn)有技術(shù)的不足,本發(fā)明提供了一種在可交換圖中基于博弈的鏈接預(yù)測方法,可應(yīng)用在推薦系統(tǒng)、風(fēng)險(xiǎn)評估、系統(tǒng)規(guī)劃或社交網(wǎng)絡(luò)中,實(shí)體和實(shí)體之間的關(guān)系滿足可交換圖的要求,對實(shí)體之間的關(guān)系預(yù)測(也就是鏈接預(yù)測)的速度快,準(zhǔn)確度高。
具體的,本發(fā)明的技術(shù)方案為:
一種在可交換圖中基于博弈的鏈接預(yù)測方法,采用以下步驟:
(1)獲取數(shù)據(jù)集,將數(shù)據(jù)集中的元素通過圖表示,圖由節(jié)點(diǎn)集和邊集組成;所述節(jié)點(diǎn)代表待預(yù)測的實(shí)體,邊代表待預(yù)測實(shí)體之間的關(guān)系,所述數(shù)據(jù)集的節(jié)點(diǎn)和邊滿足可交換圖的要求;
(2)采用基于博弈的網(wǎng)絡(luò)演化模型,過濾所述圖中的不符合設(shè)定要求的邊,以過濾后的圖作為訓(xùn)練集;
(3)采用訓(xùn)練集對概率圖模型進(jìn)行迭代訓(xùn)練,得到具有最優(yōu)模型參數(shù)的概率圖模型;
(4)采用(3)中具有最優(yōu)模型參數(shù)的概率圖模型進(jìn)行鏈接預(yù)測。
進(jìn)一步的,步驟(2)中選擇至少兩種基于博弈的網(wǎng)絡(luò)演化模型,采用各網(wǎng)絡(luò)演化模型的效用函數(shù),計(jì)算所述邊對兩個實(shí)體的效用值改變量,若所述邊對兩個實(shí)體的效用值改變量均呈下降趨勢,則過濾所述邊,否則,保留所述邊。
進(jìn)一步的,當(dāng)采用兩種網(wǎng)絡(luò)演化模型時,選擇鏈接模型和聯(lián)合作者模型。
進(jìn)一步的,步驟(3)中采用變分推斷對概率圖模型進(jìn)行迭代訓(xùn)練。
進(jìn)一步的,將步驟(2)中的訓(xùn)練集分為各個子訓(xùn)練集,子訓(xùn)練集是按照塊(Block)劃分的,每一個塊大小相同;在步驟(3)中同時采用多個所述子訓(xùn)練集對概率圖模型進(jìn)行迭代訓(xùn)練。
進(jìn)一步的,在步驟(1)中,若所述數(shù)據(jù)集的邊數(shù)目大于設(shè)定值,則對所述數(shù)據(jù)集進(jìn)行采樣,用于使數(shù)據(jù)集的邊數(shù)目減少,提高模型迭代訓(xùn)練速度。
進(jìn)一步的,所述采樣方法使用統(tǒng)一采樣、加權(quán)采樣或網(wǎng)格采樣。
進(jìn)一步的,所述概率圖模型的模型參數(shù)包括隱變量U的維度和學(xué)習(xí)速率。
進(jìn)一步的,提取步驟(1)中的數(shù)據(jù)集中的部分?jǐn)?shù)據(jù)構(gòu)成測試集,采用上述測試集對所述具有最優(yōu)模型參數(shù)的概率圖模型進(jìn)行預(yù)測測試。
進(jìn)一步的,采用5疊交叉驗(yàn)證方法將步驟(1)中的數(shù)據(jù)分為若干份,取其中至少一份作為測試集,采用上述測試集對所述具有最優(yōu)模型參數(shù)的概率圖模型進(jìn)行預(yù)測測試。
本發(fā)明還提出了一種基于上述方法的在可交換圖中基于博弈的鏈接預(yù)測系統(tǒng),其特征在于包括:
獲取模塊,用于獲取數(shù)據(jù)集,將數(shù)據(jù)集中的元素通過圖表示,圖由節(jié)點(diǎn)集和邊集組成;所述節(jié)點(diǎn)代表待預(yù)測的實(shí)體,邊代表待預(yù)測實(shí)體之間的關(guān)系,所述數(shù)據(jù)集的節(jié)點(diǎn)和邊滿足可交換圖的要求;
過濾模塊,用于采用基于博弈的網(wǎng)絡(luò)演化模型,過濾所述圖中的不符合設(shè)定要求的邊,以過濾后的圖作為訓(xùn)練集;
訓(xùn)練模塊,用于采用訓(xùn)練集對概率圖模型進(jìn)行迭代訓(xùn)練,得到具有最優(yōu)模型參數(shù)的概率圖模型;
預(yù)測模塊,用于采用所述具有最優(yōu)模型參數(shù)的概率圖模型進(jìn)行鏈接預(yù)測。
進(jìn)一步的,本系統(tǒng)還包括采樣模塊,用于當(dāng)所述數(shù)據(jù)集的邊數(shù)目大于設(shè)定值時,對所述數(shù)據(jù)集進(jìn)行采樣,用于使數(shù)據(jù)集的邊數(shù)目減少,提高模型迭代訓(xùn)練速度。
進(jìn)一步的,本系統(tǒng)還包括分塊模塊,用于將所述訓(xùn)練集分為各個子訓(xùn)練集,子訓(xùn)練集是按照塊劃分的,每一個塊大小相同。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
(1)本發(fā)明提供一種在可交換圖中基于博弈的鏈接預(yù)測方法及系統(tǒng),它利用基于博弈論的網(wǎng)絡(luò)演化模型將不合適的負(fù)樣本邊過濾出去,從而簡化了訓(xùn)練集,在一定程度上提高了訓(xùn)練效果。
(2)利用聯(lián)機(jī)變分推斷(onlinevariational inference)來對概率圖模型進(jìn)行訓(xùn)練,可以提高可交換圖的隱高斯過程的學(xué)習(xí)速率;
(3)通過對初始數(shù)據(jù)進(jìn)行分塊,可同時對其中的多塊數(shù)據(jù)進(jìn)行訓(xùn)練,進(jìn)一步提高了訓(xùn)練速率;
(4)通過對數(shù)據(jù)集進(jìn)行采樣,可進(jìn)一步去除數(shù)據(jù)集中的負(fù)樣本,從而提高訓(xùn)練速度。
(5)本發(fā)明可適用于推薦系統(tǒng)、風(fēng)險(xiǎn)評估、系統(tǒng)規(guī)劃或社交網(wǎng)絡(luò)中,實(shí)體和實(shí)體之間的關(guān)系滿足可交換圖的要求,對實(shí)體之間的關(guān)系預(yù)測(也就是鏈接預(yù)測)的速度快,準(zhǔn)確度高
附圖說明
構(gòu)成本申請的一部分的說明書附圖用來提供對本申請的進(jìn)一步理解,本申請的示意性實(shí)施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當(dāng)限定。
圖1為本發(fā)明鏈接預(yù)測模型的概率圖模型。
圖2為不同對比方法的運(yùn)行時間。
具體實(shí)施方式
應(yīng)該指出,以下詳細(xì)說明都是例示性的,旨在對本申請?zhí)峁┻M(jìn)一步的說明。除非另有指明,本文使用的所有技術(shù)和科學(xué)術(shù)語具有與本申請所屬技術(shù)領(lǐng)域的普通技術(shù)人員通常理解的相同含義。
需要注意的是,這里所使用的術(shù)語僅是為了描述具體實(shí)施方式,而非意圖限制根據(jù)本申請的示例性實(shí)施方式。如在這里所使用的,除非上下文另外明確指出,否則單數(shù)形式也意圖包括復(fù)數(shù)形式,此外,還應(yīng)當(dāng)理解的是,當(dāng)在本說明書中使用術(shù)語“包含”和/或“包括”時,其指明存在特征、步驟、操作、器件、組件和/或它們的組合。
實(shí)施例1:
一種在可交換圖中基于博弈的鏈接預(yù)測方法,采用以下步驟:
(1)獲取數(shù)據(jù)集,將數(shù)據(jù)集中的元素通過圖表示,圖由節(jié)點(diǎn)集和邊集組成;所述節(jié)點(diǎn)代表待預(yù)測的實(shí)體,邊代表待預(yù)測實(shí)體之間的關(guān)系,所述數(shù)據(jù)集的節(jié)點(diǎn)和邊滿足可交換圖的要求;
(2)采用基于博弈的網(wǎng)絡(luò)演化模型,過濾所述圖中的不符合設(shè)定要求的邊,以過濾后的圖作為訓(xùn)練集;
(3)采用訓(xùn)練集對概率圖模型進(jìn)行迭代訓(xùn)練,得到具有最優(yōu)模型參數(shù)的概率圖模型;
(4)采用(3)中具有最優(yōu)模型參數(shù)的概率圖模型進(jìn)行鏈接預(yù)測。
基于博弈的網(wǎng)絡(luò)演化模型NFG,采用各網(wǎng)絡(luò)演化模型的效用函數(shù),計(jì)算所述邊對兩個實(shí)體的效用值改變量,若所述邊對兩個實(shí)體的效用值改變量均呈下降趨勢,則過濾所述邊,否則,保留所述邊。
具體的:不同的NFG模型有著不同的效用函數(shù),從而會對邊的過濾效果產(chǎn)生不同的影響。這里我們主要用到了兩種不同的NFG模型:鏈接模型(Connections Model)和聯(lián)合作者模型(Co-author Model)。在鏈接模型中,用戶通常從直接邊和2-跳邊獲得收益,但僅僅對維護(hù)直接邊產(chǎn)生花費(fèi)。聯(lián)合作者模型主要用來描述學(xué)者之間共同協(xié)作的關(guān)系。每個學(xué)者的精力是有限的,在跟其他學(xué)者的合作中獲得收益,并且耗費(fèi)一定的精力。NFG模型的基本思想是每個人的精力和資源是有限的,跟其他人產(chǎn)生合作等關(guān)系會獲得一定的收益并產(chǎn)生花費(fèi),這是一個博弈的過程,如果收益大于花費(fèi),那么這個關(guān)系就是極有可能建立的。
每個NFG模型都有其效用函數(shù),用來衡量每個博弈的用戶的收益變化情況。這里我們確認(rèn)鏈接模型和聯(lián)合作者模型的效用函數(shù)。
鏈接模型:
ui(G)表示用戶i在圖G中所擁有的效用值。Ni(G)表示i在圖G中的鄰居。表示在圖G中用戶i經(jīng)過兩跳所能達(dá)到用戶。dij(G)表示在圖G中i和j的距離,這里是1或者2。b(dij(G))表示i從與j的關(guān)系中獲得的收益。cij表示i對維護(hù)和j的關(guān)系付出的花費(fèi),這里i對其他每個人的花費(fèi)都是一樣的,所以用ci表示。δ表示收益基數(shù),這個參數(shù)可以根據(jù)如下規(guī)則來確定。將所有用戶按花費(fèi)c從小到大排列,c1<c2<…<cn,取前20%作為核心用戶,其余的作為普通用戶,確定交界處的ck-1和ck,用以下公式計(jì)算δ的范圍,調(diào)節(jié)這個參數(shù)可以過濾不同數(shù)量的邊。
δ-δ2>0.5(ck-1+ck)
聯(lián)合作者模型:
效用函數(shù)中ni表示用戶i的度,即鄰居數(shù)??梢园凑杖缦鹿接?jì)算效用值
1.針對每條邊計(jì)算效用值變化量Δ。
通過NFG模型的效用函數(shù),可以計(jì)算每條邊lij給用戶帶來的收益。所以可以分別推導(dǎo)出不同模型的效用變化函數(shù)。
鏈接模型:
Δi=ui(G∪{l})-ui(G)
=δ+δ2|Nj(G)|-ci
聯(lián)合作者模型:
這樣就可以計(jì)算出每條邊lij對用戶效用值造成的改變Δi。
將Δ不符合要求的邊過濾掉,和正樣本邊組合成訓(xùn)練集。
對于一條邊lij分別計(jì)算Δi和Δj,如果兩個都變小,即用戶i和j建立關(guān)系是對雙方都無益的,即建立關(guān)系的可能性很小,可以作為負(fù)樣本。反之,只要有一方的Δ值增大,即表示此關(guān)系建立至少對一方是有利的,是可能建立關(guān)系的,這種邊就不適合做負(fù)樣本,可以過濾掉。
具體算法參照Algorithm 1如下:
步驟(3)中采用變分推斷對概率圖模型進(jìn)行迭代訓(xùn)練。
具體的:如圖1所示,圖模型的輸入為觀測到的用戶Ui和Uj形成的邊以及過濾之后的負(fù)樣本組成V,輸出即為對一條邊的預(yù)測,0為將來不會建立邊,1為會建立邊。上標(biāo)m表示將整個圖分成的第m塊。X和Z為引入的隱變量(latent variable)。
下面我們對模型進(jìn)行公式推導(dǎo):
(1)確定Ui的維度為r,假設(shè)U服從如下正態(tài)分布:
Ui,Uj~N(0,Ir),1≤i,j≤n
那么,邊集vk服從如下正態(tài)分布:
(2)因?yàn)閥是離散的,而輸入是連續(xù)的,所以一如probit函數(shù)和x變量,概率方程如下:
并且給出一個高斯先驗(yàn):
為了簡化計(jì)算,引入變量z,那么概率方程和先驗(yàn)如下:
(3)最終我們得到聯(lián)合概率分布如下:
加入分塊的聯(lián)合概率分布如下:
(4)變分EM推斷
E-step:
為簡化,假定p(zm,xm|ym,vm)的近似后驗(yàn)方程如下:
q(zm,xm)=q(zm)q(xm)
那么通過讓KL分歧最小,
可以得到x的期望:
<x>m=Km(Km+I)-1<zm>
通過<x>和z的概率分布,
可以得到z的期望如下:
M-step:
整理最大對數(shù)似然方程,
得到如下最大化目標(biāo)方程,const為常數(shù)項(xiàng):
進(jìn)而推到得出梯度如下:
(5)預(yù)測方程
給出要預(yù)測的集合和標(biāo)號預(yù)測分布如下:
以觀測到的中的序列坐標(biāo),那么:
1.對整個圖進(jìn)行分塊
對整個圖按照坐標(biāo)從大到小排列,每隔一段分為一塊,共可以分成M塊,對其中的每一塊m進(jìn)行訓(xùn)練,同時可以訓(xùn)練多塊。
2.模型訓(xùn)練
θ即為上一步中推導(dǎo)出來的最大化目標(biāo)方程,根據(jù)如下學(xué)習(xí)算法進(jìn)行迭代訓(xùn)練:
將步驟(2)中的訓(xùn)練集分為各個子訓(xùn)練集,子訓(xùn)練集是按照塊劃分的,每一個塊大小相同;在步驟(3)中同時采用多個所述子訓(xùn)練集對概率圖模型進(jìn)行迭代訓(xùn)練。
對整個圖,也就是訓(xùn)練集,按照坐標(biāo)從大到小排列,每隔一段分為一塊,共可以分成M塊,對其中的每一塊m進(jìn)行訓(xùn)練,同時可以訓(xùn)練多塊。坐標(biāo)是識別每一子訓(xùn)練集,即每一塊的標(biāo)識。
在步驟(1)中,若所述數(shù)據(jù)集的邊數(shù)目大于設(shè)定值,則對所述數(shù)據(jù)集進(jìn)行采樣,用于使數(shù)據(jù)集的邊數(shù)目減少,提高模型迭代訓(xùn)練速度。
具體的:可以采用的采樣策略有三種:
統(tǒng)一采樣(uniform sampling),即對每個實(shí)體采固定數(shù)量的樣本。
加權(quán)采樣(weighted sampling),即對每個實(shí)體,根據(jù)其度的大小采不同數(shù)量的樣本。用戶度越大,采樣的數(shù)量就越大。
網(wǎng)格采樣(grid sampling),將整個圖(即訓(xùn)練集)分成不同的網(wǎng)格,在每個格子中進(jìn)行隨機(jī)采樣。
最后經(jīng)過迭代訓(xùn)練,模型已經(jīng)訓(xùn)練好,即得到了U中的隱變量和確定的最優(yōu)的模型參數(shù),這時可以使用上述推導(dǎo)好的預(yù)測方程進(jìn)行預(yù)測,從而得到最終結(jié)果。
實(shí)施例2:一種在可交換圖中基于博弈的鏈接預(yù)測系統(tǒng):其特征在于:包括:
獲取模塊,用于獲取數(shù)據(jù)集,將數(shù)據(jù)集中的元素通過圖表示,圖由節(jié)點(diǎn)集和邊集組成;所述節(jié)點(diǎn)代表待預(yù)測的實(shí)體,邊代表待預(yù)測實(shí)體之間的關(guān)系,所述數(shù)據(jù)集的節(jié)點(diǎn)和邊滿足可交換圖的要求;
過濾模塊,用于采用基于博弈的網(wǎng)絡(luò)演化模型,過濾所述圖中的不符合設(shè)定要求的邊,以過濾后的圖作為訓(xùn)練集;
訓(xùn)練模塊,用于采用訓(xùn)練集對概率圖模型進(jìn)行迭代訓(xùn)練,得到具有最優(yōu)模型參數(shù)的概率圖模型;
預(yù)測模塊,用于采用所述具有最優(yōu)模型參數(shù)的概率圖模型進(jìn)行鏈接預(yù)測。
本系統(tǒng)還包括采樣模塊,用于當(dāng)所述數(shù)據(jù)集的邊數(shù)目大于設(shè)定值時,對所述數(shù)據(jù)集進(jìn)行采樣,用于使數(shù)據(jù)集的邊數(shù)目減少,提高模型迭代訓(xùn)練速度。
本系統(tǒng)還包括分塊模塊,用于將所述訓(xùn)練集分為各個子訓(xùn)練集,子訓(xùn)練集是按照塊劃分的,每一個塊大小相同。
實(shí)施例3:本發(fā)明獲取網(wǎng)絡(luò)公開的數(shù)據(jù)集,包括Highschool、NIPS、Protein等,如表1所示。
其中Highschool是學(xué)生之間的一個網(wǎng)絡(luò),用來描述學(xué)生之間的相互認(rèn)識情況。通過這個數(shù)據(jù)集可以預(yù)測哪些學(xué)生之間會相互認(rèn)識,哪些學(xué)生在一起會更容易形成一個小集體。
NIPS包括了在NIPS 1-17會議上的作者和論文發(fā)表情況。其中我們選擇了一個包括234個作者以及他們之間共同合作論文關(guān)系的子集進(jìn)行示例分析。通過這個數(shù)據(jù)集,我們的預(yù)測方法可以應(yīng)用在判斷兩個學(xué)者之間是否容易形成合作,從而能夠更好的將學(xué)者團(tuán)體進(jìn)行聚類。
Protein數(shù)據(jù)描述了蛋白質(zhì)之間的鏈接關(guān)系,在這個的數(shù)據(jù)集上,我們的方法可以用來預(yù)測未知的蛋白質(zhì)間的關(guān)聯(lián)關(guān)系,從而幫助發(fā)現(xiàn)和設(shè)計(jì)新的蛋白結(jié)構(gòu)。
Ciao是產(chǎn)品評價網(wǎng)站www.ciao.co.uk上的用戶之間的信任關(guān)系,如果一個用戶信任另外一個用戶,那么這兩個用戶之間就存在一條邊。通過這個數(shù)據(jù)集,我們的方法可以用來推斷兩個用戶之間的信任關(guān)系,從而進(jìn)一步的幫助判斷兩個用戶的評價的可靠性,用戶的產(chǎn)品喜好等。
HEP-PH是高能物理現(xiàn)象日志項(xiàng)目的合作網(wǎng)絡(luò)。同樣是一個學(xué)者學(xué)術(shù)合作關(guān)系的網(wǎng)絡(luò)。
Enron是一個郵件聯(lián)系網(wǎng)絡(luò),如果兩個用戶之間有郵件往來就存在一條邊。通過這個數(shù)據(jù)集,我們的方法可以用來預(yù)測兩個用戶間有沒有可能形成郵件往來,從而進(jìn)一步的幫助挖掘用戶團(tuán)體。
Slashdot是一個科技新聞分享網(wǎng)站,這個數(shù)據(jù)集包含了用戶之間的標(biāo)記關(guān)系,其中用戶可以將對方標(biāo)記成朋友或者是敵人。通過這個數(shù)據(jù)集,我們的方法可以用來幫助分析用戶團(tuán)體、喜好以及新聞的質(zhì)量等等,從而能進(jìn)行合適的推薦。
基于這些數(shù)據(jù)集,我們進(jìn)行其中實(shí)體與實(shí)體之間的鏈接關(guān)系預(yù)測:
首先第一步,數(shù)據(jù)規(guī)范化處理:
將原數(shù)據(jù)進(jìn)行規(guī)范化處理,轉(zhuǎn)換成模型能夠處理的數(shù)據(jù)格式。對圖中的實(shí)體從0開始進(jìn)行編號,構(gòu)造圖矩陣G,其中,實(shí)體i和j有邊則Gij為1,否則為0。如表1所示,這里我們以表中的小中大三種數(shù)據(jù)集作為示例。
然后利用NFG進(jìn)行邊過濾:
選擇NFG模型,這里提供的兩種選擇為鏈接模型和聯(lián)合作者模型。兩模型的效用函數(shù)在實(shí)施例1中已經(jīng)給出,其中鏈接模型需要確定δ參數(shù),這里通過前文中提供的方法計(jì)算出δ的范圍,在此范圍內(nèi)調(diào)節(jié)δ可以獲得不同過濾邊的數(shù)量,可以進(jìn)行多次實(shí)驗(yàn),最終確定最優(yōu)δ。
根據(jù)Algorithm 1,對每個NFG模型,針對每一條邊lij計(jì)算效用值的改變Δi和Δj,從而過濾掉其中有一方效用值增大的邊,從而將正樣本和負(fù)樣本一起組合成最終的訓(xùn)練集。
接下來進(jìn)行模型訓(xùn)練,根據(jù)前文中提供的模型推導(dǎo),在具體實(shí)施的時候需要對模型的各項(xiàng)參數(shù)進(jìn)行設(shè)置。這里我們對參數(shù)進(jìn)行如下說明。首先需要確定隱變量U的維度,這里針對小數(shù)據(jù)集我們選擇維度為{1,2,3},中大型數(shù)據(jù)集為{3,5,7}。采用梯度下降法(SGD),學(xué)習(xí)率(learning rate)選定為{10-5,10-4,10-3}。為了計(jì)算協(xié)方差矩陣,我們采用RBF核(radial basis function kernel),其參數(shù)γ需要交叉驗(yàn)證進(jìn)行最優(yōu)化。對整個圖進(jìn)行切塊處理時,對小數(shù)據(jù)集采用10*10的塊大小,對中大型數(shù)據(jù)集采用100*100的塊大小。
確定好參數(shù)之后,根據(jù)Algorithm 2進(jìn)行訓(xùn)練,使用5疊交叉驗(yàn)證(5-fold cross validation),即將數(shù)據(jù)集分為五份,四份做訓(xùn)練,一份做測試。最終經(jīng)過多次訓(xùn)練,取預(yù)測AUC(area under the curve)最好時的模型參數(shù),這樣模型就訓(xùn)練好了。
未知邊預(yù)測:
使用訓(xùn)練好的模型進(jìn)行預(yù)測。預(yù)測時不是一條一條邊的進(jìn)行預(yù)測,而是將所有未知邊一起進(jìn)行預(yù)測,使得預(yù)測集的分布跟訓(xùn)練集的分布一致。根據(jù)前文中的預(yù)測方程進(jìn)行預(yù)測,最終得到每條未知邊的預(yù)測結(jié)果及可信度。
表2為各種對比方法在小型數(shù)據(jù)集上的AUC結(jié)果。ORFP為本發(fā)明的方法,ORFP-ca指NFG選用的聯(lián)合作者模型,而ORFP-cp指選用的是鏈接模型。從表中可以看出本發(fā)明的方法在小數(shù)據(jù)集的性能表現(xiàn)上是優(yōu)秀的。表3為對比方法在中型數(shù)據(jù)集上的AUC結(jié)果,可以看出本發(fā)明方法同樣性能較好。表4為在大數(shù)據(jù)集上的AUC結(jié)果,-u、-w,-g分別表示采用了統(tǒng)一采樣、加權(quán)采樣和網(wǎng)格采樣。
本發(fā)明在預(yù)測效果上保持相似和更好的性能,并且大大縮短了模型訓(xùn)練時間。如圖2中所示,本發(fā)明的方法與其他方法相比,運(yùn)行時間大大降低。
表1示例數(shù)據(jù)集描述
表2不同對比方法在小型數(shù)據(jù)集上的AUC結(jié)果
表3不同對比方法在中型數(shù)據(jù)集上的AUC結(jié)果
表4不同對比方法在大型數(shù)據(jù)集上的AUC結(jié)果
以上所述僅為本申請的優(yōu)選實(shí)施例而已,并不用于限制本申請,對于本領(lǐng)域的技術(shù)人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請的保護(hù)范圍之內(nèi)。