本發(fā)明涉及在計算機網(wǎng)絡領域,具體涉及一種鏈路預測模型的訓練及鏈路預測方法。
背景技術:
伴隨著互聯(lián)網(wǎng)和移動通信技術的飛速發(fā)展,人們之間的聯(lián)系變得越來越緊密。通過互聯(lián)網(wǎng)和通信網(wǎng),人與人之間組成了一個巨大的復雜網(wǎng)絡。網(wǎng)絡中的人與人之間的互動、交流和影響已融入到生活中的各個方面。對社會網(wǎng)絡的研究也逐漸受到關注,并成為當前科學領域的研究熱點之一?,F(xiàn)實社會中,許多人希望通過分析社會網(wǎng)絡的結構和變化,發(fā)現(xiàn)網(wǎng)絡中節(jié)點之間的聯(lián)系原理,知曉潛藏在一般現(xiàn)象下的規(guī)律,以及社會網(wǎng)絡拓撲結構特征和節(jié)點屬性特征與網(wǎng)絡節(jié)點行為趨勢之間的關系,進而發(fā)現(xiàn)社會網(wǎng)絡的演變本質,利用這些信息幫助人們更有效的配置資源和信息處理,指導商業(yè)生產(chǎn)、人類生活、人口管理、自然規(guī)劃等方面的管理、判讀和決策。其中網(wǎng)絡節(jié)點行為趨勢的一個重要研究點就是鏈路預測。
鏈路預測方法用來描述網(wǎng)絡未來的發(fā)展趨勢,可以細化至節(jié)點之間的連接預測;也可以在現(xiàn)有的不完整網(wǎng)絡中找出殘缺的或者是隱藏的邊。傳統(tǒng)的鏈路預測方法一般利用網(wǎng)絡拓撲特征和節(jié)點屬性,采用機器學習的方法進行預測;但由于在特征的數(shù)量和質量上存在瓶頸,不利于深入挖掘網(wǎng)絡的屬性,因此預測效果也受到限制。
技術實現(xiàn)要素:
本發(fā)明的目的在于克服目前鏈路預測方法存在的特征數(shù)量有限,特征維數(shù)不夠豐富的問題,提出了一種鏈路預測模型的訓練方法,該方法將訓練集提取的特征集進行模型轉換,得到多維特征集,并將特征集和多維特征集進行融合作為鏈路預測模型的輸入,提升了模型的預測性能,將該模型用于鏈路預測可以提升鏈路預測性能。
為了實現(xiàn)上述目的,本發(fā)明提供一種鏈路預測模型的訓練方法,所述方法包括:
步驟s1)對抓取網(wǎng)絡數(shù)據(jù)進行預處理,將預處理后的網(wǎng)絡數(shù)據(jù)提取訓練集;
步驟s2)對訓練集構造的網(wǎng)絡進行特征提取,將提取的特征組成特征集;所述特征包括:基于鄰居的特征和基于網(wǎng)絡游走的特征;
步驟s3)對所述特征集用梯度迭代樹模型進行特征轉換,得到新的多維特征集;
步驟s4)將所述特征集和新的多維特征集進行融合輸入鏈路預測模型,訓練得到所述鏈路預測模型的參數(shù),從而得到訓練完畢的鏈路預測模型。
上述技術方案中,所述步驟s1)具體包括:
步驟s1-1)從互聯(lián)網(wǎng)中抓取大量的網(wǎng)絡數(shù)據(jù);
所述網(wǎng)絡數(shù)據(jù)中包含邊的時間信息;
步驟s1-2)若所抓取的網(wǎng)絡數(shù)據(jù)進行預處理,所述預處理為刪除包含孤立節(jié)點或節(jié)點對的網(wǎng)絡數(shù)據(jù);
步驟s1-3)按時間先后順序從預處理后的網(wǎng)絡數(shù)據(jù)中提取訓練集;
從預處理的網(wǎng)絡數(shù)據(jù)中選出相距為兩跳的節(jié)點對,由于正負樣本不均衡,需要對節(jié)點對進行采樣,使得正負樣本數(shù)量一致;采樣后的樣本經(jīng)過標注后作為訓練樣本;所有訓練樣本的集合為訓練集。
上述技術方案中,所述步驟s3)的具體實現(xiàn)過程為:將所述特征集中的特征向量進行分類,然后分配到所述梯度迭代樹模型的葉子節(jié)點上,直接取葉子節(jié)點的輸出值作為新的多維特征集。
基于上述方法建立的鏈路預測模型,本發(fā)明還提供了一種鏈路預測的方法,所述方法包括:
步驟t1)提取所述預測集數(shù)據(jù)的特征,組成預測特征集;
步驟t2)將預測特征集輸入所述鏈路預測模型,輸出結果為節(jié)點對未來產(chǎn)生連接的概率。
本發(fā)明的優(yōu)點在于:
1、本發(fā)明的鏈路預測模型的訓練方法只需要從現(xiàn)有的特征集入手,擴展特征集的數(shù)量;不需要再從網(wǎng)絡中提取新的特征,極大地減少了特征提取難度;
2、本發(fā)明的鏈路預測方法能夠提升鏈路預測性能;
3、本發(fā)明的方法不僅對不同網(wǎng)絡具有普適性,而且對不同時序劃分的訓練集測試集都有很好的魯棒性。
附圖說明
圖1為本發(fā)明的鏈路預測模型的訓練方法的流程圖。
具體實施方式
下面結合附圖對本發(fā)明的方法做進一步詳細的說明。
如圖1所示,一種鏈路預測模型的訓練方法,所述方法包括:
步驟s1)對抓取網(wǎng)絡數(shù)據(jù)進行預處理,將預處理后的網(wǎng)絡數(shù)據(jù)提取訓練集;具體包括:
步驟s1-1)從互聯(lián)網(wǎng)中抓取大量的網(wǎng)絡數(shù)據(jù);
所述網(wǎng)絡數(shù)據(jù)中包含邊的時間信息;
步驟s1-2)若所抓取的網(wǎng)絡數(shù)據(jù)進行預處理,所述預處理為刪除包含孤立節(jié)點或節(jié)點對的網(wǎng)絡數(shù)據(jù);
步驟s1-3)按時間先后順序從預處理后的網(wǎng)絡數(shù)據(jù)中提取訓練集;
從預處理的網(wǎng)絡數(shù)據(jù)中選出相距為兩跳的節(jié)點對,由于正負樣本不均衡,需要對節(jié)點對進行采樣,使得正負樣本數(shù)量一致;采樣后的樣本經(jīng)過標注后作為訓練樣本;所有訓練樣本的集合為訓練集;
步驟s2)對訓練集構造的網(wǎng)絡進行特征提取,將提取的特征組成特征集;
提取的特征包括:基于鄰居的特征和基于網(wǎng)絡游走的特征;在本實施例中,提取的特征為:adamic-adar和rootedpagerank。
步驟s3)對特征集用梯度迭代樹(gradientboostingdecisiontrees)模型進行特征轉換,得到新的多維特征集;
將特征集中的特征向量進行分類,然后分配到所述梯度迭代樹模型的葉子節(jié)點上,然后直接取葉子節(jié)點的輸出值作為新的多維特征集;
步驟s4)將特征集和新的多維特征集進行融合輸入鏈路預測模型,訓練得到所述鏈路預測模型的參數(shù),從而得到訓練完畢的鏈路預測模型。
基于上述方法得到鏈路預測模型,本發(fā)明還提供了一種鏈路預測的方法,所述方法包括:
步驟t1)提取所述預測集數(shù)據(jù)的特征,組成預測特征集;
步驟t2)將預測特征集輸入所述鏈路預測模型,輸出結果為節(jié)點對未來產(chǎn)生連接的概率。