选自arXiv
作者:Andrew Cropper等
归纳逻辑程序设计(Inductive Logic Programming, ILP)是机器学习的一种形式。与基于统计的机器学习类似,ILP 也是需要给定一些例子作为训练样本。所不同的是,基于统计的机器学习输出的是一个统计学的分类模型,而 ILP 输出的是一个逻辑程序。
ILP 发展史(第 1 节);
描述 ILP 必要的逻辑程序设计符号(第 2 节);
定义了标准的 ILP 学习设置(从蕴含中学习、从解释中学习和从满足性中学习)(第 3 节);
描述构建 ILP 系统所需的基本假设(第 4 节);
比较了多个 ILP 系统并描述了它们所支持的特征(第 5 节);
描述了四个 ILP 系统(Aleph、TILDE、ASPAL、和 Metagol)(第 6 节);
描述了 ILP 应用层面(第 7 节);
将 ILP 与其他形式的 ML 进行比较(第 8 节);
概述未来的研究方向(第 9 节)。
用例方面:众所周知,许多形式的 ML 都非常需要数据。相比之下,ILP 系统可以基于少量示例进行归纳,通常是从单个示例就能归纳;
数据方面:与大多数 ML 形式相反,ILP 使用表示为逻辑程序的 BK 进行学习。使用逻辑程序表示数据可以使 ILP 学习复杂的关系信息,并可以轻松集成专家知识;
假设:使用逻辑程序表示假设有很多好处。因为它们与关系数据库密切相关,所以逻辑程序自然支持关系数据,例如图表;
泛化能力:ILP 得出的归纳假设超出了训练数据的范围。相比之下,许多其他形式的 ML 因无法从少量训练示例中进行归纳而名声不佳(尤其是深度学习);
可解释性:由于逻辑与自然语言的相似性,因此人类可以轻松阅读逻辑程序,这对于可解释的 AI 和超强的 ML 至关重要;
知识迁移:大多数机器学习算法都是单任务学习,无法重用学到的知识。相比之下,由于 ILP 具有符号表示,它自然支持终身学习和迁移学习,对于 AI 来说至关重要。

本文网址: