如果是您第一次读取术语归纳逻辑编程(ILP),请不要担心,您就在良好的公司中。我最近遇到了这个范式,我开始调查电子商务系统中的可行解决方案,尽管有潜力,但ILP是AI中最不受欢迎的研究分支。我相信在许多领域是非常有用的,我有信心您将认识到这条范例将带来解决方案的优势。
我将在CML21上午15:15(CET)在CML21中讨论“只有一点逻辑:赢得客户的苏赢得赢得客户”的ILP
我将以一个例子介绍主题。约翰是Acme GmbH的内容编辑,他有一个辉煌的想法,可能会提高销售。他希望将电子商务内容调整到消费者的个人资料 - 所谓的个性化您可能已经从我们这里听到的。约翰需要在主页中插入生活在同一消费者社区中的影响者购买的最新物品。他现在想要实现这一变化,所以他可以在本周末显示下一个销售会议的结果。此外,约翰几乎没有熟悉后退的排气查询网格,他并不愿意与数据科学团队合作。不耐烦和懒惰不是最想要的工作风格,但新工具刚刚发布。
约翰知道他的意思是“影响者”,但他能够向系统解释吗?好吧,显然这不是必需的。只需点击几下面,教面板已经指示了系统要做的事情。 John指定了几个样本,并实时查看模拟。在第一次折腾,结果看起来不那么糟糕。他擦掉了一些不需要的结果,并在慕尼黑的一个花哨的客户中添加了他记得的其他案件。该工具在飞行中创建了结果John正在寻找,足够准确地立即部署。约翰很开心,他在线做了它,没有支持。
约翰是对的。他的想法显着提高了销售额,该功能将包括在支持的那些中,它将遵循公司的开发和维护标准。铅开发人员检查生成的程序 - 代码是人类可读和可理解的 - 他手动编辑它,因为有一些不安的无意义删除(图形的没有代码编辑器正在路上,承诺!)。
这个故事带来了小型数据集,在线快速训练和可解释性等一些重要的优势,可以通过ILP提出。他们不是当然都是如此;我在这里列出它们:
解释性。逻辑模型是可防止的,可编辑,可解释的,合理的。不需要像神经网络(非逻辑)模型等口译员。
培训数据。非常少数正面和阴性样品。 F1评分(精密/召回)官力基于样品的数量和质量。
玫瑰带有荆棘,ilp并非完美无瑕。由于ILP不是基于统计过程,因此它不容忍噪声或错误的数据。对于这种情况,将神经网络与上面报告的那些合并,从逻辑编程合并神经网络的优点。我希望很快能保持最新状态,但这只是一个介绍。让我们保持简单,我们现在看到了什么ILP是什么。
与LP的缩写的部分是逻辑编程。它是一个用于定义可协商规则的声明性语言,并从知识库中生成新的可取信息。 ILP的第一项是归纳。归纳是从可观察证据产生假设的过程。如果我们从特定情况开始,归纳是概括可以证明这种情况的规则的方式。 ILP创建概括培训样本的模型。是的。正是你认为的,它是机器学习。
与您可能知道机器学习的内容不同,这里没有统计数据,没有梯度下降,没有错误丢失,实际上没有反向突破。它怎样才能工作?有几十个算法,它们的共同分母是解决方案的组合搜索。如果您担心指数复杂性和组合爆炸,我确保您不完全是这种情况。我在我的研究中设置的算法是指导搜索,它特别有效。系统不会提取整个解决方案空间,但首先从提供的样本开始从最简单的解决方案开始。调查答案集编程,展开ILP的功能至关重要。但是让我们看看一个具体的例子,这是知识库:
我希望该系统创造新的关系:祖父和祖母。我提供它正确的输出是正确的,什么是错误的:
祖父(x,y): - (父(x,z),父(z,y),isa(x,男性)) 祖母(x,y): - (父(x,z),父(z,y),isa(x,女))
ILP不仅仅用于查询或分类数据,可用于生成通过编码来实现通常创建的算法的真实程序。考虑生成排序算法。假设我们有“排序”关系,其中第一个参数中的未反对输入和第二个参数中的预期排序输出:
让我们假设系统已经学习了列表操作的一些基本谓词,例如空,头部,尾部,分区,附加:
如果x是空列表,则为空(x)//匹配 头部([3,4,5],x)//头([3,4,5],3) 尾部([3,4,5],x)//尾部([3,4,5],[4,5]) 分区(3,[5,6,7,8],X,Y)//分区(3,[5,6,7,8],[5,6],[7,8]) 附录[1,2,3],[4,5],x)//附加([1,2,3],[4,5],[1,2,3,4,5])
如果此方法应用于知识图(kg)可能会发生非常有趣的东西。我喜欢登山者(ILP)的隐喻,通过利用所有粗糙(kg)来抵达偷看,该计划。在一个光滑的墙壁中,登山者不能去任何地方,因此信息是至关重要的,但它不足以到达偷看。在撰写本篇文章时,我看到很多炒作在KG上的炒作,就像有任何问题的Panacea,但最后,KGS只是不完整的数据库,有时错误,通常是需要正确提取方法的矛盾信息感觉出来。其中一个是ILP。我将讨论它以及如何利用知识图表来解决电子商务案例的逻辑编程。