多关系数据挖掘研究综述张伟.docx
《多关系数据挖掘研究综述张伟.docx》由会员分享,可在线阅读,更多相关《多关系数据挖掘研究综述张伟.docx(42页珍藏版)》请在冰豆网上搜索。
多关系数据挖掘研究综述张伟
多关系数据挖掘研究综述
张伟杨炳儒宋威
(北京科技大学信息工程学院,北京10083)
!
""!
#"#计算机工程与应用
范围内!
因为这类对象在关系数据库中的规范化表示是由多个
关系表组成的"这方面的内容包括$$$%&’&’(!
)&’*%&’$
&’(!
+,-./#0-1234-5-%&’(等"
6
多关系数据挖掘发生的原因与背景
从历史的角度看
!
如同
744
的早期发展受机器学习领域
的研究影响一样!
多关系数据挖掘是在关系学习发展的背景下
产生发展起来的"关系学习的核心方法是归纳逻辑程序设计"
%84%的起源!
可以追溯到69世纪:
"年代初的;)<研究"从
那时起
!
基于
;)<技术与思想并更新$=.3-5&’(%传统数据挖掘
方法
!
大量的
%84%
算法和系统已经开发出来
&
这一节分析了多关系数据挖掘产生的背景和原因!
介绍了
;)<技术的核心内容>&
6>?
单关系缺陷
#
从
’
属性
#
值学习
(
到
’
关系学习
(
大多数经典的学习方法$如决策树)朴素贝叶斯)@A%%是
属性###值的学习$-55,&0=52%B-C=2C2-,’&’(%方法!
历史上数据
挖掘研究主要专注于这类学习方式&
在属性
###
值学习情况下
!
每一样例以属性
###
值元组的
形式表示
&
在这种形式下
!
属性种类是固定的
!
每个属性有一个
给定的值相对应!
从而整个数据集可以被视为关系数据库中的
一个表或关系!
表中的每一行相应于一个样例!
而每一列相应
于一个属性
&
假设语言是命题逻辑语言
!
相应的命题以如下形
式给出
*’D55,&0=52
⊕
B-C=2(!
其中的⊕是预先定义的一个操
作符集合
!
EF!
!
!
GH!
中的一个元素
&
因此
!
属性
###
值学习使
用的算法又被称为命题化算法&
与上述情况相反!
实际应用中的关系数据库为了有效地组
织和访问数据!
数据以多关系的形式组织&一个样例信息由位
于多个关系中的多个元组描述
&
进一步来看
!
关系数据库中的
结构表达了位于不同关系中的元组间的联系
!
而这种联系体现
了问题域中某些重要的背景知识和样例信息的结构内容&属
性###值学习的单表假定无法直接利用这类联系及其蕴涵的
信息内容!
因而无法发现现实世界数据中隐藏的更为复杂的模
式
&
虽然在原则上
!
多个关系表可以集成到一个单关系表中
!
但在实践中这一方法存在许多问题&文献IJKLM!
从不同角度详
细分析了相关问题&
一般情况下
!
如果使用传统命题学习算法
!
组成一个关系
数据库的多个关系表就应集成到一个单关系表中
&
有如下两种
方法实现这种集成
!
*
$?
%
在所有的关系上通过关系连接操作重构一个单一的泛
关系&
这一方法有许多潜在问题*
!
计算泛关系的时空代价异常大&最终得到的泛关系中!
存在大量冗余数据
!
更为重要的是
!
整体数据量与原始数据比
!
异常的大###最糟情况下最终数据量随数据库中原始关系数
量与单一关系中元组数指数生长!
这样加剧了海量数据处理问
题的难度
&
"在多对一关系形成的泛关系中!
一个样例由多行组成!
按照属性
%
值学习方法的每一行代表一样例的假定
!
结果会出
现语义偏差&另外!
对于涉及自连接的关系表!
难以确定其连接
深度&
#如果将样例的所有信息放入结果关系的单一元组中!
则
对于复杂数据库
!
一方面会出现大量空值属性!
另一方面!
更为
重要的是
!
确定结果关系的全部属性非常困难
&
$数据重复导致统计偏差&
%在许多种问题上!
属性###值学习效率非常低&
$6%
为避免冗余!
可以在某些表上作聚合操作!
所得聚合值
代表这些表中的信息加入一个核心关系表中
!
而这些表的原始
元组不必被加入
&
但是仍有两个问题
*
!
许多细节信息在聚合操作后丢失了
"聚合属性的选择需要对问题域有良好的理解!
如果理解
出现错误
!
那么与使用细节信息的情况相比
!
结果会较差
&
最后值得指出的是
!
属性
###
值学习使用的命题逻辑知识
表示方式在表达复杂模式方面表达不简洁!
表达力差&
因此!
机器学习与数据挖掘技术明确地需要考虑学习任务
的关系表示方式及其相关搜索机制
!
即直接在多关系数据集上
学习涉及复杂关系结构的模式
&
在机器学习领域
!
这类学习问
题及其解决方法被称为关系学习
$82C-5&N’-C)2-,’&’(%&
在
744领域!
这类挖掘方法的研究形成了多关系数据挖掘&如同
744的早期发展受机器学习领域的研究影响一样!
多关系数
据挖掘是在关系学习发展的背景下产生发生发展起来的
&
在关系学习中
!
发展最早同时也是研究相对最成熟的领域
是归纳逻辑程序设计$;)<%&;)<的方法和技术在解决各种数据
挖掘任务中得以进一步发展!
在这一趋势下!
;)<各方面的研
究和拓展形成了多关系数据挖掘&
6>6;)<技术
归纳逻辑程序设计$;’3=O5&B2)N(&O<,N(,-PP&’(!
;)<%是
归纳学习与逻辑程序设计融合的产物
&;)<
已经在知识获取
)
科学发现以及逻辑程序设计方面取得了许多重要成果
&
;)<最初的目的是从样例与背景知识中归纳合成逻辑程
序!
学习关系的逻辑定义
I:
M
&解决上述任务的早期代表性;)<系
统有
%;@!
Q;+R)!
SR;)!
+R)T%!
较为晚的近期代表性;)<系
统有
<,N(NC
和
D)T
;)<方法一般使用的知识表示语言为逻辑程序!
逻辑程序
是一个一阶谓词逻辑的重要子集&;)<方法使用!
%包含格给出
子句构成的搜索空间的结构
&;)<
搜索策略包括盲目搜索
$
如
深度优先搜索
!
广度优先搜索等
%
和启发式搜索
$
如最佳优先搜
索!
爬山法搜索和横梁搜索等%&
现有的主要的
;)<系统可以根据其样例和背景知识表示
方法以及归纳假设评估条件的不同大致分为两类*从逻辑后承
中学习与从解释中学习
IV9M
&
这里需要重点指出的是这两类方法
在效率和可扩展性方面的差别
*
在从逻辑后承中学习过程中
!
一个假设的覆盖测试是全局测试!
系统的时间复杂度远远大于
线形增长度+在从解释中学习过程中!
每个样例装入内存时独
立于其他样例
!
因而可以进行一个假设的局部覆盖测试
!
从而
提高了效率
!
系统的时间复杂度是线形增长的
&
另外
!
还须指出
的是!
文IVVM给出了在一定条件下从解释中学习的性的证明!
这为在关系学习和多关系数据挖掘中广泛)合理地
使用从解释中学习方法
!
提供了良好的理论基础
&
;)<的其他方法在文IV9M中介绍&
;)<使用逻辑程序作为知识表示方式!
这种知识表示方式
更具表达力!
可以表示许多专业领域难以用命题逻辑的知识&
6!
""!
#"#计算机工程与应用
$%&’(和)$*+,$的归纳算法类似于*-./和*+,$!
归纳
从一棵空树开始
"然后开始产生所有可能的测试并计算这些测
试的启发值
"
进一步地
"
选择一个启发值最优的测试置于当前
结点!
继而"根据该测试将当前结点的所有样例分入其子节点!
所有经过测试的样例传播到左子结点"其他的传播到右子结
点!
整个过程递归地分析左#右子树!
当一个节点只包含同一类
样例或启发式策略并认为无须进一步分裂结点时
"
则该节点是
叶子结点
!
应该指出的是"$%&’(和)$*+,$都以一阶谓词逻辑作为
数据和模式表示语言!
一阶谓词逻辑假设空间比命题逻辑假设
空间更为复杂
!
$%&’(
和
)$*+,$为了限制假设空间的规模"
使用类型声明和模式声明作为假设空间的语法限制
"
从而可以
提高归纳过程的效率!
为了提高效率"在$%&’(的具体实现中
使用了从解释中学习的
%&0技术
12!
3
!
$%&’(和)$*+,$都能够完成离散和连续值的预测任务!
基于
4.#小节所介绍的并在文15-3中描述的多关系数据挖
掘框架
"
文
1673提出了多关系决策树归纳方法!
该方法将$%&’(
方法融合进了多关系数据挖掘框架中!
文1683报告了这一方法
的一个具体实现
9,’$&"并且通过大量的实验验证其在不同
数据集上准确性方面和效率方面的特点
!
但是
"
除了准确性方
面在某些数据集上
9,’$&
比
$%&’(
高
"
实验并没有说明这一
方法在效率方面的明显优势!
因此"文16-3所描述的多关系数据
挖掘框架"以及文1673提出的多关系决策树归纳方法都有待于
更进一步的研究和发展!
另外
"
使用最近邻居方法完成多关系数据挖掘预测性任务
的系统也已开发出来"它们中最有代表性的系统是,%:
&;
15<3
!
%:
&;使用的分类方法是=最近邻居方法!
但与经典=最近
邻居方法不同的是
",%:
&;
采用的距离测度是关系距离测度
!
%:
&;用一阶谓词逻辑作为数据表示语言"用基事实集合表示
实例
"
同时根据不同谓词间的层次结构
"
通过计算表示实例的
基事实集合间的距离"来定义关系距离测度!
谓词间的层次结
构可以视为对应于关系数据库模型中根据主外键约束连接的
关系间结构
!
%:
&;
能够对离散和连续值进行预测
!
应该指出
的是
",%:
&;
使用的关系距离测度不是唯一的多关系数据挖掘
距离测度方法"其他的方法参见文1;>";53!
%:
&;方法的优点在于其预测的准确性方面"在不需要显
式模型的情况下
",%:
&;
方法是一个很好的选择
!
%:
&;
方法
的缺点也很明显
!
这主要表现在该方法的可扩展性方面
!
%:
&;方法中关系距离测度的计算代价非常大!
同时,%:
&;方
法要求在预测过程中必须加载所有实例"因为每个实例信息来
自多个关系的多个元组"如果预测过程中要加载的样例数较大
时
"
系统的开销会急剧增加
!
在海量数据下
"
当预测过程效率是
主要考虑的问题时
",%:
&;
方法不是合适的选择
!
这种情况下
"
$%&’(和)$*+,$可以作为选择的对象!
在多关系分类方法最近几年的成果中"文1;;3提出的*?
@AA%
9BCD方法具有代表性!
*?
@AA9BCD将%&0技术和关系数据库系
统融合在一起
"
较好地提高了传统
%&0方法EF%&的效率!
在
*?
@AA9BCD中"数据仍然保存在数据库中"无须像传统%&0技术
那样转化为逻辑程序$假设表示语言仍采用一阶谓词逻辑!
*?
@AA9BCD通过%’传播技术提高效率!
%’传播技术的核心思
想是
"
数据库中各关系之间只进行一次连接操作
"
无须像传统
%&0技术那样要执行多次连接$在连接同时也无须物化连接结
果
!
*?
@AA9BCD
为我们在
4G;小节中归纳的集成方法提供了一
个明确的例证
!
如何用这一技术解决其他多关系数据挖掘任
务
"
还有待进一步的研究
!
-G;
聚类
多关系聚类方法最有代表性的有
’:
*
1;43
和
EF,*
1;-3
!
两者
都基于
%:
&;所使用的关系距离测度方法",’:
*方法完成凝
聚的层次化聚类"EF,*完成基于H均值的聚类!
多关系的凝
聚的层次化聚类方法和
H均值的聚类方法"在基本思想上"与
传统数据挖掘中的思想是一致的
!
与传统方法比较
"
根本的区
别在于多关系实例表示语言是逻辑程序
"
距离测度的定义是关
系距离测度定义!
另外"因为在多关系数据中"不存在几何或直
观上的聚类中心概念"所以"在EF,*中"聚类中心的确定采用
了
HIJDK@BKA方法!
EF,*在生物信息学方面的实验结果表
明
"HIJDK@BKA
方法在多关系数据挖掘中的应用具有明显潜
力
!
应该指出的是",’:
*和EF,*继承了传统聚类方法的计
算特性"而这些聚类算法在可扩展性方面并不高!
同时考虑到
关系距离测度的计算代价
",’:
*
和
EF,*的可扩展性也不
高
!
如何提高多关系聚类方法的可扩展性是将来研究的重点之
一!
-.4
关联分析
关联分析和频繁模式发现是数据挖掘的重要任务之一
!
最
有代表性的两个多关系关联规则发现算法是
L+,9,
1;/3
算法
和
E+,9(,
1;!
3
!
L+,9,算法是命题化算法+M?
B@?
B向多关系情况下的更
新
!
作为一个
%&0算法"L+,9,使用一阶谓词逻辑表示频繁
模式和多关系关联规则
!
具体而言
"
频繁模式是0?
@N@O查询"而
不是
+M?
B@?
B中的项集!
0?
@N@O查询允许模式使用变量和多个关
系"因此极大地拓展了模式的表达能力"适宜于多关系数据挖
掘发现并复涉及多关系的复杂模式的要求!
L+,9,算法核心思想与+M?
B@?
B算法相同"采用逐层地#
宽度优先的搜索策略!
方法迭代执行候选集产生和候选集评估
过程!
在候选集产生阶段"使用基于!
$包含的特化关系"根据
特化关系的单调性"完成模式剪枝"即"已确定的不频繁模式的
特化模式被剪除
"
同时
"
与已确定的频繁模式在特化关系上等
价的模式也被剪除
!
在候选集评估阶段
"
每个候选模式相应的
0?
@N@O查询被执行"查询结果中不同核心对象的个数作为候选
模式的支持度!
L+,9,算法较之于它以前的频繁模式发现算法有更大
的灵活性
!
L+,9,
算法使用语言偏置声明来定义频繁模式的
内容形式
!
通过改变语言偏置声明的定义
"L+,9,
无须改变
其具体实现就能够完成不同的复杂任务要求!
因此基于
L+,9,的系统能够灵活地在一个单一的工具内完成模式类
型的改变和相关实验!
L+,9,算法的主要缺陷是效率低和可扩展性差!
这主要
是因为
"L+,9,
极大地依赖
!
$包含"而!
$包含计算实质上是
一个
P0完全问题!
E+,9(,算法是比L+,9,算法效率更高的一个多关系
频繁模式发现算法
!
E+,9(,
通过引入一个特殊的数据结
构
%%%Q?
BD%%%
表示
L+,9,算法中的0?
@N@O查询"消除了在
-计算机工程与应用
!
""!
#"#
关系数据库概念
关系名
$
关系
$
的属性
元组
%&’!
"!
&()
由一个元组集合表示的关系
$
定义为视图的关系
$
逻辑程序概念
谓词符号
$
谓词
$
的参数
基事实
$#&’!
"!
&($
由一个基事实集合外延定义的谓词
$
由一个子句集合内涵定义的谓词
$
表
’
关系数据库基本概念与逻辑程序基本概念间的对应关系
此外!
逻辑程序语言是一阶谓词逻辑的子集!
逻辑程序基本概
念与关系数据库基本概念之间有明确的对应关系
%基于这些原
因
!
*+,
能够灵活方便地表示关系学习与多关系数据挖掘过程
中的多关系数据&背景知识以及涉及多关系的复杂模式%此外!
*+,方法便于在归纳推理过程中使用背景知识!
这一点有重要
意义!
因为对于几乎所有人工智能的应用!
成功的关键之一在
于背景知识的利用
%
更具表达力的知识表示方式与良好的利用
背景知识的归纳推理能力
!
是
*+,技术与思想成为关系学习与
多关系数据挖掘主要方法的直接原因%
表
’给出了逻辑程序基本概念与关系数据库基本概念间
的对应关系
%
-多关系数据挖掘研究一般方法
从历史发展的角度看!
多关系数据挖掘领域的各种具体研
究方法间具有共性和一般性
!
本文归纳了这种一般性和领域发
展的一般趋势
%
-.’更新命题化方法
*+,方法一般通过更新传统数据挖掘算法形成多关系数
据挖掘算法
%
这里的更新具体是指
!
尽可能地保留命题化方法
的搜索策略!
更新关键概念的内涵%这些关键概念包括数据和
模式的表示
&精化算子&泛化关系&模式评估方式%对于关联分
析任务
!
关键概念还包括频繁模式的定义
!
而对于基于距离的
方法
!
关键概念是距离的定义
%
文
/’01描述了实现这一更新思想的具体方法%基于更新的
方法!
一系列的解决各种任务的多关系数据挖掘方法被开发出
来
!
本文在第
-节中有更为详细的介绍和分析%必须指出的是!
更新并不是平凡的
’
一阶谓词逻辑的表达能力也意味着高昂的
计算代价%因而!
近十年的研究一直在寻求模式语言的表达能
力与多关系数据挖掘算法计算复杂性间的平衡%
-.0*+,
技术与关系数据库系统的集成
理论上!
*+,技术与关系数据库的数据和模式表示之间有
明确的对应关系!
这样使数据库与学习算法之间的接口定义更
容易
!
从而无需在学习算法与数据库模式之间增加额外的中间
数据表示形式
%
更进一步地
!
如果利用这种表示方式上的对应
关系!
使*+,技术与数据库得以不同程度的集成!
*+,系统就能
够充分利用关系数据库管理系统的数据组织存储优化能力&查
询优化和高效的查询执行能力
!
从而提高数据挖掘算法的效率
和扩展性
%
但是
!
在大多数2342研究中!
*+,技术与数据库系统的
集成!
可以认为是松散耦合的%经典的*+,系统!
在数据预处理
阶段!
把关系数据库中的数据转换为逻辑程序的形式!
在数据
挖掘阶段算法在逻辑程序上运行
%
这种方式在现实使用过程中
有诸多限制
!
包括输入格式过于严格
&
缺乏效率
&
缺乏对关系数
据库性质的考虑以及无力处理数据中的噪音和缺失值等%因
此!
应开发新的方法!
这种方法应该吸纳数据库&知识发现和
*+,技术各自的长处!
使得数据库终端用户能够无须以逻辑的
形式而是以直接的关系数据库形式
!
高效地解决多关系数据挖
掘任务
%
认识到这些问题后!
许多*+,研究开始从关系数据库的角
度展开!
并且这一方向的研究仍然是将来工作的重点之一%历
史上较为典型的成果体现在文
/5-!
’61中%
转换
*+,方法的语言偏置!
将纯粹的逻辑搜索空间转换为
关系代数描述的搜索空间
!
但仍旧保留
*+,搜索机制!
这种思
想最早由文
/5-1提出%该文基于关系代数!
从不同层面讨论了
*+,算法与关系数据库系统间耦合的可能方法%但从实践角度
看!
因为现实世界的关系数据库系统直接使用基于78+的数
据定义和操作语言而不是关系代数
!
因而如何进一步建立
*+,
模式语言与78+语言间的对应关系!
以及如何建构78+语言
的搜索空间以及研究其相关特征!
成为将来需要进一步探讨的
问题之一%
文
/561描述了一个与关系数据库耦合较为紧密的的多关系
数据挖掘框架及其计算体系结构
%
在该框架中
!
保留了
*+,的
核心思想
!
但是搜索空间由被称为选择图的有向图组成
%
选择
图可以较容易地转换为
78+形式%利用该框架提供的各种基
于
78+的原语!
可以方便有效地得到模式评估过程中的各种
统计参数
%
同时
!
选择图的构建充分利用了关系数据库模型的
领域知识
!
从而可以进一步地提高算法的效率和可扩展性
%
文
/561认为一系列的*+,算法都可以融合进这一框架%但是!
就当
前的研究现状来看!
研究集中于该多关系数据挖掘的框架与
*+,研究中的决策树归纳算法的融合!
如何与其他解决多关系
数据挖掘任务的算法融合及其相关问题
!
尚待进一步研究
%
比
如
!
在多关系关联分析中
!
候选模式的产生与剪枝等问题
!
在文
/561中没有展开论述!
还有待于更明确的研究%另外!
文/561提供
的数据挖掘原语的执行复杂度!
会随着模式复杂度增长!
如何
提高基于这些原语的模式评估过程的效率!
是将来研究的重点
之一%
6多关系数据挖掘任务与算法
本节介绍
&
分析完成各种经典数据挖掘任务的多关系数据
挖掘算法
%
这些任务包括分类与回归
&
关联分析
&
聚类
&
统计关
系学习!
相应算法一般按照第0节介绍的多关系数据挖掘一般
研究方法产生%
69’
分类与回归
完成二值分类任务是经典
*+,方法与系统的任务!
这类系
统已在
0.0节中介绍过%下面主要介绍非二值分类任务的多关
系数据挖掘分类和回归算法及系统
%
传统数据挖掘中决策树归纳方法已经扩展到多关系数据
挖掘下
%
多关系数据挖掘算法
:
*+4;
/!
1
和
7$<=3:
/’>1
分别更新了
决策树归纳方法
<69>与<=3:
%这两种多关系算法归纳的多关
系决策树与命题决策树在结构上是一致的!
内部结点包含测
试
!
叶子结点包含有预测的类值%两者最重要的差异是!
出现在
内部结点的测试间的区别
%
多关系决策树中
!
测试是逻辑查询
%
具体地说
!
在一个内部结点发生的测试是一个存在量化的文字
合取式!
该合取式中的文字是从根结点到该节点路径上所有节
点中出现的文字%
-摘要多关系数据挖掘是近年来快速发展的重要的数据挖掘领域之一&传统的数据挖掘方法只能完成单一关系中的
模式发现#多关系数据挖掘能够从复杂结构化数据中发现涉及多个关系的复杂模式&该文综述了多关系数据挖掘的研究
状况&首先分析了多关系数据挖掘领域发生的原因和背景#其次总结了多关系数据挖掘研究的一般方法#然后介绍’分析
了最具代表性的多关系数据挖掘算法&最后#总结了多关系数据挖掘将来发展需重点解决的问题和面临的挑战&
关键词多关系数据挖掘归纳逻辑程序设计多关系决策树关系距离测度多关系关联规则统计关系学习
文章编号
%""!
$&’’%$"!
""!
$%4$%%%$5"!
文献标识码(中图分类号67’$$.$’
!
"#$"%&’()*+$,-"*.+$&/.*0.+.($/$/1
23./14"$5./16$/1-)7&/14"$
"82033,39:
;93<)*=+3;(;>+;?
?
<+;>#@?
+A+;>B;+-?
;2?
*;E6?
20;3,3>D#@?
+A+;>F%%%&’$
89:
+-.;+%GH,=+5
*=+3;*,E*=*)+;+;>+C3;?
39<*I+E,DE?
-?
3I+;>CHJ9+?
EC39E*=*)+;;+;>.K0+,?
2,*CC+2*,E*=*
)+;;+;>*II<3*20