论文部分内容阅读
大多数数据挖掘方法针对的对象是传统的单表形式的数据.然而,通常现实数据中包含很多不同类型的实体(多表).对这样的数据的挖掘形成了关系数据挖掘研究领域.关系数据挖掘主要技术之一是归纳逻辑程序设计(Inductive Logic Programming,ILP).ILP是机器学习(Machine Learning)与逻辑程序设计(Logic Programming)相交叉形成的研究领域.ILP借助逻辑程序设计的理论与方法,利用背景知识学习一阶规则.一阶规则较之基于属性-值表示方式的命题级规则具有更强的表达能力.随着ILP开始应用于数据挖掘问题,并成为关系数据挖掘的技术源泉,ILP技术研究的重要性也更加显著.由于以Prolog作为表示语言,ILP系统处理数值量的能力较弱.这使得数值量的处理问题成为将ILP技术应用于数据挖掘的瓶颈.约束归纳逻辑程序设计(Constraint Inductive Logic Programming,CILP)是ILP研究中较新的研究领域,致力于解决ILP中处理数值量的问题,即研究向数值约束方向扩充ILP.由于CILP是ILP研究的一个分支,ILP技术对于我们进行CILP研究有着重大的指导意义.国际上已有文献提出了一些CILP的方法.但是这些方法有很大的局限性,不能有效的处理现实世界的数据.针对当前CILP技术的局限性,我们提出了一种基于模式识别和多元统计分析的CILP新方法.与现有的CILP方法相比较,该方法可以在不需要模式说明,不需要约束求解器的情况下学习出含有多个变量的多种形式的约束.我们以这些新的CILP方法为基础设计并实现了一个CILP原型系统——BPU-CILP系统.针对BPU-CILP系统的系统设计,该文着重考察了BPU-CILP系统的偏向、搜索策略和有效构造候选句节的方法.BPU-CILP系统采用了面向对象的程序设计方法,在Windows操作系统平台上用ANSI C++和Matlab C++数学函数库开发.该文给出了BPU-CILP系统的详细设计方案,并针对搜索策略、绑定表的维护和候选句节的构造等BPU-CILP系统核心算法进行了讨论.实验表明,BPU-CILP系统能够克服现有CILP方法的局限性,有效地处理不精确数值,在不需要附加的背景知识、不依赖约束求解器的情况下,导出含多个变量的多种形式的多项式约束,从而为关系数据挖掘提供了新的有力的技术支持.