本發(fā)明涉及一種互聯(lián)網(wǎng)技術(shù),特別是一種考慮節(jié)點局部標(biāo)注特性的符號預(yù)測方法。
背景技術(shù):
符號網(wǎng)絡(luò)是指邊具有正或負(fù)符號屬性的網(wǎng)絡(luò),符號為正表示網(wǎng)絡(luò)中兩用戶間具有相互信任的、積極的朋友關(guān)系,負(fù)邊則表示不信任的、消極的敵對關(guān)系。具有符號屬性的網(wǎng)絡(luò)普遍存在,因為在許多復(fù)雜系統(tǒng)中都存在對立關(guān)系:在線社交網(wǎng)絡(luò)中的用戶可以對其他用戶表達信任或不信任的態(tài)度、標(biāo)注朋友或敵人關(guān)系,對某一問題給出不同的觀點;生物系統(tǒng)中,神經(jīng)元之間存在促進和抑制作用;國際關(guān)系中更是存在合作與敵對關(guān)系,研究網(wǎng)絡(luò)的符號屬性有利于理解網(wǎng)絡(luò)的基本結(jié)構(gòu)特征、理解信任和不信任的傳播方式。這些復(fù)雜系統(tǒng)用現(xiàn)有針對無符號的二值網(wǎng)絡(luò)建模不能準(zhǔn)確反映節(jié)點間的關(guān)系,簡單網(wǎng)絡(luò)的研究思路和方法并不適用于符號網(wǎng)絡(luò)。符號網(wǎng)絡(luò)的研究始于Heider基于社會心理學(xué)對人類關(guān)系的研究,隨著復(fù)雜網(wǎng)絡(luò)研究的逐步展開,符號網(wǎng)絡(luò)的結(jié)構(gòu)特征與演化規(guī)律受到研究者的關(guān)注。
在符號網(wǎng)絡(luò)中,由于邊的符號屬性能夠直接反映節(jié)點間的態(tài)度,因此在推薦系統(tǒng)、輿情分析與觀點形成、網(wǎng)絡(luò)欺凌與社會排斥等問題中都有應(yīng)用。于是,如何通過部分觀測到的網(wǎng)絡(luò)符號預(yù)測未知的邊符號成為符號網(wǎng)絡(luò)中非常重要的研究方向,關(guān)于它的研究近幾年受到來自復(fù)雜網(wǎng)絡(luò)、機器學(xué)習(xí)等領(lǐng)域的重視,并提出了許多有效方法。
符號預(yù)測方法根據(jù)考慮網(wǎng)絡(luò)結(jié)構(gòu)特征的不同大致可以分為兩類:①考慮網(wǎng)絡(luò)局部特征的方法;②考慮網(wǎng)絡(luò)全局特征的方法??紤]網(wǎng)絡(luò)局部特征的方法主要利用節(jié)點的鄰域特征如:節(jié)點的出度、入度以及三元組結(jié)構(gòu)特征進行符號預(yù)測。這類方法主要基于節(jié)點鄰居的統(tǒng)計特征以及社會學(xué)相關(guān)理論:結(jié)構(gòu)平衡理論(弱結(jié)構(gòu)平衡)和地位理論通過分析節(jié)點鄰居間的標(biāo)注特征實現(xiàn)邊符號的預(yù)測,所有基于結(jié)構(gòu)平衡和地位理論的預(yù)測方法均要求兩節(jié)點間必須具有共同鄰居,否則無法構(gòu)成三元組。例如:Guha等最早研究了網(wǎng)絡(luò)模型上的符號預(yù)測問題,他們將信任網(wǎng)絡(luò)表示為矩陣并運用不同的矩陣運算代表信任關(guān)系在網(wǎng)絡(luò)上的不同傳播方式,成功實現(xiàn)了信任關(guān)系的預(yù)測。Leskove c等首先采用機器學(xué)習(xí)的方法對符號預(yù)測問題進行了研究。他們利用節(jié)點的出度、入度、節(jié)點的嵌入性以及基于地位理論的所有16種待預(yù)測邊所處的三角形的關(guān)系模式作為特征采用邏輯回歸模型訓(xùn)練分類器,得到了較高的預(yù)測精度。文獻則通過網(wǎng)絡(luò)局部特征和地位理論為特征采用SVM算法進行二值分類實現(xiàn)符號預(yù)測。相對于Leskovec考慮長度為3的有序環(huán)構(gòu)建的網(wǎng)絡(luò)特征,Chiang等,利用Katz指標(biāo)提出一個不平衡測度指標(biāo)并通過長度為
的環(huán)的平衡程度構(gòu)建特征集,然后使用邏輯回歸模型進行符號預(yù)測,當(dāng)環(huán)的長度從3增加到5時,預(yù)測精度有所提高,但是當(dāng)>5后對預(yù)測精確度的影響不大。事實上能夠反映符號網(wǎng)絡(luò)不平衡程度的測度都可以用于符號預(yù)測,因為對于未知符號的預(yù)測就是使圖的不平衡程度最小。文獻通過分析兩節(jié)點間不同的連接形式,提出符號預(yù)測的方法,使得在沒有共同鄰居的情形下的預(yù)測精度有所提高。
研究發(fā)現(xiàn)符合結(jié)構(gòu)平衡(弱結(jié)構(gòu)平衡)的局部結(jié)構(gòu)特征反過來會促使一些有趣的全局特征的出現(xiàn),當(dāng)然也就催生了利用網(wǎng)絡(luò)全局結(jié)構(gòu)進行符號預(yù)測的方法。文獻就從譜分析的角度出發(fā)進行符號預(yù)測并指出許多基于譜分析的方法可以從簡單的二值網(wǎng)絡(luò)擴展到符號網(wǎng)絡(luò)。他們將拉普拉斯矩陣的定義擴充到符號網(wǎng)絡(luò),通過拉普拉斯矩陣的核函數(shù)進行網(wǎng)絡(luò)符號的預(yù)測。Hsieh等發(fā)現(xiàn)滿足弱結(jié)構(gòu)平衡理論的符號網(wǎng)絡(luò)其鄰接矩陣具有低秩特征于是將符號預(yù)測問題轉(zhuǎn)化為矩陣填充問題,用低秩填充法有效地進行了符號預(yù)測。他們還將符號預(yù)測近似為低秩矩陣分解問題進行了符號預(yù)測。文獻也研究了矩陣分解在符號預(yù)測中的應(yīng)用并解決了數(shù)據(jù)不平衡對預(yù)測精度的影響。文獻提出了一種區(qū)別于Hsieh以逐點誤差衡量原矩陣與結(jié)果矩陣誤差的方法,他們將成對誤差應(yīng)用到矩陣分解的損失函數(shù)中,給出的算法MF-LiSP取得了較高精確度。另外,為提高矩陣填充、矩陣分解的效率也提出相應(yīng)方法。另外,符號網(wǎng)絡(luò)中除了結(jié)構(gòu)信息外還有豐富的元數(shù)據(jù)信息,它們代表用戶的熟識度、聲譽、語義與態(tài)度等,運用元數(shù)據(jù)與網(wǎng)絡(luò)結(jié)構(gòu)信息共同進行符號預(yù)測也受到關(guān)注。通過以上介紹發(fā)現(xiàn),符號網(wǎng)絡(luò)的局部結(jié)構(gòu)特征反過來會促使全局特征的出現(xiàn),可見兩者間聯(lián)系緊密,因此符號預(yù)測方法僅使用局部特征或全局特征都不夠全面,在預(yù)測算法中如何同時利用局部和全局特征是一個需要進一步研究的問題。另外,對于局部特征目前的依據(jù)只有結(jié)構(gòu)平衡(弱結(jié)構(gòu)平衡理論)和地位理論,需要進一步豐富。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種考慮節(jié)點局部標(biāo)注特性的符號預(yù)測方法,用合適的模型描述在線社會網(wǎng)絡(luò)中用戶間友好或敵對的態(tài)度,從全局和局部兩個角度共同考察用戶的標(biāo)注行為。
一種考慮節(jié)點局部標(biāo)注特性的符號預(yù)測方法,包括以下步驟:
步驟1,獲取符號網(wǎng)絡(luò)的形式表達;
步驟2,分析符號網(wǎng)絡(luò)結(jié)構(gòu)特征,獲取網(wǎng)絡(luò)鄰接矩陣的秩與結(jié)構(gòu)平衡和弱結(jié)構(gòu)平衡理論間的關(guān)系,利用低秩矩陣分解對低秩矩陣進行分解,且滿足矩陣秩最小的約束條件;
步驟3,根據(jù)符號網(wǎng)絡(luò)結(jié)構(gòu)特征結(jié)論,將符號預(yù)測問題轉(zhuǎn)化為優(yōu)化問題;
步驟4,利用隨機梯度下降法對低秩矩陣分解,得到考慮網(wǎng)絡(luò)全局特征。
本發(fā)明公開了一種考慮節(jié)點局部標(biāo)注特性的符號預(yù)測方法及技術(shù)方案,該技術(shù)方案利用圖論、矩陣論、低秩矩陣分解以及隨機梯度下降等計算機技術(shù)手段對在線社會網(wǎng)絡(luò)的標(biāo)注行為進行建模,基于低秩矩陣分解方法設(shè)計了同時考慮網(wǎng)絡(luò)全局和局部方法標(biāo)注特征的符號預(yù)測方法,該方法具有運算速度快預(yù)測精度高的特點,適合應(yīng)用于大規(guī)模在線社會網(wǎng)絡(luò)數(shù)據(jù)處理。本發(fā)明在三個這是網(wǎng)絡(luò)數(shù)據(jù)集上進行了實驗,采用兩種指標(biāo)評價預(yù)測效果,實驗結(jié)果顯示本發(fā)明提出的方法優(yōu)于其他四種經(jīng)典算法。
下面結(jié)合說明書附圖對本發(fā)明作進一步描述。
附圖說明
圖1為預(yù)測方法流程圖。
圖2為四種三角形模體結(jié)構(gòu)示意圖。
圖3為弱平衡結(jié)構(gòu)與矩陣的低秩特性示意圖。
圖4為待預(yù)測邊與節(jié)點標(biāo)注的偏置行為示意圖。
圖5為數(shù)據(jù)集統(tǒng)計特征示意圖。
圖6為互惠邊信息對符號預(yù)測的提高示意圖。
圖7為三個符號網(wǎng)絡(luò)的預(yù)測效果示意圖。
圖8為預(yù)測精度與K間的關(guān)系示意圖。
具體實施方式
符號網(wǎng)絡(luò)的形式化表達:用符號網(wǎng)絡(luò)表示在線社會網(wǎng)絡(luò)中用戶間的關(guān)系。符號為正表示網(wǎng)絡(luò)中兩用戶間具有相互信任的、積極的朋友關(guān)系,負(fù)邊則表示不信任的、消極的敵對關(guān)系。
結(jié)合圖1,一種考慮節(jié)點局部標(biāo)注特性的符號預(yù)測方法,包括以下步驟:
步驟1,獲取符號網(wǎng)絡(luò)的形式表達;
步驟2,分析符號網(wǎng)絡(luò)結(jié)構(gòu)特征,獲取網(wǎng)絡(luò)鄰接矩陣的秩與結(jié)構(gòu)平衡和弱結(jié)構(gòu)平衡理論間的關(guān)系,利用低秩矩陣分解對低秩矩陣進行分解,且滿足矩陣秩最小的約束條件;
步驟3,根據(jù)符號網(wǎng)絡(luò)結(jié)構(gòu)特征結(jié)論,將符號預(yù)測問題轉(zhuǎn)化為優(yōu)化問題;
步驟4,利用隨機梯度下降法對低秩矩陣分解,得到考慮網(wǎng)絡(luò)全局特征;
步驟5,在預(yù)測結(jié)果上利用互惠邊信息優(yōu)化預(yù)測效果。
步驟3中加入偏置項用以描述不同節(jié)點的標(biāo)注行為,由全局和局部特征共同決定預(yù)測結(jié)果,達到提高預(yù)測精度的目的。
最后利用真實符號網(wǎng)絡(luò)數(shù)據(jù)證明本發(fā)明能夠獲得較其他方法好的預(yù)測效果且算法效率高。
步驟1的具體過程為定義符號網(wǎng)絡(luò)G為:G=(V,E,S),其中V={1,2,3,...,n}為節(jié)點集合,E={1,2,3,...,m}為邊集合,S={-1,0,1}表示邊的符號,O為已觀測到的邊集,i,j∈V,e(i,j)∈E,s(i,j)∈S,若節(jié)點i與j的邊符號為正則s(i,j)=1,節(jié)點i與j的邊符號為負(fù)則s(i,j)=-1,節(jié)點i與j的邊符號未被觀測到時s(i,j)=0。符號網(wǎng)絡(luò)G對應(yīng)有鄰接矩陣A∈im×n:
步驟2的具體過程為:符號網(wǎng)絡(luò)中三個節(jié)點間的關(guān)系共形成四種三角形模體(如圖2所示),從社會心理學(xué)角度看,在三角形模體中,三符號積為正則平衡,否則不平衡。平衡網(wǎng)絡(luò)的判別條件極其嚴(yán)苛,放寬結(jié)構(gòu)平衡的約束,則有弱結(jié)構(gòu)平衡理論:只要三角形模體中不存在兩正一負(fù)的關(guān)系就構(gòu)成弱平衡。當(dāng)網(wǎng)絡(luò)滿足弱平衡結(jié)構(gòu)時,節(jié)點可以被分成K個子集,且子集內(nèi)節(jié)點間的邊全為正,子集間節(jié)點的邊全為負(fù)。這類符號網(wǎng)也被稱為K-平衡網(wǎng)。當(dāng)符號網(wǎng)絡(luò)滿足K-
平衡條件時,網(wǎng)絡(luò)節(jié)點可以被分成K個子集,若對網(wǎng)絡(luò)節(jié)點編號排序,此時其鄰接矩陣將為分塊矩陣,這個矩陣的秩小于鄰接矩陣的行列數(shù),由此可以判定:符號網(wǎng)絡(luò)具有低秩性。
結(jié)合圖3,步驟3的具體過程為:
步驟3.1,將鄰接矩陣A中為0的元素替換為1形成矩陣X;
步驟3.2,將符號預(yù)測問題轉(zhuǎn)化為優(yōu)化問題,形式化描述為
由于求解矩陣填充為NP難問題,可以用核范數(shù)代替目標(biāo)函數(shù),然而矩陣填充被運用還有一個條件,即:被觀測邊符號要均勻分布,有時這一條件不容易被滿足,且矩陣填充的運算速度較慢,因此矩陣填充經(jīng)常用低秩矩陣分解問題來近似;
步驟3.3,將鄰接矩陣A分解為兩個K行n列的矩陣PT和Q,使得PT與Q的積與A之間的誤差最?。?/p>
步驟3.4,令為預(yù)測到的用戶i對用戶j的評價;
步驟3.5,將矩陣模型轉(zhuǎn)化為最優(yōu)化問題
其中,l為損失函數(shù),用于衡量原矩陣與預(yù)測結(jié)果矩陣PTQ間的誤差,Ω為用來防止過擬合的正則化項,λ為懲罰因子。λ太大會導(dǎo)致模型欠擬合,而太小導(dǎo)致過擬合,實踐中,要根據(jù)實際情況對λ的值做出調(diào)整,以上為基本矩陣分解的符號預(yù)測算法。損失函數(shù)l是Square_loss、Exp_loss函數(shù)或Hinge_loss中的任意一個。
結(jié)合圖4,基本的矩陣分解模型僅表現(xiàn)了鄰接矩陣的全局特性,并不考慮網(wǎng)絡(luò)的局部特征,事實上,在被符號網(wǎng)絡(luò)所代表的社會關(guān)系網(wǎng)中,不同節(jié)點的標(biāo)注行為是不同的,常常帶有偏置,因此要準(zhǔn)確預(yù)測邊的符號需要考慮與該邊相連的兩個節(jié)點的局部標(biāo)注特性,可在預(yù)測中可添加以下偏置項:
bij=μ+Uiout+Ujin
其中,μ為符號網(wǎng)絡(luò)平均評價傾向,μ為負(fù)表示當(dāng)前網(wǎng)絡(luò)用戶更傾向于給其他用戶以負(fù)面評價,反之則表示相反的情況;Uiout表示節(jié)點i發(fā)出的邊符號的總和,表達了節(jié)點i對其他相鄰節(jié)點的評價特特征,當(dāng)節(jié)點i發(fā)出的邊有一半以上為負(fù)時被預(yù)測邊符號為負(fù)的可能性就增加;Ujin表示節(jié)點j收到的邊符號的總和,當(dāng)j的偏置項Ujin為負(fù)時表示節(jié)點j收到了更多的負(fù)面評價,因此被預(yù)測邊的符號為負(fù)的可能性也將增加。
步驟選擇Square_loss為損失函數(shù),改寫優(yōu)化目標(biāo)函數(shù)為:
節(jié)點i對節(jié)點j的評價預(yù)測結(jié)果為
步驟4的具體過程為:
步驟4.1,令通過求梯度以確定優(yōu)化函數(shù)下降方向并獲取目標(biāo)函數(shù)對Uiout、Ujin的偏導(dǎo)數(shù):
步驟4.2,由于沿梯度方向相反的方向下降最快,于是得到如下迭代公式:
Pi←Pi+α(eij*Qj-λPi)
Qj←Qj+α(eij*Pi-λQj)
Uiout←Uiout+α(eij-λUiout)
Ujin←Ujin+α(eij-λUjin)
通過反復(fù)迭代并不斷優(yōu)化參數(shù),使矩陣A與分解后矩陣PTQ間的誤差小于設(shè)定的誤差值即最終收斂。其中α為學(xué)習(xí)速度,α越大下降就越快。隨機梯度下降的時間復(fù)雜度為O(t*m*K),t為迭代并收斂次數(shù)。由于符號網(wǎng)絡(luò)滿足低秩特性通常K值很小且收斂較快,因此采用隨機梯度下降法求解最小化問題速度較快。
步驟5,在帶有偏置項的預(yù)測算法基礎(chǔ)上利用互惠邊信息進一步改善預(yù)測效果;
Matlab編程統(tǒng)計符號網(wǎng)絡(luò)中互惠邊在整個符號網(wǎng)絡(luò)中的占比,根據(jù)社會學(xué)中“鏡子效應(yīng)”可得,當(dāng)i→j有正邊,使得j→i間存在正邊的可能性大大增加,因此可以利用這一現(xiàn)象增強預(yù)測效果:在訓(xùn)練集上使用預(yù)測算法得到預(yù)測結(jié)果,找出訓(xùn)練集中的邊e(i,j),若在測試集中存在邊e(j,i)則令邊e(i,j)符號與邊e(j,i)符號相同,若與預(yù)測結(jié)果不符則修改預(yù)測結(jié)果。
步驟6利用真實符號網(wǎng)絡(luò)數(shù)據(jù)證明本發(fā)明能夠獲得較其他方法好的預(yù)測效果且算法效率高;
實驗中的三個真實大型社會網(wǎng)絡(luò)數(shù)據(jù)來自于斯坦福大學(xué)的SNAP項目(http://snap.stanford.edu)。
為證明所提帶有偏置的矩陣分解模型SLB-MF(Square_loss Matrix Factorization with Bias)對符號預(yù)測問題的有效性,將它與以下基準(zhǔn)預(yù)測算法進行比較:
(1)OutDegree(簡寫為OD);
(2)InDegree(簡寫為ID);
(3)LR(Logistic Regression);
(4)SL-MF(Square_loss Matrix Factoriza-tion);
算法評價
用以下指標(biāo)評價預(yù)測的效果:
(1)RMSE均方根誤差
(2)精確性(Accuracy) 。