基于演绎数据库系统的高效可扩展逻辑程序归纳
1. 引言
在当今几乎所有人类活动领域,数据库中收集和存储的数据量都在显著增长。以生物科技数据为例,由于生物化学自动化,其规模每三到六个月就会翻倍。大部分数据以结构化形式存储在关系数据库中,复杂应用可能涉及多个关系,数据分散在多个表中。
许多重要的数据挖掘技术通常在单个关系(或表)中寻找模式,每个元组(或行)是一个感兴趣的对象。为了应用命题数据挖掘算法,需要将尽可能多的相关数据存储在单个表中,但这一过程可能导致数据冗余、信息丢失或表的规模过大。
归纳逻辑编程(ILP)系统能够从关系数据中学习模式。然而,由于ILP系统通常用Prolog实现或使用Prolog库,它们往往使用Prolog内部数据库来存储和操作数据。在实际问题中,原始数据很少是Prolog格式,通常存储在关系数据库管理系统(RDBMS)中,需要转换为ILP系统可接受的格式。这种从Prolog数据库学习的方式会将数据加载到主内存中,限制了ILP处理更大数据集的能力,并且ILP系统计算成本高,评估假设需要花费大量时间。
本文展示了如何通过演绎数据库(DDB)系统将ILP系统与RDBMS透明地耦合,这种耦合环境为高效可扩展的逻辑程序归纳提供了良好的框架。我们使用April作为ILP系统,MYDDAS作为DDB系统。通过使用DDB系统,ILP系统可以处理更大的数据库,利用关系数据库的高级特性,如强大的索引方案、查询优化、高效的聚合和连接算法。
我们研究了几种将ILP系统与DDB耦合的高级策略的有效性,评估从关系数据库学习与从Prolog数据库学习相比的潜在性能提升。实验使用了四个人工生成的问题,考虑了不同的数据集大小和假设复杂度。
超级会员免费看
订阅专栏 解锁全文
15

被折叠的 条评论
为什么被折叠?



