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