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

归纳逻辑是事例证据支持的逻辑。在演绎逻辑中,一个有效的演绎论证的前提在逻辑上必然包含结论,逻辑蕴涵意味着使前提为真的每一个逻辑上可能的状态也必须使结论成为真理。因此,一个有效的演绎论点的前提为结论提供了完全的支持。然而归纳逻辑将这种观点扩展到较弱的论点。在一个好的归纳论证中,前提的真实性为结论的真实性提供了某种程度的支持,这种支持程度可以通过某种数值尺度来度量。通过与演绎蕴涵概念的类比,归纳支持度的概念可能意味着这样的意思:在使前提成立的逻辑上可能的状态中,结论中必须(至少)rrr大小的比例是正确的,其中rrr是证据支撑强度的某种数值度量。
inductive logic的形式化描述
从计算机科学的角度来看,人工智能内的知识工程往往更强调“知道什么”(陈述性或描述性知识),而不是“知道如何”(程序性或规定性知识)。数理逻辑一直是陈述性知识的首选表示形式,因此需要从数据中生成逻辑公式的知识发现技术。归纳逻辑程序设计(ILP)[1,2]提供了这样一种可行方法。
ILP算法以概念(如同源蛋白质)的示例EEE和背景知识BBB(例如分子动力学的定义)为例,构建一个假设hhh,该假设以BBB来解释EEE,例如:在蛋白质折叠域中,EEE可能包含对分子的描述,这些分子被分成特定折叠(整体蛋白质形状)的正负示例。如下图所示,褶皱“4螺旋上下束”。描述这类蛋白质的一个可能的假设hhh如下图所示。该定义假设是由一个head(fold(…\dots…,…\dots…))和body(如假设语句long(…\dots…),…\dots…helix(…\dots…))组成的一个确定子句。在这种情况下,“fold”是示例和假设中涉及的谓词,而“length”,"position"等由背景知识定义。逻辑程序就是一组这样的定式从句。E、BE、BE、B和hhh都是逻辑程序。

ILP通常的框架可以描述如下. 以蛋白质折叠为例, 学习系统被提供了背景知识BBB, 正例集合E+E^{+}E+以及反例集合E−E^{-}E− 并且构造了一个假设hhh . B,E+E−B, E^{+} E^{-}B,E+E−以及hhh均为逻辑程序. 一个逻辑程序是一个拥有如下形式的定义论句的集合:
h←b1,…,bnh \leftarrow b_{1}, \ldots, b_{n}h

本文介绍了归纳逻辑编程的基础概念和技术细节,包括归纳逻辑的特点、形式化描述及其在人工智能中的应用。归纳逻辑允许从实例证据中得出具有一定支持度的结论,并讨论了归纳逻辑编程算法的基本框架。
最低0.47元/天 解锁文章
426

被折叠的 条评论
为什么被折叠?



