MSMiner主要特征
一、强大的元数据管理

    元数据就是关于数据的数据。系统利用数据仓库中元数据的管理思想,扩展了元数据的作用范围,使它不仅管理数据仓库中的数据,而且管理数据转换规则和数据挖掘算法,便于数据的一致性维护和操作。元数据居于整个系统的核心地位,统一管理数据仓库和数据挖掘工具,并控制整个数据挖掘流程,包括数据准备、挖掘、表述以及评价,使数据和数据挖掘任务有机地结合在一起。同时,系统采用面向对象的方法对复杂的元数据进行管理和维护,保证了元数据的一致性和系统的健壮性。

  • MSMiner元数据的内容。MSMiner系统的元数据用来描述整个系统的状态和行为方式,主要包括以下几方面内容:外部数据源描述、数据仓库信息描述、用户信息描述、主题描述、ETL任务描述、数据转换规则库管理、数据立方体描述、数据挖掘任务描述和数据挖掘算法库的管理。
  • MSMiner元数据库。元数据库中包含多个元数据表,分别存储各类元数据的详细信息,是MSMiner数据仓库中的核心数据库。为了保证元数据的一致性,这些元数据表互相关联,遵循一定的约束关系。
  • MSMiner元数据对象模型MSMiner的元数据数量庞大并且关系复杂,很自然的想法是,通过一种相对独立的模块专门负责对元数据的存取管理,这个模块必须符合一致性、完备性、易维护性的设计要求。MSMiner 采用一种面向对象的元数据结构:即将各种元数据封装在相应的元数据类中,将这些元数据类的对象实例通过层次结构有机地组织起来,构成一种层次型对象模型。系统通过这些对象对各元数据表进行操作管理。系统通过这种对象模型访问元数据,而不需要直接接触元数据库。在经过良好封装的元数据类中包含各种属性和方法,属性表达了相应的元数据值,而方法定义了对相关元数据的各种操作,并负责维护元数据之间的一致性。元数据的存取、更新和管理通过访问这些属性和方法来实现。
  • 元数据的管理MSMiner元数据的管理是在各功能模块的管理维护中实现的。在通过MSMiner各个功能模块对数据仓库各部分、ETL任务和数据挖掘任务进行建立、修改和日常维护时,元数据中的相应内容也同时得到新增、修改和维护。实际上,用户就是通过在各个功能模块中对后台元数据进行维护来实现对整个系统的管理。对元数据各部分内容的管理,分布在系统中ETL任务管理、转换规则库管理、主题组织、OLAP、数据挖掘任务管理及算法库管理等各个模块之中。

二、集成的数据仓库管理器

    MSMiner中通过数据仓库管理器为数据挖掘工具提供数据平台,其主要目标是通过建立和维护数据仓库,为数据挖掘提供经过清洗、整合、转换的数据来源,完成数据挖掘过程中数据预处理的部分任务。MSMiner数据仓库中的数据按主题组织,主题中包含多个事实表、维表、中间表以及数据立方体。数据仓库主题按星型模式建模,在此基础之上实现多维数据立方体和各种OLAP操作,并为数据挖掘任务提供经过适当预处理和良好组织的数据源,最后结果可由可视化工具显示,或以报表的形式输出。整个数据仓库,包括数据的抽取及主题的组织等,均通过元数据来管理和维护。

    根据MSMiner的设计目标,我们更注重实现数据仓库的易用性和集成性,所以MSMiner数据仓库的构建仍是基于传统的关系型数据库管理系统,其核心数据库由Oracle 8i实现。MSMiner的外部数据源也主要是各种关系型数据库。MSMiner通过OLE DB for ODBC接口,可与各种流行的数据库产品连接,包括OracleSybaseMicrosoft等众多厂商的大型数据库系统和小型的桌面数据库产品,保证了系统的开放性。

    MSMiner数据仓库以主题(Subject)为基本组成单位。每个主题包含多个事实表、维表、中间表以及数据立方体,它们在本质上都是一些综合数据表。用户根据需要,通过ETL模块,从外部数据源中抽取数据,并经过转换处理,将数据装载到数据仓库主题的各个表中。

    MSMiner数据仓库按照星型模型(Star Schema)建模。每个主题中包含多个事实表和维表。以一个事实表为中心,关联多个维表,构成一个星型结构。多个星型结构共同组成了一个主题。

  • OLAP

    OLAP是指对以多维形式组织起来的数据(数据立方体)采取切片、切块、旋转、钻取等各种分析动作,以求分析数据,使用户能从多个角度、多侧面地观察数据库中的数据,从而深入了解包含在数据中的信息、内涵。多维分析的基本操作有:切片(Slice)、切块(Dice)、旋转(Pivot)、、向上综合(Roll Up)和向下钻取(Drill Down)等。MSMinerOLAP在关系型数据表上实现,即采用ROLAP方式。在主题中事实表关联多个维表的星型结构之上模拟多维数据立方体,然后在数据立方体之上实现OLAP操作。各种OLAP操作请求将通过一个ROLAP引擎动态翻译成SQL语句,在数据仓库中的综合数据表(事实表)中进行查询得到结果。

三、高效的ETL解决方案

    智能信息处理需要从现有数据源、包括企业OLTP系统、数据仓库和外部数据源中抽取数据,并根据决策要求加工和转换数据。由于这些数据具有多重数据格式,从源系统移动适当的数据到应用系统是一个非常复杂、需要消耗大量资源的工作。

   MSMiner的ETL解决方案采用简洁的ETL任务定制技术,可以方便地从多个数据源提取数据、完成复杂地数据转换功能,并且将数据转载到最终目的地。

  • 强大的数据抽取功能

    MSMiner支持多种数据源,几乎对所有的关系数据库提供直连接口和ODBC访问接口。除此之外,MSMiner还将支持文本文件、网页信息处理。

    通过简单的任务定制,用户可以将多种数据源中的数据放进ETL任务中。

  • 灵活的转换规则

    一旦数据被抽取出来,必须经过数据转换。在转换过程中进行数据清洗、一致性检查和数据格式转换以及决策支持要求。

    MSMiner提供了一个非常强大的转换规则库,其中包含了30个常用规则。这些预定义的转换规则是带参数的C++函数(COM objects),并且经过严格的测试。这些规则集成在一个友好的界面中,开发人员可以方便地将这些规则加入到ETL任务中。使用预定义的转换规则可以大量缩短开发人员的开发和测试时间。

    MSMiner支持用户自己开发转换规则,用户可以使用C++创建自己的转换规则(COM OBJECTS),同时将自定义的转换规则注册到MSMiner转换规则库中,以便代码重用和共享。

四、灵活、方便的数据挖掘集成工具

    数据挖掘集成工具的主要部分包括两个模块:数据挖掘任务模型编辑模块和任务处理引擎。任务模型编辑模块提供任务模型编辑向导以及可视化任务模型编辑图板,以一种可视化的方式引导用户选择数据源和算法,逐步构造适当的任务模型。任务处理引擎负责对数据挖掘任务进行规划,解释执行各个步骤,得到数据挖掘结果。挖掘结果经过解释和评估,可以存入数据仓库,并以报表和可视化方式输出。

1、面向对象的数据挖掘任务模型

    如何有效地集成数据和算法,灵活地组织数据挖掘流程,是数据挖掘的一个重要问题。现有的许多数据挖掘工具都是采用数据驱动的、单步骤的任务处理方式,难以描述复杂任务和进行复杂流程控制,无法满足各种数据挖掘任务的需要。

    MSMiner引入了一种通用的面向对象的数据挖掘任务模型表示方法,来描述和控制数据挖掘任务流程,能够集成多种数据挖掘算法,以多种灵活的方式描述和组织各种数据挖掘任务,并在一定程度上实现了数据挖掘流程控制的自动化,实现了多策略的数据挖掘。

  • 数据挖掘任务模型的定义。MSMiner数据挖掘任务由多个对象组成,每个对象代表数据挖掘流程的一个步骤或一个子任务。每个对象都拥有定义自身特征的属性(Attributes)和定义自身行为的方法(Methods)。对象的属性可以存贮整型、浮点型或字符型的值。方法用来存贮在这个对象对应的数据挖掘步骤中所要执行的操作。这些操作可以是访问对象的属性,调用算法,或控制执行流程等。这些对象有序地组成一种有向图结构,这种由多个对象组成的有序对象模型表达了整个数据挖掘任务的组织和流程。
  • 数据挖掘任务模型的元数据。数据挖掘任务模型的各种数据都存储在元数据中,形成一个任务模型库,并主要通过元数据类CTask和CStep进行管理。CTask包含了整个数据挖掘任务的信息,CStep描述数据挖掘各步骤的信息。元数据类CStep中的StepAttributes和StepMethod分别存储了步骤对象所包含的各种属性及DML方法脚本。

    数据挖掘任务模型的编辑。数据挖掘集成工具中的任务模型编辑模块,提供了一个功能强大并且便捷易用的建立、编辑和存储任务模型的环境。建立数据挖掘任务模型是一个比较复杂的过程,往往需要用户具备一定的相关知识和技能。所以系统设计提供了一个任务模型编辑向导和一个可视化的任务模型编辑图板,帮助用户可视化地构造数据挖掘任务。通过任务模型编辑向导,可以引导用户逐步建立数据挖掘任务的各个步骤,指定各步骤之间的联系,最终生成整个数据挖掘任务。

2、数据挖掘任务模型的处理

    数据挖掘任务模型由任务处理引擎进行规划和解释执行,它的两个主要功能模块是任务规划器和解释器。

   执行数据挖掘任务时,需要先将任务有向图模型转化为各个步骤结点的一个有序序列,即进行任务的规划后,再逐步解释执行各个挖掘步骤,得到结果。任务规划的过程,就是对任务有向图模型做拓扑排序的过程。

    任务规划得到各个步骤的有序序列后,由解释器依次解释执行各个步骤中的DML方法脚本,完成整个数据挖掘任务的处理。

    在默认控制下,这个过程从起始结点开始,任务模型中所有步骤结点都将被访问,结点中的方法逐步获得解释执行,最后得到数据挖掘结果。

3、数据挖掘算法的动态加载

    算法是数据挖掘的核心。有效集成各种高效率的数据挖掘算法,是成功实施数据挖掘任务的关键。MSMiner系统中各种数据挖掘核心算法以动态链接库DLL的形式实现,并在元数据中登记注册。采用DLL方式实现各数据挖掘算法有两个主要的优点:

  • 以DLL可执行代码实现的算法在系统运行时动态载入,保证了算法的执行效率。
  • DLL算法库独立于MSMiner系统而存在,便于维护、升级和扩展,同时具有良好的通用性。

   MSMiner系统提供专门的算法管理模块来查看和维护各种算法的有关信息。为了提供尽可能全面的数据挖掘解决方案,我们将集成适用于不同任务的多种数据挖掘算法,但对于有些特定的数据挖掘任务,系统提供的算法将可能难以胜任,此时用户往往希望能够加入自己的处理方案。因此,系统提供一个开放的、灵活通用的接口,使用户能够加入新的算法。用户可以按照这一规范,开发自己的算法DLL,并在算法管理模块中进行注册,使数据挖掘任务能够使用新的算法,从而实现算法库的可扩展性,使整个数据挖掘系统具有很强的灵活性和通用性。

五、丰富的数据挖掘算法

    关联规则是形式如下的一种蕴含或规则,XÞ Y,其中XY分别是两个物品集合,这两个物品集中没有共同的物品。用于关联规则发现的对象主要是事务型数据库(transactional databases),其中针对的应用则是售货数据,也称货篮数据。一个事务一般由如下几个部分组成:事务处理时间,一组顾客购买的物品(items),有时也有顾客标识号(如信用卡号)。

    由于条形码技术的发展,零售部门可以利用前端收款机收集存储大量的售货数据。因此,如果对这些历史事务数据进行分析,则可对顾客的购买行为提供极有价值的信息。例如,可以帮助如何摆放货架上的商品(如把顾客经常同时买的商品放在一起),帮助如何规划市场(怎样相互搭配进货)。由此可见,从事务数据中发现关联规则,对于改进零售业等商业活动的决策非常重要。

    我们对电信行业的客户电话记录事实表作为测试数据,利用关联规则进行分析,得到较为有意义的规则。

   决策树是一种非常有效的机器学习分类算法。决策树方法的起源是概念学习系统CLS,然后发展到ID3方法而为高潮,最后又演化为能处理连续属性的C5.0。有名的决策树方法还有CARTAssistant。

    决策树学习着眼于从一组无次序、无规则的事例中推理出决策树表示形式的分类规则。它采用自顶向下的递归方式,在决策树的内部结点进行属性值的比较并根据不同的属性值判断从该结点向下的分支,在决策树的叶结点得到结论。所以从根到叶结点的一条路径就对应着一条合取规则,整棵决策树就对应着一组析取表达式规则。基于决策树的学习算法的一个最大的优点就是它在学习过程中不需要使用者了解很多背景知识(这也同时是它最大的缺点),只要训练例子能够用属性-结论式的方式表达出来,就能使用该算法来学习。

    考虑到递归算法对大数据量而言,系统的开销较大,我们设计了非递归且能处理连续属性的决策树算法。同时,为了能使用户能清楚直观的理解产生的决策规则树,我们设计了m-叉树的画法,这两个算法在广东地税稽查案例应用中,收到良好效果。

    波兰的Z.Pawlak针对G.Frege的边界线区域思想提出了Rough集。他把那些无法确认的个体都归属于边界线区域,而这种边界线区域被定义为上近似集和下近似集之差集。由于它有确定的数学公式描述,所以含糊元素数目是可以计算的,即在真假二值之间的含糊度是可以计算的。

    我们对粗糙集中的一种重要表示方法-差别矩阵进行了拓广,提出了广义差别矩阵的表示和可变属性度量的概念。可变属性度量用于属性选取的启发式评价函数时较好地克服了粗糙集中的属性重要度方法的一个限制:由于只考虑异类对象之间的差别致使偏向于选取不同值个数多的属性。实验结果表明,在采用粗糙集技术的分类规则发现方法中使用可变属性度量方法与属性重要度方法相比,能得到更高的预测准确度和更简洁的规则。

    本课题中,我们主要研究多个的统计模型的综合。通过对不同的统计模型的比较和组合,可以得到更为理想的结果,同时,我们的系统中包括了常用的统计模型,应用范围方面受到的限制要少一些。我们包括的统计模型有:线性回归模型、非线性回归模型、确定型时间序列模型、随机型时间序列模型、自回归-移动平均模型(ARMA)、相关分析。

    神经网络是指一类新的计算模型,它是模仿人脑神经网络的结构和某些工作机制而建立的一种计算模型。这种计算模型的特点是,利用大量的简单计算单元(即神经元)连成网络,来实现大规模并行计算。神经网络的工作机理是通过学习,改变神经元之间的连接强度。常用的神经计算模型有多层感知机、反传网络、自适应映射网络等。在神经网络中,由权重和网络的拓扑结构决定了它所能识别的模式类型。一个学习算法是用于发现给定任务的权值的程序。最流行的神经网络学习算法是BP算法(Back-propagation algorithm)。

支持向量机(SVM)是一种建立在统计学习理论基础上的机器学习方法。 通过学习算法,SVM可以自动寻找那些对分类有较好区分能力的支持向量,由此构造出的分类器可以最大化类与类的间隔,因而有较好的推广性能和较高的分类准确率。SVM主要思想是针对两类分类问题,在高维空间中寻找一个超平面作为两类的分割,以保证最小的分类错误率。而且SVM一个重要的优点是可以处理线性不可分的情况。用SVM实现分类,首先要从原始空间中抽取特征,将原始空间中的样本映射为高维特征空间中的一个向量,以解决原始空间中线性不可分的问题。

    模糊聚类通常使用基于传递闭包的方法, 该方法是否失真最小在理论上缺乏保障,为解决这一问题, 我们提出了基于摄动的模糊聚类方法,简称FCMBP模糊聚类。FCMBP模糊聚类比传递闭包法失真小, 而且在基于模糊相似阵的模糊聚类方法中, FCMBP方法是失真最小的。FCMBP方法不仅失真最小, 而且有时与传递闭包法的聚类结果还有本质差异。FCMBP方法比传递闭包法计算复杂, 但聚类层次丰富。

为了解决一个新问题(目标范例Target Case),CBR进行回忆, 从记忆或范例库(Case Base)中找到一个与新问题相同或相似的源范例(Source Case), 然后把该范例的有关信息和知识进行修改就复用到新问题的求解之中,得到问题的解答。因此,这种由源范例来指导目标范例求解的方法,具有简化知识获取,通过直接复用提高求解效率,求解质量较高,适用于非计算推导的优点。

考虑到存储和检索(空间和时间)的开销,CBR对海量数据是不适合的。因此,我们研究了利用LatticeMoment理论对原始数据进行压缩、降维,改变消极学习中推迟处理的策略,积极地对数据进行综合总结,形成不同层次的不同粒度的模型。在测试的阶段,用这些模型代替原始的数据/实例,提高分类和预测的性能。

    贝叶斯网络是用来表示变量集合连接概率的图形模式,它提供了一种自然的表示因果信息的方法,用来发现数据间的潜在关系。在这个网络中,用节点表示变量,有向边表示变量间的依赖关系。在数据挖掘中具有以下优点:可以处理不完整和带有噪声的数据集。它用概率测度的权重来描述数据间的相关性,从而解决了数据间的不一致性,甚至是相互独立的问题;用图形的方法描述数据间的相互关系,语义清晰、可理解性强,这有助于利用数据间的因果关系进行预测分析。

    信息可视化和数据挖掘是两个可互为补充利用的相关研究领域。当信息可视化作为数据挖掘的技术之一时,同其它技术相比,它有一个独特之处:能极大地发挥用户的主动参预性。由于对数据进行了可视化,用户愿意进行探索(Explore),在探索过程中有可能发现意外的知识。

    我们提出了一种新颖的基于近邻方法的高维数据可视化聚类方法,并实现了一个近邻可视化聚类发现系统VisNN。此外,我们还研究了一种新颖的k-叉树的画法,该算法可以高效地画出任意的k-叉树。在具体的应用系统中,这棵树还是三维的,可以拖近拉远的。

六、结束语

    多策略数据挖掘平台MSMiner能有效支持数据管理、数据挖掘、智能决策等。系统的基本特点是:

(1) 基于数据仓库和新型的元数据管理,按照主题创建数据仓库,并通过元数据进行管理和维护;

(2) 数据的抽取、转换、装载等预处理方便;

(3) 支持多维数据在线分析处理(OLAP),

(4) 提供决策树、支持向量机、粗糙集、模糊聚类、基于范例推理、统计方法、神经计算等多种数据挖掘算法,支持特征抽取、分类、聚类、预测、关联规则发现、统计分析等数据挖掘功能,并支持高层次的决策分析功能;

(5) 挖掘平台利用扩展了数据仓库某些功能和特征的数据库管理系统(如SQL Server, Sybase, Oracle, Imformix)作后台,可以与现有的系统无缝的连接,也从关系型数据库、文本、万维网等外部数据源中抽取数据费用低,周期短。

(6) 实现了可视化的任务编辑环境,以及功能强大的任务处理引擎,能够快捷有效地实现各种数据转换和数据挖掘任务。

(7) 可扩展性好。转换规则和挖掘算法是封装的、模块化的,系统提供了一个开放的、灵活通用的接口,使用户能够加入新的规则和算法。

(8) 容易进行二次开发。将MSMiner与具体的领域相结合,构造实际的应用系统是方便的、快速的、灵活的、高效的,能够有效地进行验证性发现和探索性发现。

    我们将通过实际推广应用,完善面向数据仓库的数据挖掘工具(MSMiner)系统功能,提高系统效率,使之成为具有自主版权的软件产品。