【代数语言学巡礼】归纳逻辑编程(inductive logic programming)III

【代数语言学巡礼】归纳逻辑编程(inductive logic programming)III


在这里插入图片描述

归纳逻辑是事例证据支持的逻辑。在演绎逻辑中,一个有效的演绎论证的前提在逻辑上必然包含结论,逻辑蕴涵意味着使前提为真的每一个逻辑上可能的状态也必须使结论成为真理。因此,一个有效的演绎论点的前提为结论提供了完全的支持。然而归纳逻辑将这种观点扩展到较弱的论点。在一个好的归纳论证中,前提的真实性为结论的真实性提供了某种程度的支持,这种支持程度可以通过某种数值尺度来度量。通过与演绎蕴涵概念的类比,归纳支持度的概念可能意味着这样的意思:在使前提成立的逻辑上可能的状态中,结论中必须(至少) r r r大小的比例是正确的,其中 r r r是证据支撑强度的某种数值度量。


inductive logic的形式化描述

从计算机科学的角度来看,人工智能内的知识工程往往更强调“知道什么”(陈述性或描述性知识),而不是“知道如何”(程序性或规定性知识)。数理逻辑一直是陈述性知识的首选表示形式,因此需要从数据中生成逻辑公式的知识发现技术。归纳逻辑程序设计(ILP)[1,2]提供了这样一种可行方法。

ILP算法以概念(如同源蛋白质)的示例 E E E和背景知识 B B B(例如分子动力学的定义)为例,构建一个假设 h h h,该假设以 B B B来解释 E E E,例如:在蛋白质折叠域中, E E E可能包含对分子的描述,这些分子被分成特定折叠(整体蛋白质形状)的正负示例。如下图所示,褶皱“4螺旋上下束”。描述这类蛋白质的一个可能的假设 h h h如下图所示。该定义假设是由一个head(fold( … \dots , … \dots ))和body(如假设语句long( … \dots ), … \dots helix( … \dots ))组成的一个确定子句。在这种情况下,“fold”是示例和假设中涉及的谓词,而“length”,"position"等由背景知识定义。逻辑程序就是一组这样的定式从句。 E 、 B E、B EB h h h都是逻辑程序。

在这里插入图片描述
ILP通常的框架可以描述如下. 以蛋白质折叠为例, 学习系统被提供了背景知识 B B B, 正例集合 E + E^{+} E+以及反例集合 E − E^{-} E 并且构造了一个假设 h h h . B , E + E − B, E^{+} E^{-} B,E+E以及 h h h均为逻辑程序. 一个逻辑程序是一个拥有如下形式的定义论句的集合:

h ← b 1 , … , b n h \leftarrow b_{1}, \ldots, b_{n} hb1,,bn

这里 h h h称作原子命题而 b 1 , … , b n b_{1}, \ldots, b_{n} b1,,bn是原子命题集合. 通常情况下 E + E^{+} E+ E − E^{-} E由基本论句组成, 对于 E + E^{+} E+来说,是带有空主体的确定子句;对于 E − E^{-} E来说,是带有为’false’的head的子句,主体中只有一个基本原子命题;

使用的逻辑符号通常是: 逻辑与 ∧ \land 、逻辑或 ∨ \lor 、逻辑蕴涵 ⊨ \vDash 、错误 □ \square 。而构造假设 h h h的方法如下:

  • 必要性: B ⊭ E + B\not\vDash E^{+} BE+
  • 充分性: B ∧ h ⊨ E + B\land h\vDash E^{+} BhE+
  • 弱一致性: B ∧ h ⊭ □ B\land h\not\vDash\square Bh
  • 强一致性: B ∧ h ∧ E − ⊭ □ B\land h\land E^{-}\not\vDash\square BhE

ILP的具体推导算法限于篇幅不再展开讲,但是其推导带有明显的统计推断色彩,比如根据Bayes定理,假设空间 h h h中具有最大后验概率的假设( h MAP h_{\text{MAP}} hMAP)可以推导如下:

h M A P = arg ⁡ max ⁡ h ∈ H P ( h ∣ E ) = arg ⁡ max ⁡ h ∈ H P ( E ∣ h ) P ( h ) p ( E ) = arg ⁡ max ⁡ h ∈ H P ( E ∣ h ) P ( h ) \begin{aligned} h_{M A P} &=\underset{h \in H}{\arg \max } P(h \mid E) \\ &=\underset{h \in H}{\arg \max } \frac{P(E \mid h) P(h)}{p(E)} \\ &=\underset{h \in H}{\arg \max } P(E \mid h) P(h) \end{aligned} hMAP=hHargmaxP(hE)=hHargmaxp(E)P(Eh)P(h)=hHargmaxP(Eh)P(h)


inductive logic的实例

下面来看一些inductive logic的实例,考虑以下两个例子:

  • example.1随机抽样3200只乌鸦中,每只乌鸦都是黑色的。这有力地支持了以下结论:所有的乌鸦都是黑色的。

  • example.2在随机抽样的400名登记选民中(2004年2月20日进行的民意调查)有62%的选民表示,在2004年总统选举中,他们支持约翰·克里而不是乔治·W·布什。这至少支持了以下结论:57%到67%的登记选民支持克里而不是布什(在投票时或前后)。

这种论点的提出通常就被称为枚举归纳法:它与统计估计技术密切相关。我们可以半形式化地表述这些论点的逻辑形式如下:

前提: 在随机抽样 S S S中,由群体 B B B中的 n n n个成员组成,具有属性 A A A的成员的比例为 r r r;

因此,以程度为 p p p的支持度,可得:
结论: 属性为 A A A B B B的所有成员的比例在 r − q r-q rq r + q r+q r+q之间(即在 q q q的误差范围内)

让我们更形式化地阐述一下这个论点。前提分为三个独立的陈述:

程序 描述 形式化
前提1 S S S成员中具有属性 A A A的成员的频率或比例为 r r r F [ A , S ] = r F[A, S]=r F[A,S]=r
前提2 S S S B B B的关于是否具备属性 A A A的随机样本 Rnd ⁡ [ S , B , A ] \operatorname{Rnd}[S, B, A] Rnd[S,B,A]
前提3 S S S的容量为 n n n ∥ S ∥ = n \|S\|=n S=n
因此 以支持度 p p p --------------------- p p p
结论 属性为 A A A B B B的所有成员的比例在 r − q r-q rq r + q r+q r+q之间 F [ A , B ] = r ± q F[A, B]=r \pm q F[A,B]=r±q

实现及应用

可以参考的实现如下:

  • 1BC and 1BC2: first-order naive Bayesian classifiers:https://intelligentsystems.bristol.ac.uk/
  • ACE (A Combined Engine):https://dtai-static.cs.kuleuven.be/ACE/
  • Aleph:http://www.cs.ox.ac.uk/activities/programinduction/Aleph/
  • Atom:http://www.ahlgren.info/research/atom/
  • Claudien:http://dtai.cs.kuleuven.be/claudien/
  • FOCL algorithm(First Order Combined Learner):https://en.wikipedia.org/wiki/First-order_inductive_learner
一些应用场景
  • 河流水质生物分类:通过观察河流中存在的各种生物物种,可以监测和评估河流水质;
  • 生物分子模拟:ILP在生物分子模拟中的应用旨在提高对生物重要分子的化学式、三维结构和功能之间相互关系的理解;
  • ILP归纳程序不变性:在形式化地证明过程程序的正确性时,需要找到在程序中的给定点始终成立的适当条件;
  • 程序设计中的数据优化:在从高阶规范构造程序时,(高层)规范语言中的函数要用(低层)目标语言实现;
  • 遵循优先原则的创新设计:Innovative design as learning from examples[5]中形式化了一种将创新设计转化为ILP的方法;
  • 定性系统识别:系统辨识是一种基本的动态系统理论中的问题;

引用参考

[1] Muggleton, Stephen (1999). "Inductive Logic Programming:Issues, Results and the Challenge of Learning Language in Logic"Artificial Intelligence. 114(1-2): 283-296.
[2] WIKI:https://en.wikipedia.org/wiki/Inductive_reasoning
[3] https://plato.stanford.edu/entries/logic-inductive/
[4] Luc De Raedt. A Perspective on Inductive Logic Programming. The Workshop on Current and Future Trends in Logic Programming,Shakertown, to appear in Springer LNCS,1999. CiteSeerX:10.1.1.56.1790
[5] Bratko,I.(1993b)Innovative design as learning from examples.Proc.Int.Conf.Design to Manufacture in Modern Industries,Bled,Slovenia,June 1993.

猜你喜欢

转载自blog.csdn.net/hanss2/article/details/111589628
今日推荐