知识发现
1.知识发现的概述
基于数据库的知识发现(KDD)和数据挖掘还存在着混淆,通常这两个术语替换使用。KDD表示将低层数据转换为高层知识的整个过程。可以将KDD简单定义为:KDD是确定数据中有效的、新颖的、潜在有用的、基本可理解的模式的特定过程。而数据挖掘可认为是观察数据中模式或模型的抽取,这是对数据挖掘的一般解释。虽然数据挖掘是知识发现过程的核心,但它通常仅占KDD的一部分(大约是15% 到25%) 。因此数据挖掘仅仅是整个KDD过程的一个步骤,对于到底有多少步以及哪一步必须包括在KDD过程中没有确切的定义。然而,通用的过程应该接收原始数据输入,选择重要的数据项,缩减、预处理和浓缩数据组,将数据转换为合适的格式,从数据中找到模式,评价解释发现结果。
2.知识发现的基本任务
1)数据分类。分类是数据挖掘研究的重要分支之一,是一种有效的数据分析方法。分类的目标是通过分析训练数据集,构造一个分类模型(即分类器),该模型能够把数据库中的数据记录映射到一个给定的类别,从而可以l立用于数据预测。
2)数据聚类。当要分析的数据缺乏必要的描述信息,或者根本就无法组织成任何分类模式时,利用聚类函数把一组个体按照相似性归成若干类,这样就可以自动找到类。聚类和分类类似,都是将数据进行分组。但与分类不同的是,聚类中的组不是预先定义的,而是根据实际数据的特征按照数据之间的相似性来定义的。
3)衰退和预报。这是一种特殊类型的分类,可以看作是根据过去和当前的数据预测未来的数据状态。通过对用衰减统计技术建模的数字值的预测,学习一种(线性或非线性)功能将数据项映射为一个数字预测变量。
4)关联和相关性。是指发现大规模数据集中项集之间有趣的关联或相关关系。关联规则是指通过对数据库中的数据进行分析,从某一数据对象的信息来推断另一数据对象的信息,寻找出重复出现概率很高的知识模式,常用一个带有置信度因子的参数来描述这种不确定的关系。
5)顺序发现。通常指确定数据组中的顺序模式。当数据的特定类型的关系已被发现时,这些模式同关联和相关性相似。但对关系基于时间序列的数据组,顺序发现和关联就不同了。概括总结:顺序发现是将数据映射为有关数据组的简练描述的子集或映射为数据库中一组特定用户数据的高度概括的数据。
6)描述和辨别。是指发现一组特征规则,其中的每一条都是或者显示数据组的特征或者从对比类中区别试验类的概念的命题。
7)时间序列分析。其任务是发现属性值的发展趋向,如从股票价格指数的金融数据、客户数据和医学数据等。它是用来搜寻相似模式以发现和预测特定模式的风险、因果关系和趋势。
3.知识发现的知识类型
1)广义型知识(Generalization)。是根据数据的微观特性发现其表征的、带有普遍性的、高层次概念的、中观或宏观的知识。
2)分类型知识(Classification&Clustering)。反映同类事物共同性质的特征型知识和不同事物之间差异型特征知识。用于反映数据的汇聚模式或根据对象的属性区分其所属类别。
3)关联型知识(Association)。是反映一个事件和其他事件之间依赖或关联的知识,又称依赖(Dependency)关系。这类知识可用于数据库中的归一化,查询优化等。
4)预测型知识(Prediction)。通过时间序列型数据,由历史的和当前的数据去预测未来的情况。它实际上是一种以时间为关键属性的关联知识。
5)偏差型知识(Deviation)。通过分析标准类以外的特例、数据聚类外的离群值、实际观测值和系统预测值间的显著差别,对差异和极端特例进行描述。
4.知识发现技术
到目前为止已经出现了许多知识发现技术,分类方法也有很多种,按被挖掘对象分有基于关系数据库、多媒体数据库;按挖掘的方法分有数据驱动型、查询驱动型和交互型;按知识类型分有关联规则、特征挖掘、分类、聚类、总结知识、趋势分析、偏差分析、文本采掘。知识发现技术可分为两类:基于算法的方法和基于可视化的方法 。大多数基于算法的方法是在人工智能、信息检索、数据库、统计学、模糊集和粗糙集理论等领域中发展来的。
典型的基于算法的知识发现技术包括:或然性和最大可能性估计的贝叶斯理论 、衰退分析、最近邻、决策树、K一方法聚类、关联规则挖掘 、Web和搜索引擎、数据仓库和联机分析处理(On—line Analytical Processing,OLAP) 、神经网络、遗传算法、模糊分类和聚类、粗糙分类和规则归纳等。这些技术都很成熟,并且在相关书籍文章上都有详细介绍。这里介绍一种基于可视化的方法。
基于可视化方法是在图形学、科学可视化和信息可视化等领域发展起来的,包括:①几何投射技术。是指通过使用基本的组成分析、因素分析、多维度缩放比例来发现多维数据集的有趣投影。②基于图标技术。是指将每个多维数据项映射为图形、色彩或其他图标来改进对数据和模式的表达。③面向像素的技术。其中每个属性只由一个有色像素表示,或者属性取值范围映射为一个固定的彩色图。④ 层次技术。指细分多维空间,并用层次方式给出子空间。⑤基于图表技术。是指通过使用查询语言和抽取技术以图表形式有效给出数据集。⑥ 混合技术。是指将上述两种或多种技术合并到一起的技术。
5.知识发现过程的步骤
知识发现过程的多种描述.它们只是在组织和表达方式上有所不同,在内容上并没有非常本质的区别。知识发现过程包括以下步骤:
1.问题的理解和定义:数据挖掘人员与领域专家合作.对问题进行深入的分析.以确定可能的解决途径和对学习结果的评测方法。
2.相关数据收集和提取:根据问题的定义收集有关的数据。在数据提取过程中,可以利用数据库的查询功能以加快数据的提取速度。
3.数据探索和清理:了解数据库中字段的含义及其与其他字段的关系。对提取出的数据进行合法性检查并清理含有错误的数据。
4.数据工程:对数据进行再加工.主要包括选择相关的属性子集并剔除冗余属性、根据知识发现任务对数据进行采样以减少学习量以及对数据的表述方式进行转换以适于学习算法等。为了使数据与任务达到最佳的匹配.这个步骤可能反复多次。
5.算法选择:根据数据和所要解决的问题选择合适的数据挖掘算法.并决定如何在这些数据上使用该算法。
6.运行数据挖掘算法:根据选定的数据挖掘算法对经过处理后的数据进行模式提取。
7.结果的评价:对学习结果的评价依赖于需要解决的问题.由领域专家对发现的模式的新颖性和有效性进行评价。数据挖掘是KDD 过程的一个基本步骤.它包括特定的从数据库中发现模式的挖掘算法。KDD过程使用数据挖掘算法根据特定的度量方法和阈值从数据库中提取或识别出知识,这个过程包括对数据库的预处理、样本划分和数据变换。
6.知识发现的应用
事实上知识发现的潜在应用是十分广阔的.已经远远超出了最初的”货架子工程”。从工业到农业,从天文到地理 从预测预报到决策支持,KDD都发挥着越来越重要的作用。目前许多计算机软件开发商都已经推出了其数据挖掘产品,如IBM.Microsoft,SPSS.SGI,SLPInfoware,SAS(ObjectBusiness)等。数据挖掘作为信息处理的高新技术已经在实际应用中崭露头角。
1、商业方面。”货架子工程”是KDD最初成功应用的典范。也正是因为在商业方面的成功应用不断刺激着KDD的发展,进而拓展到越来越广阔的应用领域。如今商业.特别是销售业和服务行业,仍然是KDD应用最广泛的领域之一。目前主要应用于销售预测、库存需求、零售点选择、价格分析和销售模式分析。例如宾馆酒店通过对消费特别高和特别低的顾客进行偏离模式分析,可以发现一些有趣的消费模式:AutOm at edW a—ge ring公司使用AdvancedSoftwa reAppI ications的ModeIMaX预测模型.结合地理信息分析开发了Lo—tieryMachineSi[eSelection.以决定在佛罗里达州安装彩票机的最佳地点。
2、农业方面。农业是一个大型复杂系统 我国农业部门数十年来积累了大量的关于土肥、气象、病虫害、市场信息等方面的数据、实例和经验知识.但基本上没有得到充分利用。通过KDD可以从中发现许多有价值和有规律的知识。如通过对病虫害数据库的分析,可以发现病虫害的影响因素、迁移或蔓延规律等.从而遏制灾害的发生、扩展或降低灾害损失,通过对国际国内市场信息的挖掘来指导农业生产规划等。
3、医学生物方面。医疗保健行业有大量数据需要处理,但这个行业的数据由不同的信息系统管理,数据组织性差 而且类型复杂。如医疗诊断数据,可能包括文本、数值,图像等,都给应用带来了一些困难。目前KDD在医药方面主要用于医疗诊断分析、药物成分一效用分析、新药研制和药物生产工艺控制优化等。
4、金融保险方面。金融事务需要收集和处理大量数据 对这些数据进行分析,发现其数据模式及特征.然后可能发现某个客户.消费群体或组织的金融和商业兴趣,并可观察金融市场的变化趋势。KDD在金融领域应用广泛,如金融、股票市场分析和预测,账户分类、银行担保和信用评估等。
5、通讯、媒体方面。如线路故障的预测、收视率的影响因素、网站入侵检测、Web信息发现等。
6、国防军事方面。如军事情报资料分析.指挥自动化与辅助决策、战争风险预测、武器攻击效果分析、地理数据分析等。
7、其他方面。如工业生产中设备故障诊断.生产工艺优化:科学研究中的数据处理与分析.气象分析和预报等。