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