Inductive logic programming (ILP) is a form of logical machine learning. The goal is to search a hypothesis space for a hypothesis that generalises training examples and background knowledge. We introduce an approach that 'shrinks' the hypothesis space before an ILP system searches it. Our approach uses background knowledge to find rules that cannot be in an optimal hypothesis regardless of the training examples. For instance, our approach discovers relationships such as "even numbers cannot be odd" and "prime numbers greater than 2 are odd". It then removes violating rules from the hypothesis space. We implement our approach using answer set programming and use it to shrink the hypothesis space of a constraint-based ILP system. Our experiments on multiple domains, including visual reasoning and game playing, show that our approach can substantially reduce learning times whilst maintaining predictive accuracies. For instance, given just 10 seconds of preprocessing time, our approach can reduce learning times from over 10 hours to only 2 seconds.
翻译:归纳逻辑编程(ILP)是一种逻辑机器学习形式。其目标是在假设空间中搜索一个能够泛化训练示例和背景知识的假设。我们提出了一种方法,在ILP系统搜索假设空间之前“压缩”该空间。我们的方法利用背景知识来发现无论训练示例如何都不可能成为最优假设的规则。例如,我们的方法能够发现诸如“偶数不可能是奇数”以及“大于2的质数是奇数”等关系。随后,它将违反这些关系的规则从假设空间中移除。我们使用答案集编程实现了该方法,并将其应用于压缩基于约束的ILP系统的假设空间。我们在多个领域(包括视觉推理和游戏博弈)的实验表明,我们的方法能够在保持预测准确性的同时显著减少学习时间。例如,仅需10秒的预处理时间,我们的方法就能将学习时间从超过10小时缩短至仅2秒。