歸納邏輯程式設計

歸納邏輯程式設計

歸納邏輯程式設計(Inductive Logic Programming,ILP)是基於一階邏輯的歸納方法,採用的是反向歸結(Inverse Resolution)過程。歸納邏輯程式設計ILP可以生成新的謂詞,因此被稱為構造性歸納。

基本介紹

  • 中文名:歸納邏輯程式設計
  • 外文名:Inductive Logic Programming
  • 簡稱:ILP
  • 起源時間:20世紀70年代
  • 套用:生物信息學、工程學、環境監控
  • 涉及領域:人工智慧、機器學習
發展背景,邏輯工具,套用,

發展背景

學習是人類擁有智慧型的一種體現,也是獲得知識或技能的基本途徑,而機器學習是計算機系統具有智慧型的重要表現。怎樣才能讓計算機更好地模擬人類的思維,更好地進行學習,這是計算機領域科學家和邏輯學家十分關心的問題。目前的人工智慧研究中,大量的知識工程實踐已經表明,知識獲取問題是智慧型系統性能和套用水平得以提高的主要障礙,因此以機器學習的方法和理論來解決知識獲取問題是十分必要的,並且將在新一代智慧型系統中占據重要的地位。然而,目前的機器學習方法存在許多局限性,比如利用背景知識的局限性、知識表示機制的局限性,以及歸納結論的局限性。針對以上問題,歸納邏輯程式設計(Inductive Logic Programming,ILP)的研究領域應運而生。ILP是機器學習與邏輯程式設計的交叉領域,它藉助於邏輯程式設計已有的理論與方法,在一階邏輯的框架下,試圖克服傳統機器學習存在的問題,建立新的機器學習體系,使機器更好地模擬人的思維。
當人類考慮讓計算機通過考察具體的事例,從事例中概括出刻畫這些事例特有屬性的一般規則時,也即歸納學習一階規則時,就產生了歸納邏輯程式設計這一機器學習方法。
歸納邏輯程式設計是機器學習與邏輯程式設計的交叉研究領域,它作為機器學習的研究熱點之一,是在子句邏輯的框架下通過實例進行學習的方法。歸納邏輯程式設計的研究始於20世紀70年代,90年代初真正興起。1991年,馬格萊頓(S.Muggleton)和布拉茲蒂德(P.Brazdid)組織了第一屆歸納邏輯程式設計的國際研討會。自此之後這些專家們將歸納邏輯程式設計作為機器學習的一項專題進行研究,每年都要召開一次國際會議,吸引了眾多計算機領域專家和邏輯學家們的關注。

邏輯工具

歸納邏輯程式設計所要達到的目的,是讓計算機通過考察具體的事例,概括出能夠刻畫這些事例特有屬性的一般性規則。完成這類任務所使用的工具是一階邏輯,更準確地說,是一階邏輯的一種變體———子句邏輯。這裡有三個重要的概念:子句、赫爾布蘭德解釋和消解,它們分別涉及形式語言、形式語義和形式推演。
第一個重要的概念是子句(clause)。在ILP中使用子句來表達知識。子句是一種公式,定義為由文字的析取組成的公式(一個原子公式和原子公式的否定都叫做文字)。一個一階邏輯的公式經過一定的操作步驟可以轉化為子句的一個集合。與通常的一階邏輯公式相比,子句更簡單,能夠為機器所閱讀和接受,同時基本上保持了一階語言的表現力。人工智慧中經常使用的一種特殊子句是霍恩子句,這是以邏輯學家霍恩(Alfred Horn)的名字命名的。
第二個重要的概念是赫爾布蘭德解釋(Herbrand interpretation),這是以法國數學家赫爾布蘭德(J.Herbrand)的名字命名的。熟悉一階邏輯的人都知道,要使一階邏輯的公式表達命題,必須通過解釋來實現。首先是確定論域,然後將一階語言中的個體符號解釋為論域中的個體,將關係符號和函式符號分別解釋為論域上的關係和函式。對於某個一階語言,可以有許多種甚至無窮多種不同的解釋。不同的解釋可以有不同的論域,即使採用同一個論域,對於同一個個體符號,不同的解釋可以讓它對應於論域中不同的個體。赫爾布蘭德解釋是一類特別的、非常有意思的解釋,對於某個一階語言,如果這個語言中含有個體符號,則它的赫爾布蘭德解釋的論域是唯一的、確定的。
第三個重要的概念是消解(soudness),這是羅賓森(J.A.Robinson)於1965年發現的一個推演規則,有些學者把這個規則叫做“歸結”,這一發現對於在計算機中套用邏輯是極其重要的。在ILP中把從公式集合Σ產生邏輯結論A的方式或過程叫做證明程式(proof procedure),它大致相當於一階邏輯中的形式推演。我們熟悉的推演規則之一是分離規則(MP):從集合{A→B,A}中推出公式 B。

套用

ILP得到很大的發展,其套用領域也不斷拓寬。
一般說來,ILP最重要的套用領域之一是生物信息學(Bioinformatics)。ILP之所以能適用於生物信息學的任務,是因為它會將背景知識和結構數據考慮在內,學習產生人類能理解的知識。在學習蛋白質結構的摺疊的過程中,由於對其結構的學習很重要,所以需要找到能夠清晰描述其結構的語言。傳統的屬性一值方法無法描述對象間的關係,因而也就無法合理地表示蛋白質分子的三維結構,ILP的一階邏輯工具——子句邏輯是非常適合描述這種關係的語言,它在預測蛋白質結構信息和蛋白質次級結構生成中發揮了很大作用。同時,在預測化合物誘變問題上,ILP也解決了傳統方法無法解決的結構關係問題。
ILP系統還常常為工程學、環境監控軟體分析、模式學習和關係發現等領域的數據構造預測模型。雖然ILP與其他機器學習方法相比有一定的優勢,然而隨著科學技術發展和需求的增加,ILP在套用中也面臨許多挑戰:
首先,相比其他的機器學習系統來說,ILP系統對時間和空間有更高的要求,這使得ILP很難去處理大的數據集。因此,ILP應該努力尋求與隨機搜尋和並行處理技術等方法結合以處理結構複雜的數據集。
其次,隱馬爾科夫模型、動態貝葉斯網路、雙連詞和三連詞等技術都能充分表達任務中的內在機率,而ILP系統很少有表達、處理機率的能力,這也是ILP的重大不足之一。
最後,當背景知識和數據集用一階邏輯清晰表達出來時,ILP可以運行良好。但是當數據集是無法通過一階邏輯清晰表達的圖像、視頻、音頻時,ILP就無能為力。就這一問題來說,ILP需要從約束邏輯程式設計中借鑑經驗,學習處理特殊數據格式的技術。

相關詞條

熱門詞條

聯絡我們