基于馬爾可夫邏輯網(wǎng)的關(guān)聯(lián)規(guī)則遷移學(xué)習(xí)方法
【專利摘要】本發(fā)明涉及一種基于馬爾可夫邏輯網(wǎng)的關(guān)聯(lián)規(guī)則遷移學(xué)習(xí)方法,從源領(lǐng)域到目標(biāo)領(lǐng)域遷移MLN結(jié)構(gòu)的算法主要分為兩個部分:首先,將源領(lǐng)域中的MLN結(jié)構(gòu)與目標(biāo)領(lǐng)域進(jìn)行映射,建立兩個領(lǐng)域之間的關(guān)聯(lián);然后,對映射得到的結(jié)構(gòu)進(jìn)行優(yōu)化以適應(yīng)目標(biāo)領(lǐng)域的指標(biāo),該方法的效果是,不僅可以簡潔明了地描述龐大的Markov網(wǎng),而且還可以靈活地在Markov網(wǎng)中融入模塊化知識;并且能夠容忍知識域中存在不完整性和矛盾性;提高了算法速度;可以通過限制用于更新的子句數(shù)量和限制每個子句的更新類型,來約束搜索空間。
【專利說明】基于馬爾可夫邏輯網(wǎng)的關(guān)聯(lián)規(guī)則遷移學(xué)習(xí)方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種將Markov網(wǎng)與一階邏輯相結(jié)合的統(tǒng)計關(guān)系學(xué)習(xí)方法,尤其是一 種基于馬爾可夫邏輯網(wǎng)的關(guān)聯(lián)規(guī)則遷移學(xué)習(xí)方法。
【背景技術(shù)】
[0002] 遷移學(xué)習(xí)根據(jù)不同任務(wù)間的相似性,將源領(lǐng)域數(shù)據(jù)向目標(biāo)領(lǐng)域遷移,實現(xiàn)對已有 知識的利用,使傳統(tǒng)的從零開始學(xué)習(xí)變成可積累的學(xué)習(xí),并且提高了學(xué)習(xí)效率,其最大的特 點就是利用相關(guān)領(lǐng)域的知識來幫助完成目標(biāo)領(lǐng)域的學(xué)習(xí)任務(wù)。源領(lǐng)域和目標(biāo)領(lǐng)域中相關(guān)知 識的表達(dá)方式有很多,可分為樣本實例、特征映射、模型參數(shù)和關(guān)聯(lián)規(guī)則,針對不同的知識 表達(dá)方式選擇恰當(dāng)?shù)倪w移學(xué)習(xí)方法是保障目標(biāo)領(lǐng)域?qū)W習(xí)的前提。
[0003] 關(guān)聯(lián)規(guī)則遷移指的是發(fā)現(xiàn)相似的領(lǐng)域間共有規(guī)則、結(jié)構(gòu)和邏輯等關(guān)聯(lián)知識,并通 過建立合適的映射來進(jìn)行遷移。在關(guān)聯(lián)規(guī)則遷移的假設(shè)中,領(lǐng)域和領(lǐng)域之間必須是相關(guān)的, 其中的數(shù)據(jù)間存在某些相互聯(lián)系。相關(guān)知識遷移的目的在于利用相關(guān)領(lǐng)域的數(shù)據(jù)聯(lián)系模式 來幫助學(xué)習(xí)。假設(shè)源領(lǐng)域與目標(biāo)領(lǐng)域在樣本關(guān)系方面具有相似性,并試圖尋找這種樣本關(guān) 系。這種方法首先學(xué)習(xí)源領(lǐng)域的樣本關(guān)系知識,接著建立源領(lǐng)域相關(guān)對象與目標(biāo)領(lǐng)域相關(guān) 對象之間的對應(yīng)關(guān)系,最后將源領(lǐng)域的樣本關(guān)系知識直接或經(jīng)過變換遷移到目標(biāo)領(lǐng)域中。 因此,它處理的對象是社會化網(wǎng)絡(luò)數(shù)據(jù),不直接對源樣本進(jìn)行重新利用,而是對樣本表示之 間的關(guān)系進(jìn)行重新利用。因此,這些樣本可以用于不同領(lǐng)域之間知識遷移。
[0004] 馬爾可夫邏輯網(wǎng)(Markov Logic Network,MLN)是將Markov網(wǎng)與一階邏輯相結(jié) 合的統(tǒng)計關(guān)系學(xué)習(xí)方法,最早是由美國華盛頓大學(xué)的兩位學(xué)者Domingos和Richardson提 出,并論證了 MLN作為統(tǒng)計關(guān)系學(xué)習(xí)的統(tǒng)一框架的可能性。一方面,從概率統(tǒng)計的角度來 看,MLN不僅可以簡潔明了地描述龐大的Markov網(wǎng),而且還可以靈活地在Markov網(wǎng)中融入 模塊化知識;另一方面,MLN給一階謂詞邏輯加入了處理不確定性問題的能力,并且能夠容 忍知識域中存在不完整性和矛盾性。因此,統(tǒng)計關(guān)系學(xué)習(xí)中的許多問題都可以用MLN來解 決。鑒于此,當(dāng)前國際人工智能界普遍公認(rèn)MLN是一種較完美地結(jié)合一階謂詞邏輯和概率 圖模型的復(fù)雜性和不確定性問題表示和處理方法,具有十分重要的研究價值和廣闊的應(yīng)用 前景。
[0005] 在一階邏輯知識庫中,每個可能世界必須滿足知識庫中所有的公式,否則該世界 不可能存在,即發(fā)生概率為〇。MLN的基本思想是將一階邏輯的限制放松:一個世界違反公 式越多,其發(fā)生概率越小,但未必為〇。MLN為知識庫中的每個公式附上權(quán)值,并用權(quán)值來表 示公式限制強(qiáng)度的大小,權(quán)值越大,滿足該公式的世界的發(fā)生概率與不滿足該公式的世界 的發(fā)生概率之間的差就越大。隨著公式上權(quán)值的增加,MLN逐漸向純一階邏輯知識庫靠攏。
[0006] 近年來,針對MLN的研究取得了卓有成效的進(jìn)展。2005年,Singla等發(fā)表的文章 《Discriminative training of Markov logic networks》為解決偽似然參數(shù)學(xué)習(xí)中非鄰 接變量之間推理結(jié)果不理想的問題,提出了一種判別訓(xùn)練的參數(shù)學(xué)習(xí)方法。Kok等的文章 《Learning the structure of Markov logic networks》提出了一種自頂向下的從關(guān)系 數(shù)據(jù)庫中學(xué)習(xí) MLN結(jié)構(gòu)的算法,極大地提高了學(xué)習(xí)的搜索效率和準(zhǔn)確率。Davis等的文章 《Deep transfervia second-order Markov logic》提出一種二階邏輯的馬爾可夫模型用于 遷移學(xué)習(xí),其思想是利用二階馬爾可夫邏輯來表示源領(lǐng)域當(dāng)中的結(jié)構(gòu)規(guī)則,然后應(yīng)用到目 標(biāo)領(lǐng)域中去。
[0007] 在人工智能領(lǐng)域,可以利用概率圖模型較好地處理不確定性,用一階邏輯簡潔地 描述復(fù)雜的知識,而在許多實際應(yīng)用中,需要同時利用二者的優(yōu)勢,將二者結(jié)合起來?,F(xiàn)有 的方法大都是將概率和一階邏輯的有限子集相結(jié)合,但多數(shù)比較復(fù)雜。
[0008] MLN雖然是一種較完美地結(jié)合一階謂詞和概率圖模型的復(fù)雜性和不確定性問題表 示和處理方法,但是將它用于知識遷移的文章還沒有見到。Davis提出的DTM算法采用二階 邏輯的馬爾可夫進(jìn)行深度學(xué)習(xí),利用二階馬爾可夫邏輯來表示源領(lǐng)域當(dāng)中的結(jié)構(gòu)規(guī)則,然 后應(yīng)用到目標(biāo)領(lǐng)域中去。然而,用二階馬爾可夫邏輯并不能完全表示目標(biāo)領(lǐng)域和源領(lǐng)域之 間的關(guān)系,只有MLN才考慮社會化網(wǎng)絡(luò)數(shù)據(jù),可以對樣本表示之間的關(guān)系進(jìn)行重新利用,而 不直接對源樣本進(jìn)行重新利用。
[0009] 目前,針對關(guān)聯(lián)規(guī)則遷移學(xué)習(xí)的研究成果尚不多見,現(xiàn)有的方法往往存在關(guān)系表 達(dá)比較復(fù)雜的缺點,導(dǎo)致時間復(fù)雜度過大,遷移代價過高。
【發(fā)明內(nèi)容】
[0010] 本發(fā)明的目的是提供,一種基于馬爾可夫邏輯網(wǎng)的關(guān)聯(lián)規(guī)則遷移學(xué)習(xí)方法,通過 對從源領(lǐng)域中得到的與當(dāng)前目標(biāo)領(lǐng)域相關(guān)的源領(lǐng)域模型的遷移來完成精確有效的結(jié)構(gòu)學(xué) 習(xí),將遷移視為優(yōu)化結(jié)構(gòu),給出一個算法來診斷源MLN結(jié)構(gòu)中不正確部分并加以優(yōu)化,提高 學(xué)習(xí)的精確性。
[0011] 該發(fā)明采用馬爾可夫邏輯網(wǎng)來表示目標(biāo)領(lǐng)域和源領(lǐng)域之間的關(guān)聯(lián)規(guī)則,除了有窮 集的假設(shè)外沒有其他限制,是一種將統(tǒng)計和關(guān)系相結(jié)合的簡單而強(qiáng)大的表示方法。通過對 從源領(lǐng)域中得到的與當(dāng)前目標(biāo)領(lǐng)域相關(guān)的源領(lǐng)域模型的遷移來完成精確有效的結(jié)構(gòu)學(xué)習(xí), 從而避免負(fù)遷移的產(chǎn)生,進(jìn)而提高學(xué)習(xí)精度。
[0012] 本發(fā)明的技術(shù)解決方案:一種基于馬爾可夫邏輯網(wǎng)的關(guān)聯(lián)規(guī)則遷移學(xué)習(xí)方法,從 源領(lǐng)域到目標(biāo)領(lǐng)域遷移MLN結(jié)構(gòu)的算法主要分為兩個部分:首先,將源領(lǐng)域中的MLN結(jié)構(gòu)與 目標(biāo)領(lǐng)域進(jìn)行映射,建立兩個領(lǐng)域之間的關(guān)聯(lián);然后,對映射得到的結(jié)構(gòu)進(jìn)行優(yōu)化以適應(yīng)目 標(biāo)領(lǐng)域的指標(biāo),具體為:
[0013] 第一部分:結(jié)構(gòu)映射,結(jié)構(gòu)映射的目的是發(fā)現(xiàn)從源MLN到目標(biāo)MLN的最優(yōu)映射,映 射的好壞根據(jù)目標(biāo)領(lǐng)域映射的MLN的性能評價,由加權(quán)偽對數(shù)似然值WPLL進(jìn)行估計;
[0014] 主要有兩種映射方法,全局映射和局部映射。在多數(shù)情況下,由于搜索空間的大小 隨著源領(lǐng)域中謂詞的數(shù)量呈指數(shù)級增長,尋找最優(yōu)全局映射在計算量上不可能實現(xiàn)。綜合 考慮,局部映射方法較為可行,因為一個源子句中謂詞的個數(shù)遠(yuǎn)遠(yuǎn)小于MLN結(jié)構(gòu)中的源謂 詞總數(shù)。因此,在本發(fā)明的中,采用局部謂詞映射尋找最優(yōu)映射。
[0015] 步驟1)清空謂詞映射,清空類型約束;
[0016] 步驟2)選取未映射的源謂詞和目標(biāo)謂詞;
[0017] 步驟3)判斷源謂詞和目標(biāo)謂詞是否兼容,若是,執(zhí)行步驟4 ;若不是,執(zhí)行步驟6 ; 如果兩個謂詞擁有相同的參數(shù)個數(shù),且參數(shù)的類型能和當(dāng)前約束兼容,則它們兼容;
[0018] 步驟4)加入此映射,并更新類型約束;
[0019] 步驟5)判斷源謂詞是否都已映射,如果沒有,則轉(zhuǎn)步驟2 ;如果有,則轉(zhuǎn)步驟8 ;
[0020] 步驟6)判斷目標(biāo)謂詞是否都已映射,如果沒有,則轉(zhuǎn)步驟7,如果有,則轉(zhuǎn)步驟5 ;
[0021] 步驟7)對于下一個未映射的目標(biāo)謂詞,轉(zhuǎn)步驟3 ;
[0022] 步驟8)輸出謂詞映射。
[0023] 第二部分:結(jié)構(gòu)優(yōu)化
[0024] 步驟1)自診斷,自診斷的目的是查找MLN中不準(zhǔn)確的部分以期得到優(yōu)化,即,算法 檢查源MLN,逐一確定子句是否需要改變長度,利用遷移的MLN在目標(biāo)領(lǐng)域中進(jìn)行推斷,搜 尋不成立的子句并查找原因,通過Gibbs采樣來完成自診斷,即依次檢驗?zāi)繕?biāo)領(lǐng)域中的每 個謂詞,將正在測試的當(dāng)前謂詞標(biāo)記為K ;
[0025] 根據(jù)子句相關(guān)與否,好壞與否的所有可能的方式,定義閉文字X可能的4種情形, 即:
[0026] [相關(guān),好],所有子句條件都滿足,結(jié)論都正確;
[0027] [相關(guān),壞],所有子句條件都滿足,但是結(jié)論不正確;
[0028] [不相關(guān),好],所有子句條件不能都滿足,因此子句不被激勵,即使受到激勵,結(jié) 論也不正確;
[0029] [不相關(guān),壞],所有子句條件不能都滿足,但是子句一旦被激勵,結(jié)論正確;
[0030] 以上情形考慮條件全部滿足,結(jié)論都正確的所有可能情況,如果條件都滿足,將這 些子句標(biāo)記為相關(guān)的,否則為不相關(guān);當(dāng)且僅當(dāng)結(jié)論是正確的時,標(biāo)記相關(guān)子句為好的;當(dāng) 且僅當(dāng)結(jié)論為錯誤時,標(biāo)記不相關(guān)子句為好的。
[0031] 雖然子句僅包含標(biāo)記為K中的一個文字,但是算法同樣適用于含有多文字的子 句。這種分類法可以表示為如下公式 :
【權(quán)利要求】
1. 一種基于馬爾可夫邏輯網(wǎng)的關(guān)聯(lián)規(guī)則遷移學(xué)習(xí)方法,從源領(lǐng)域到目標(biāo)領(lǐng)域遷移MLN 結(jié)構(gòu)的算法主要分為兩個部分:首先,將源領(lǐng)域中的MLN結(jié)構(gòu)與目標(biāo)領(lǐng)域進(jìn)行映射,建立兩 個領(lǐng)域之間的關(guān)聯(lián);然后,對映射得到的結(jié)構(gòu)進(jìn)行優(yōu)化以適應(yīng)目標(biāo)領(lǐng)域的指標(biāo),具體為: 第一部分:結(jié)構(gòu)映射,結(jié)構(gòu)映射的目的是發(fā)現(xiàn)從源MLN到目標(biāo)MLN的最優(yōu)映射,映射的 好壞根據(jù)目標(biāo)領(lǐng)域映射的MLN的性能評價,由加權(quán)偽對數(shù)似然值WPLL進(jìn)行估計; 第二部分:結(jié)構(gòu)優(yōu)化 步驟1)自診斷,自診斷的目的是查找MLN中不準(zhǔn)確的部分以期得到優(yōu)化,S卩,算法檢查 源MLN,逐一確定子句是否需要改變長度,利用遷移的MLN在目標(biāo)領(lǐng)域中進(jìn)行推斷,搜尋不 成立的子句并查找原因,通過Gibbs采樣來完成自診斷,即依次檢驗?zāi)繕?biāo)領(lǐng)域中的每個謂 詞,將正在測試的當(dāng)前謂詞標(biāo)記為K; 步驟2)結(jié)構(gòu)更新,根據(jù)自診斷的結(jié)果,將太長的子句縮短,并將太短的子句加長; 步驟3)搜索新子句,利用關(guān)系尋徑RPF方法來搜索目標(biāo)領(lǐng)域中的新子句。
2. 根據(jù)權(quán)利要求1所述的一種基于馬爾可夫邏輯網(wǎng)的關(guān)聯(lián)規(guī)則遷移學(xué)習(xí)方法,其特征 是,結(jié)構(gòu)映射的具體方法為: 步驟1)清空謂詞映射,清空類型約束; 步驟2)選取未映射的源謂詞和目標(biāo)謂詞; 步驟3)判斷源謂詞和目標(biāo)謂詞是否兼容,若是,執(zhí)行步驟4 ;若不是,執(zhí)行步驟6 ;如果 兩個謂詞擁有相同的參數(shù)個數(shù),且參數(shù)的類型能和當(dāng)前約束兼容,則它們兼容; 步驟4)加入此映射,并更新類型約束; 步驟5)判斷源謂詞是否都已映射,如果沒有,則轉(zhuǎn)步驟2 ;如果有,則轉(zhuǎn)步驟8 ; 步驟6)判斷目標(biāo)謂詞是否都已映射,如果沒有,則轉(zhuǎn)步驟7,如果有,則轉(zhuǎn)步驟5 ; 步驟7)對于下一個未映射的目標(biāo)謂詞,轉(zhuǎn)步驟3 ; 步驟8)輸出謂詞映射。
3. 根據(jù)權(quán)利要求1所述的一種基于馬爾可夫邏輯網(wǎng)的關(guān)聯(lián)規(guī)則遷移學(xué)習(xí)方法,其特征 是,第一部分中尋找最優(yōu)映射采用局部謂詞映射的方法,因為搜索空間的大小隨著源領(lǐng)域 中謂詞的數(shù)量呈指數(shù)級增長,且一個源子句中謂詞的個數(shù)遠(yuǎn)遠(yuǎn)小于MLN結(jié)構(gòu)中的源謂詞總 數(shù)。
4. 根據(jù)權(quán)利要求1所述的一種基于馬爾可夫邏輯網(wǎng)的關(guān)聯(lián)規(guī)則遷移學(xué)習(xí)方法,其特征 是,第二部分中,步驟1的具體診斷方法為: 根據(jù)子句相關(guān)與否,好壞與否的所有可能的方式,定義閉文字X可能的4種情形,即: [相關(guān),好],所有子句條件都滿足,結(jié)論都正確; [相關(guān),壞],所有子句條件都滿足,但是結(jié)論不正確; [不相關(guān),好],所有子句條件不能都滿足,因此子句不被激勵,即使受到激勵,結(jié)論也 不正確; [不相關(guān),壞],所有子句條件不能都滿足,但是子句一旦被激勵,結(jié)論正確; 以上情形考慮條件全部滿足,結(jié)論都正確的所有可能情況,如果條件都滿足,將這些子 句標(biāo)記為相關(guān)的,否則為不相關(guān);當(dāng)且僅當(dāng)結(jié)論是正確的時,標(biāo)記相關(guān)子句為好的;當(dāng)且僅 當(dāng)結(jié)論為錯誤時,標(biāo)記不相關(guān)子句為好的。
5. 根據(jù)權(quán)利要求4所述的一種基于馬爾可夫邏輯網(wǎng)的關(guān)聯(lián)規(guī)則遷移學(xué)習(xí)方法,其特征 是,雖然子句僅包含標(biāo)記為p#中的一個文字,但是算法同樣適用于含有多文字的子句,這種 分類法表示為如下公式:
僅僅當(dāng)子句屬于[相關(guān),好]這種情形時,X = x的概率才會增加,當(dāng)子句在[相關(guān), 壞]這個情形中時,X = X的概率降低,而在另外兩種情形中的子句對這個公式?jīng)]有影響, 為了解釋這一問題,定義一個與X有關(guān)的閉子句集合中的子句gi" e Gx,不論X的真實值是 多少,這個gin都能滿足條件;又因為不管X的取值為多少,gi"(X = x,MBx = m)的取值都 為1,式⑴中的Sx(x,m)可被重寫成:
由此可以看出,giCT和e?在計算和定義中可以忽略;然而,如果[不相關(guān),壞]情形中 子句中除X以外的其他文字被刪除,X的值將變得重要,將會移動至[相關(guān),好]的情形中; 類似的,如果在[相關(guān),壞]子句中增加文字,將會忽視X的值,并移動至[不相關(guān),好]的 情形中,并且X有正確值的概率不再降低。
6. 根據(jù)權(quán)利要求1所述的一種基于馬爾可夫邏輯網(wǎng)的關(guān)聯(lián)規(guī)則遷移學(xué)習(xí)方法,其特征 是,第二部分中,步驟2的具體步驟為:采用過濾束搜索beam搜索對子句的集合進(jìn)行優(yōu)化, 即在每一步迭代中,文字增加或減少都在當(dāng)前的集合中完成;選取其中最優(yōu)的n個子句,再 進(jìn)行新的迭代;不考慮每一子句中所有文字的加長和縮短,而是僅僅從標(biāo)記了縮短的子句 中移除文字,在標(biāo)記了加長的子句中添加文字,并利用WPLL進(jìn)行打分,通過限制用于更新 的子句數(shù)量和限制每個子句的更新類型,來約束搜索空間。
7. 根據(jù)權(quán)利要求1所述的一種基于馬爾可夫邏輯網(wǎng)的關(guān)聯(lián)規(guī)則遷移學(xué)習(xí)方法,其特 征是,第二部分的步驟3中所述的巡徑RPF方法為:RPF是一種數(shù)據(jù)驅(qū)動方法,用來設(shè)計搜 索路徑以克服局部極值點,考慮將其用于優(yōu)化階段,以發(fā)現(xiàn)源領(lǐng)域與目標(biāo)領(lǐng)域之間的特定 關(guān)系;RPF將關(guān)系領(lǐng)域視為圖G,常量用節(jié)點表示,其任意兩個常量的長度至少是2,由邊連 接;RPF在G中搜索路徑,如果找到這個路徑,就可以寫成閉子句形式;前件是由標(biāo)記路徑上 每個邊的謂詞連接在一起組成的,標(biāo)記連接兩個常量的邊的文字稱為結(jié)論;利用爬山搜索 法,盡可能在前件中增加謂詞來提高子句性能。
【文檔編號】G06N7/00GK104361396SQ201410717615
【公開日】2015年2月18日 申請日期:2014年12月1日 優(yōu)先權(quán)日:2014年12月1日
【發(fā)明者】李海港, 張倩 申請人:中國礦業(yè)大學(xué)