随着数据库技术的不断发展及数据库管理系统的广泛应用,数据库中存储的数据量急剧增大,在大量的数据背后隐藏着许多重要的信息,如果能把这些信息从数据库中抽取出来,将为公司创造很多潜在的利润,而这种从海量数据库中挖掘信息的技术,就称之为数据挖掘。
数据挖掘工具能够对将来的趋势和行为进行预测,从而很好地支持人们的决策,比如,经过对公司整个数据库系统的分析,数据挖掘工具可以回答诸如“哪个客户对我们公司的邮件推销活动最有可能作出反应,为什么”等类似的问题。有些数据挖掘工具还能够解决一些很消耗人工时间的传统问题,因为它们能够快速地浏览整个数据库,找出一些专家们不易察觉的极有用的信息。
下文将对数据挖掘的基本技术作一个简单的介绍。
数据挖掘的基础
数据挖掘技术是人们长期对数据库技术进行研究和开发的结果。起初各种商业数据是存储在计算机的数据库中的,然后发展到可对数据库进行查询和访问,进而发展到对数据库的即时遍历。数据挖掘使数据库技术进入了一个更高级的阶段,它不仅能对过去的数据进行查询和遍历,并且能够找出过去数据之间的潜在联系,从而促进信息的传递。现在数据挖掘技术在商业应用中已经可以马上投入使用,因为对这种技术进行支持的三种基础技术已经发展成熟,他们是:
海量数据搜集
强大的多处理器计算机
数据挖掘算法
商业数据库现在正在以一个空前的速度增长,并且数据仓库正在广泛地应用于各种行业;对计算机硬件性能越来越高的要求,也可以用现在已经成熟的并行多处理机的技术来满足;另外数据挖掘算法经过了这10多年的发展也已经成为一种成熟,稳定,且易于理解和操作的技术。
从商业数据到商业信息的进化过程中,每一步前进都是建立在上一步的基础上的。见下表。表中我们可以看到,第四步进化是革命性的,因为从用户的角度来看,这一阶段的数据库技术已经可以快速地回答商业上的很多问题了。
表一、数据挖掘的进化历程。
数据挖掘的核心模块技术历经了数十年的发展,其中包括数理统计、人工智能、机器学习。今天,这些成熟的技术,加上高性能的关系数据库引擎以及广泛的数据集成,让数据挖掘技术在当前的数据仓库环境中进入了实用的阶段。
数据挖掘的范围
“数据挖掘”这个名字来源于它有点类似于在山脉中挖掘有价值的矿藏。在商业应用里,它就表现为在大型数据库里面搜索有价值的商业信息。这两种过程都需要对巨量的材料进行详细地过滤,并且需要智能且精确地定位潜在价值的所在。对于给定了大小的数据库,数据挖掘技术可以用它如下的超能力产生巨大的商业机会:
自动趋势预测。数据挖掘能自动在大型数据库里面找寻潜在的预测信息。传统上需要很多专家来进行分析的问题,现在可以快速而直接地从数据中间找到答案。一个典型的利用数据挖掘进行预测的例子就是目标营销。数据挖掘工具可以根据过去邮件推销中的大量数据找出其中最有可能对将来的邮件推销作出反应的客户。
自动探测以前未发现的模式。数据挖掘工具扫描整个数据库并辨认出那些隐藏着的模式,比如通过分析零售数据来辨别出表面上看起来没联系的产品,实际上有很多情况下是一起被售出的情况。
数据挖掘技术可以让现有的软件和硬件更加自动化,并且可以在升级的或者新开发的平台上执行。当数据挖掘工具运行于高性能的并行处理系统上的时候,它能在数分钟内分析一个超大型的数据库。这种更快的处理速度意味着用户有更多的机会来分析数据,让分析的结果更加准确可靠,并且易于理解。
数据库可以由此拓展深度和广度
深度上,允许有更多的列存在。以往,在进行较复杂的数据分析时,专家们限于时间因素,不得不对参加运算的变量数量加以限制,但是那些被丢弃而没有参加运算的变量有可能包含着另一些不为人知的有用信息。现在,高性能的数据挖掘工具让用户对数据库能进行通盘的深度编历,并且任何可能参选的变量都被考虑进去,再不需要选择变量的子集来进行运算了。
广度上,允许有更多的行存在。更大的样本让产生错误和变化的概率降低,这样用户就能更加精确地推导出一些虽小但颇为重要的结论。
最近,Gartner Group的一次高级技术调查将数据挖掘和人工智能列为“未来三到五年内将对工业产生深远影响的五大关键技术”之首,并且还将并行处理体系和数据挖掘列为未来五年内投资焦点的十大新兴技术前两位。根据最近Gartner的HPC研究表明,“随着数据捕获、传输和存储技术的快速发展,大型系统用户将更多地需要采用新技术来挖掘市场以外的价值,采用更为广阔的并行处理系统来创建新的商业增长点。”
在数据挖掘中最常用的技术有:
人工神经网络:仿照生理神经网络结构的非线形预测模型,通过学习进行模式识别。
决策树:代表着决策集的树形结构。
遗传算法:基于进化理论,并采用遗传结合、遗传变异、以及自然选择等设计方法的优化技术。
近邻算法:将数据集合中每一个记录进行分类的方法。
规则推导:从统计意义上对数据中的“如果-那么”规则进行寻找和推导。
采用上述技术的某些专门的分析工具已经发展了大约十年的历史,不过这些工具所面对的数据量通常较小。而现在这些技术已经被直接集成到许多大型的工业标准的数据仓库和联机分析系统中去了。
数据挖掘是如何工作的
数据挖掘工具是怎样准确地告诉你那些隐藏在数据库深处的重要信息的呢?它们又是如何作出预测的?答案就是建模。建模实际上就是在你知道结果的情况下建立起一种模型,并且把这种模型应用到你所不知道的那种情况中。比如说,如果你想要在大海上去寻找一艘古老的西班牙沉船,也许你首先想到的就是去找找过去发现这些宝藏的时间和地点有哪些。那么,经过调查你发现这些沉船大部分都是在百慕大海区被发现,并且那个海区有着某种特征的洋流,以及那个时代的航线也有一定的特征可寻。在这众多的类似特征中,你将它们抽象并概括为一个普适的模型。利用这个模型,你就很有希望在具有大量相同特征的另外一个地点发现一件不为人知的宝藏。
当然,在数据挖掘技术甚至计算机出现以前,这种建模抽象的方法就已经广泛地被人们所使用。在计算机中的建模和以前的建模方法并无很大不同,主要的差异在于计算机能处理的信息量比起以前来更加庞大。计算机中能够存储已知了结果的大量不同情况,然后由数据挖掘工具从这些大量的信息里面披沙拣金,将能够产生模型的信息提取出来。一当模型建立好了之后,就可以应用在那些情形相似但结果尚未知的判断中了。比如,现在假设你是一个电信公司的营销主任,公司想发展一些新的长途电话用户,那么你是不是会漫无目的地到街上去散发广告呢?――就象漫无目的地在海上去寻宝一样。其实,比起漫无目的地去进行宣传来,利用你以前的商业经验来有目的地去拉拢客户会产生高得多的效率。
作为一个营销主任,你对客户的很多信息都可以了解得一清二楚:年龄、性别、信用记录以及长途电话使用状况。从好的一方面来看,掌握了这些客户的信息其实就是掌握了很多潜在的用户的同样的信息。问题在于你还不一定了解他们的长途电话使用情况(因为他们的长途电话也许是通过的另一个电信公司)。现在你的主要精力就集中在用户中谁有比较多的长途电话上。通过下面这个表格,我们可以从数据库里面抽象某些变量,建立起一个可以对此进行分类营销的模型。
表二、数据挖掘应用于分类营销
根据我们创建的从一般信息到私有信息的计算模型,我们可以得出表二右下方表格中的信息。比如,一个电信公司的简化模型可以是:年薪6万美圆以上的98%的客户,每个月长话费80美圆以上。根据这个模型,我们就能应用这些数据来推断出公司现在尚不能明确的私有信息,这样,新客户群体就可以大体确定出来了。小型市场的试销数据对于这样的模型来说显得极为有用。因为小范围内试销数据的挖掘,能够为全部市场的分类销售打下一个良好的基础。表三则描述了另外一样数据挖掘的普遍应用:预测。
表三、数据挖掘应用于预测
数据挖掘的体系结构
现有很多数据挖掘工具是独立于数据仓库以外的,它们需要独立地输入输出数据,以及进行相对独立的数据分析。为了最大限度地发挥数据挖掘工具的潜力,它们必须象很多商业分析软件一样,紧密地和数据仓库集成起来。这样,在人们对参数和分析深度进行变化的时候,高集成度就能大大地简化数据挖掘过程。下图显示了一个大型数据库中的高级分析过程。
集成后的数据挖掘体系
应用数据挖掘技术,较为理想的起点就是从一个数据仓库开始,这个数据仓库里面应保存着所有客户的合同信息,并且还应有相应的市场竞争对手的相关数据。这样的数据库可以是各种市场上的数据库:Sybase、Oracle、Redbrick、和其他等等,并且可以针对其中的数据进行速度上和灵活性上的优化。
联机分析系统OLAP服务器可以使一个十分复杂的最终用户商业模型应用于数据仓库中。数据库的多维结构可以让用户从不同角度,――比如产品分类,地域分类,或者其他关键角度――来分析和观察他们的生意运营状况。数据挖掘服务器在这种情况下必须和联机分析服务器,以及数据仓库紧密地集成起来,这样就可以直接跟踪数据和并辅助用户快速作出商业决策,并且用户还可以在更新数据的时候不断发现