劉華偉
摘要:近年來,智慧物聯(lián)的應用越來越多,如智能社區(qū)、智能家居以及智能汽車等,該應用主要通過傳感器等設備來實時的接收和分析數(shù)據(jù)并把結果反饋給控制系統(tǒng),從而達到智能的效果,而實體間的智能交互就是其中重要的一個環(huán)節(jié)。但是,從目前的結果來看效果較差,主要表現(xiàn)在實體間交互的自主性較差,需要依賴人的參與,實體不能通過分析與其它實體間的歷史交互來自主按需的與相應的實體進行交互。為了解決該問題,該文主要研究基于神經(jīng)網(wǎng)絡的物聯(lián)網(wǎng)實體信息交互關系識別方法。
該文首先提出了實體信息交互模型,并且從線性模型和非線性模型的角度去分析適合物聯(lián)網(wǎng)實體交互關系識別的分類模型,提出了一種基于神經(jīng)網(wǎng)絡的物聯(lián)網(wǎng)實體交互關系識別模型。為了驗證本文思路的正確性,該文主要考察以邏輯回歸為代表的線性模型和以神經(jīng)網(wǎng)絡為代表的非線性模型在本問題上的應用,此外,為了保證模型的努棒性,該文提出了三種不同數(shù)據(jù)場景下模型的學習方式來適應不同情況下對于模型的要求,從而來保證模型的可靠性。最后通過實驗數(shù)據(jù)比較驗證了神經(jīng)網(wǎng)絡在本問題上的有效性。
該文實驗數(shù)據(jù)選取了麻省理工學院數(shù)字媒體實驗室做社會演變研究時所用公開的數(shù)據(jù)集,該數(shù)據(jù)主要用來評估本文的模型在實體關系識別上的有效性。實驗結果證明,與之前的方法相比,該模型在物聯(lián)網(wǎng)實體關系實時識別上表現(xiàn)出更好的準確率。
關鍵詞:關系分類;物聯(lián)網(wǎng);神經(jīng)網(wǎng)絡;關系識別
中圖分類號:TP18 文獻標識碼:A 文章編號:1009-3044(2017)04-0175-03
1 背景
近年來,在互聯(lián)網(wǎng)基礎上提出的“物聯(lián)網(wǎng)”[1-2]概念受到廣泛關注。以物聯(lián)網(wǎng)為代表的新一代信息通信技術發(fā)展迅速,被認為是繼計算機、互聯(lián)網(wǎng)和移動通信網(wǎng)絡之后的第三次信息產(chǎn)業(yè)浪潮。
隨著信息技術的發(fā)展和完善,物聯(lián)網(wǎng)形成一個巨大的泛在網(wǎng)絡,將會有更廣闊的應用前景。對于人類日常生活和人類的行為模型的研究還有更多,Choudhury和Pentland在文獻[3]中提出了一種名為Sociometer的便攜傳感器系統(tǒng);美國麻省理工學院媒體數(shù)值研究實驗室與著名的手機廠商諾基亞公司共同研究的“Reality Mining”項目,分析人類日常行為方式[4]、人類之間關系抽取[5]以及構建人類關系網(wǎng)絡結構[6]。此外,Oleksandr Lobunets 和Wolfgang Prinz在文獻[7]中提出了一種名為PeopleWhere的智能系統(tǒng),它主要是利用傳感器技術實現(xiàn)局部個人感知系統(tǒng),并基于此建立一個局部小型社會網(wǎng)絡,這和上面所述的機會網(wǎng)絡有點類似。
范偉和李曉明等人在文獻[8]中給出了對于物聯(lián)網(wǎng)數(shù)據(jù)建模和挖掘的挑戰(zhàn),文中給出了如何對海量數(shù)據(jù)進行挖掘的計算框架,認為基于MapReduce/Hadoop[9-10]的計算框架并不適用于物聯(lián)網(wǎng)海量數(shù)據(jù)的挖掘,而孫凝暉等人在文獻[11]中提出的海計算框架更加適合物聯(lián)網(wǎng)海量數(shù)據(jù)的挖掘的計算框架。在物聯(lián)網(wǎng)實體信息交互關系識別和交互關系抽取上,孫世軒等人在文獻[12]中提出了一種基于Chameleon聚類算法的實體關系抽取模型,此外夏季等人在文獻[13]中提出了一種基于隱樸素貝葉斯[14]的物聯(lián)網(wǎng)實體交互關系識別模型,該模型在樸素貝葉斯模型的基礎上為每個屬性節(jié)點增加一個隱藏的父節(jié)點,以此來表示該屬性與其他各屬性之間的依賴關系所產(chǎn)生的影響,從而來弱化了樸樹貝葉斯屬性之間相互獨立的假設。
本文“基于神經(jīng)網(wǎng)絡的物聯(lián)網(wǎng)實體關系識別”是在上述研究的基礎上進一步探討物聯(lián)網(wǎng)實體交互關系的識別方法并且對這些方法做出比較。
2 基于神經(jīng)網(wǎng)絡的物聯(lián)網(wǎng)實體關系識別
2.1 基本思想
本文將介紹邏輯回歸和神經(jīng)網(wǎng)絡這兩種分類算法在物聯(lián)網(wǎng)實體交互關系識別問題中的應用,其中主要原因如下:1)兩種方法的思路類似,都是去做關系分類,損失函數(shù)也可以完全相同,唯一不同的就是數(shù)據(jù)特征的表達空間,邏輯回歸是線性分類器,而神經(jīng)網(wǎng)絡可以拓展成非線性的分類器,從而可以通過增強特征表達空間來更好的擬合數(shù)據(jù),本章將對比這兩類算法來探索適合本問題的分類模型;2) 參數(shù)的學習過程幾乎類似,都可以用批量梯度下降或者隨機梯度下降來解決參數(shù)優(yōu)化問題,這樣有利于在不同場景下去學習和更新我們的模型,從而可以很容易的適應海量數(shù)據(jù)和模型實時更新的需求。
2.2 算法原理及應用場景分析
2.2.1 基于邏輯回歸的關系分類算法
1)模型訓練
由于邏輯回歸只能處理二分類問題,因此現(xiàn)在我們假設物聯(lián)網(wǎng)中實體的關系分類分為朋友和非朋友兩類,并且假設分類“朋友”為對于標簽1的分類,那么分類“非朋友”就是對應標簽0的分類。同樣我們假設m表示我們訓練數(shù)據(jù)的總數(shù)量,n表示數(shù)據(jù)特征的的維度,[θ]表示我們模型的參數(shù),理論上與我們的特征維度n是相同的,[ Jθ]表示損失函數(shù),計算如下:
[ Jθ = 1mi=1mCosthθxi, yi]
因此基于關系分類的邏輯回歸算法的優(yōu)化問題轉(zhuǎn)化為如下問題:
[minθJθ =-1mi=1myiloghθxi+1-yilog1-hθxi]
最后通過參數(shù)學習的方式,使得最終的損失函數(shù)[Jθ]最小從而得到我們想要的模型參數(shù)[θ]。
2.2.2 基于SoftMax回歸的關系分類算法
1)模型訓練
SoftMax原理和邏輯回歸相似,僅僅是邏輯回歸在多分類問題上的拓展,以解決物聯(lián)網(wǎng)實體關系多分類場景,因此現(xiàn)在我們假設物聯(lián)網(wǎng)中實體的關系分類分為好朋友、一般朋友、非朋友這三類,并且假設分類“好朋友”為對于標簽0的分類,分類“一般朋友”為對應標簽1的分類,那么分類“非朋友”就是對應標簽2的分類。同樣我們假設m表示我們訓練數(shù)據(jù)的總數(shù)量,n表示數(shù)據(jù)特征的的維度,[θ]表示我們模型的參數(shù),此時模型的參數(shù)不是特征維度n了,而是矩陣3*n,3對應我們分類中的類別數(shù),也就是參數(shù)矩陣的每一行對應一個類別的參數(shù),[ Jθ]表示損失函數(shù),計算如下:
[Jθ = 1mi=1mj=1k1yi=jlogeθTjxij=1keθTjxi]
通過一步步計算從而得到參數(shù)[θ],其中使用的方法就是梯度下降。
2.2.3 基于淺層神經(jīng)網(wǎng)絡的關系分類算法
神經(jīng)網(wǎng)絡是一個多層次的分類模型,其實logistic回歸和softmax回歸可以看成最簡單的神經(jīng)網(wǎng)絡,SoftMax回歸和神經(jīng)網(wǎng)絡在多分類問題上的比較如圖1所示。其實邏輯回歸和SoftMax回歸都可以看成不含隱藏層的簡易神經(jīng)網(wǎng)絡。
一般的神經(jīng)網(wǎng)絡有輸入層,隱含層以及輸出層構成,而如果把邏輯回歸看成最簡單的神經(jīng)網(wǎng)絡,那么這個神經(jīng)網(wǎng)絡只有輸入層和輸出層,而沒有隱含層。神經(jīng)網(wǎng)絡處理二分類時,輸出層為一個節(jié)點,但處理K(K>2)分類問題時,數(shù)據(jù)節(jié)點為K個,這個和邏輯回歸以及softmax回歸之間是保持一致的。值得注意的,在神經(jīng)網(wǎng)絡中的最后一層隱含層和輸出層就可以看成是邏輯回歸或softmax回歸模型,之前的層只是從原始輸入數(shù)據(jù)開始學習特征,然后把學習得到的特征交給邏輯回歸或softmax回歸處理,神經(jīng)網(wǎng)絡中的隱含層起到的作用就是做特征轉(zhuǎn)換,從特征空間來講就是轉(zhuǎn)化輸入數(shù)據(jù)的特征空間。
3.3 模型定義
3.3.1 實體交互行為相關參數(shù)定義
本小節(jié)對實體交互模型的結果更進一步的定義實體交互關系識別中需要定義和說明的參數(shù),具體如下:
定義 1:[E =Eid, EAttrs]表示任意實體,其中[Eid]為實體標識符,用來唯一標識該實體;[EAttrs]用來表示標識實體的屬性集合。
定義 2: [B=(Bid, BAttrs) ]表示交互行為,實體間有著各種各種不同的交互,因此用[Bid]來唯一的標識不同的交互行為,[BAttrs]表示對于交互行為的一些屬性說明,比如交互行為是通話的時候,那么可以用通話時間長度來作為屬性說明,如果是短信,則可以用短信長度來形容。
定義 3:[Im,n=Em,En,B,t,?t,l] 用來表示實體[Em]和[En]之間的一次交互行為,其中[Em]表示交互實體,[En]表示被交互實體,[B]用來表示實體之間的交互行為,如定義二中所描述,[t]表示實體間交互所發(fā)生的開始時間,[?t]表示實體間交互所持續(xù)的時間,最后的[l]表示實體交互行為所發(fā)生的地點。
定義 4: [Rm,n=Em,En,Rela]用來表示實體[Em,]和實體[En]之間的關系[Rela]。因為本文是基于歷史實體交互數(shù)據(jù)的分類模型訓練,因此[Rela]參數(shù)可以作為模型輸入的類標簽。訓練后的模型可以通過任意交互實體的交互行為來實現(xiàn)對交互實體間的關系分類。
定義 5:[x,y=Im,n,Rm,n] 用來表示實體間一次交互所產(chǎn)生的數(shù)據(jù),[x]作為屬性輸入,而[y]作為數(shù)據(jù)標簽輸入。因此實體間的每次交互都會產(chǎn)生一條這樣的記錄,最后通過將大量的歷史記錄用作我們算法的輸入,從而得出我們想要的模型。
3.3.2 實體交互關系分類模型構建
整個實體交互關系分類模型中流程的每一步的具體說明如下:
1)數(shù)據(jù)預處理:根據(jù)上述3.3.1中對實體交互行為中的相關參數(shù)定義,對歷史交互數(shù)據(jù)進行處理,從而每個記錄都可以最后表示成3.3.1節(jié)中定義5的樣子。其中需要注意對屬性中時間,地點等屬性的處理。對于交互時間,通常記錄的形式如:2016.10.1 20:08,前面表示日期后面表示當前時間,一種方法是可以把時間轉(zhuǎn)成離散值,如轉(zhuǎn)化成辦公時間和非辦公時間的離散值。而對于交互地點屬性,可以對地點進行提前分類,如分成公共場所和私人場所對應的離散值,具體如何分類和分幾類可以視具體情況而定。
2)如上面3.2.4小結所述,對于不同的數(shù)據(jù)的規(guī)模,分別使用邏輯回歸和淺層神經(jīng)網(wǎng)絡算法在不同的場景下的參數(shù)學習方式。 如果是小規(guī)模數(shù)據(jù),則轉(zhuǎn)下面第3)步,而如果是海量數(shù)據(jù),則轉(zhuǎn)下面第4)步。
3)優(yōu)化算法利用批量梯度下降的方式來學習參數(shù),即對于每次參數(shù)的更新,都會去遍歷整個數(shù)據(jù)集,從而不斷的迭代這個過程直到模型收斂得到最終的模型參數(shù)[θ]。
4)優(yōu)化算法利用隨機梯度下降的方式來學習參數(shù),即對于每次參數(shù)的更新,只是用一條實體交互數(shù)據(jù)來更新,從而不斷的迭代這個過程直到模型收斂得到最終的到模型的參數(shù)[θ]。
5)如果需要進行在線學習,則對于到來的新數(shù)據(jù),轉(zhuǎn)上面第4)步,從而實現(xiàn)對模型參數(shù)的不斷更新。
3.4 實驗驗證與結果分析
3.4.1 實驗過程
1)志愿者關系采集
實驗數(shù)據(jù)中給出了關于八十幾位志愿者之間的關系調(diào)查,其中有31918條數(shù)據(jù),但是有很多條數(shù)據(jù)中缺少關鍵字段,還有一些重復的數(shù)據(jù),在經(jīng)過對異常數(shù)據(jù)的清理之后,我們數(shù)據(jù)中還有3731條數(shù)據(jù),具體的人物關系的分布如表1所示。但是我們這邊主要分析朋友和非朋友關系的識別,因此處理完的數(shù)據(jù)分布如表2中所示。
表1 訓練數(shù)據(jù)中關系的細粒度關系分布
[序號\& 關系種類\&對數(shù)\&1\&Twitter聯(lián)系\&265\&2\&親密朋友\&513\&3\&Facebook關注\&1301\&4\&政治討論黨\&387\&5\&社交黨\&1265\&]
3.4.2 實驗結果與分析
實驗主要用邏輯回歸和神經(jīng)網(wǎng)絡兩種方法,由于是二分類問題,所以兩種算法使用的都是交叉熵誤差(Cross Entropy)函數(shù),算法的主要不同在于線性分類和非線性分類,神經(jīng)網(wǎng)絡中使用兩層神經(jīng)網(wǎng)絡,隱含層中神經(jīng)元的個數(shù)為20,使用tanh作為激活函數(shù),兩種方法都加上了0.05的正則化因子來防止過擬合。為了保持和之前算法的對比,所有實驗都是使用10次交叉驗證的評價準確率作為最后的結果。
我們主要做了兩個實驗,實驗一是把所有的交互都當成首次交互,不區(qū)分交互的實體之間是否曾經(jīng)有過交互歷史,這與夏季等在文獻[17]中的實驗策略是一樣的,實驗結果如表3所示,其中NBC是樸素貝葉斯模型,C4.5代表決策樹模型,HNB是作者使用的隱貝葉斯的模型,最后兩個是本章給出的模型。
4 結束語
本問主要從線性和非線性算法出發(fā),探索適合物聯(lián)網(wǎng)實體交互關系識別的方法。文中詳細的描述了實體交互關系識別模型的設計,并且通過實驗表明,邏輯回歸受限于其線性分類器的本質(zhì)在實驗結果中稍差,而神經(jīng)網(wǎng)絡通過隱含層中特征空間的轉(zhuǎn)換,在本應用中要優(yōu)于所有其它的算法。
參考文獻:
[1] Xia Feng.Internet of things[J]. International Journal of Communication Systems 25, 2012(9): 1101.
[2] 孫其博. 物聯(lián)網(wǎng): 概念, 架構與關鍵技術研究綜述[J]. 北京郵電大學學報, 2010, 33(3): 1-9.
[3] Choudhury, Tanzeem Khalid. Sensing and Modeling Human Networks[J]. Massachusetts Institute of Technology, 2004: 101-105.
[4] Eagle N, Pentland A. Reality Mining: Sensing Co mplex Social Systems[J]. Personal and Ubiquitous Computing, 2006, 10: 255-268.
[5] Eagle N, Pentland A, Lazer D. Inferring Social Network Structure using Mobile Phone Data[J]. Proceedings of the National Academy of Sciences (PNAS), 2009, 106(36): 15274-15278.
[6] Onnela J. Structure and Tie Strengths in Mobile Communication Networks[J]. Proceedings of the National Academy of Sciences (PNAS), 2007, 104: 7332–7336.
[7] Oleksandr Lobunets and Wolfgang Prinz. PeopleWhere: Platform for Reality Mining Applications[C]. IEEE International Conference on Digital E cosystems and Technologies, 2009: 697-702.
[8] 范偉, 李曉明. 物聯(lián)網(wǎng)數(shù)據(jù)特性對建模和挖掘的挑戰(zhàn)[J]. 中國計算機學會通訊, 2010, 9(6).
[9] Chu Cheng."Map-reduce for machine learning on multicore[J]. Advances in neural information processing systems, 2007(19): 281.
[10] Shvachko, Konstantin. The hadoop distributed file system[C]. 2010 IEEE 26th symposium on mass storage systems and technologies (MSST). IEEE, 2010.
[11] 孫凝暉, 徐志偉, 李國杰. 海計算:物聯(lián)網(wǎng)的新型計算模型[J]. 物聯(lián)網(wǎng)技術, 2012(2).
[12] 孫世軒. 基于數(shù)據(jù)挖掘的物聯(lián)網(wǎng)領域?qū)嶓w信息交互關系抽取方法研究[D].上海:同濟大學, 2014.
[13] 夏季. 基于數(shù)據(jù)挖掘的物聯(lián)網(wǎng)實體信息交互關系關系識別方法研究[Z]. 2016.
[14] Jordan A.On discriminative vs. generative classifiers: A comparison of logistic regression and naive bayes[J]. Advances in neural information processing systems, 2002(14): 841.