【问题标题】:How to generate negative examples in inductive logic programming?如何在归纳逻辑编程中生成反例?
【发布时间】:2014-04-14 15:58:33
【问题描述】:

我正在尝试通过观察人类使用归纳逻辑编程来学习拼图和棋盘游戏的规则。我使用 PROGOL,它是一个用 Prolog 编写的 ILP 程序。虽然对于某些游戏,它能够正确地给我规则,但对于其他一些游戏,由于缺乏反面例子,它不能。

例如,在河内塔谜题中,规则之一是较大的方块不会放在较小的方块之上。这是一个消极的规则。但是由于在训练期间没有发生此事件,因此没有可以从中学习此规则的明确负面示例。

简而言之,如何在 ILP 中生成负样本?

【问题讨论】:

    标签: prolog artificial-intelligence logic-programming progol inductive-logic-programming


    【解决方案1】:

    我认为您只能在 progol 中使用正面数据来学习?

    http://link.springer.com/chapter/10.1007/3-540-63494-0_65

    麻瓜顿,斯蒂芬。 “从积极的数据中学习。”归纳逻辑编程。施普林格柏林海德堡,1997。358-376。

    通过在 Progol 中执行此操作,将仅正数据模式的学习设置为开启:

    |- set(posonly)?

    【讨论】:

    • 在 Progol 中,您可以提供负面示例。 doc.ic.ac.uk/~shm/progol_anim_example_in.html 显示负面示例,例如::- class(t_rex,bird)。 :- 类(乌龟,鸟)。
    • 我的意思是可以设置 Progol,这样你就可以只用积极的方式学习。
    • 哦,好吧。我会检查一下。
    • 感谢您的提示。它能够以 posonly 模式诱导目标。诱导规则是 on(A,B) :- large(B,A) .
    猜你喜欢
    • 1970-01-01
    • 2016-07-26
    • 2019-05-05
    • 1970-01-01
    • 1970-01-01
    • 2020-05-08
    • 1970-01-01
    • 2017-01-09
    • 2020-08-20
    相关资源
    最近更新 更多