We describe an inductive logic programming (ILP) approach called learning from failures. In this approach, an ILP system (the learner) decomposes the learning problem into three separate stages: generate, test, and constrain. In the generate stage, the learner generates a hypothesis (a logic program) that satisfies a set of hypothesis constraints (constraints on the syntactic form of hypotheses). In the test stage, the learner tests the hypothesis against training examples. A hypothesis fails when it does not entail all the positive examples or entails a negative example. If a hypothesis fails, then, in the constrain stage, the learner learns constraints from the failed hypothesis to prune the hypothesis space, i.e. to constrain subsequent hypothesis generation. For instance, if a hypothesis is too general (entails a negative example), the constraints prune generalisations of the hypothesis. If a hypothesis is too specific (does not entail all the positive examples), the constraints prune specialisations of the hypothesis. This loop repeats until either (i) the learner finds a hypothesis that entails all the positive and none of the negative examples, or (ii) there are no more hypotheses to test. We introduce Popper, an ILP system that implements this approach by combining answer set programming and Prolog. Popper supports infinite problem domains, reasoning about lists and numbers, learning textually minimal programs, and learning recursive programs. Our experimental results on three domains (toy game problems, robot strategies, and list transformations) show that (i) constraints drastically improve learning performance, and (ii) Popper can outperform existing ILP systems, both in terms of predictive accuracies and learning times.
翻译:我们描述一种直观逻辑编程(ILP)方法,称为从失败中学习。在这个方法中,ILccP系统(学习者)将学习问题分解为三个不同的阶段:生成、测试和约束。在生成阶段,学习者产生一个符合一系列假设限制的假设(逻辑程序),(对综合假设形式的制约) 。在测试阶段,学习者对培训实例进行假设测试。当它不包含所有正面例子或包含一个负面例子时,假设就会失败。如果假设失败,然后,在约束阶段,学习者会从失败的假设中学习学习学习学习问题。如果一个假设过于笼统(用负面例子说明假设综合假设形式)。如果假设太具体(不包含所有正面例子),则IL 假设的特殊性(假设并不包含所有正面例子), 这个循环列表会重复,直到(i) 学习者发现一个包含所有正性和零次假设空间的参数, 也就是限制随后的假设生成。例如,如果假设太笼统,, 则将限制概括性地描述为我们学习过程的系统设置的文本和答案。 (i) 。(我们学习过程的文本和答案的两种) 可以同时显示三个过程的顺序和答案。