大家好,又见面了,我是你们的朋友全栈君。
一幅凝固的油画
Keywords:
data mining,Knowledge discovery in databases,DM,KDD,CRISP-DM,Internet
概念
基于Internet的全球信息系统的发展使我们拥有了前所未有的丰富数据。大量信息在给人们带来方便的同时也带来了一大堆问题:第一是信息过量,难以消化;第二是信息真假难以辨识;第三是信息安全难以保证;第四是信息形式不一致,难以统一处理。数据丰富、知识贫乏已经成为一个典型问题。Data Mining(数据挖掘)的目的就是有效地从海量数据中提取出需要的答案,实现“数据-〉信息-〉知识-〉价值”的转变过程。
Data Mining(数据挖掘)是指用非平凡的方法从海量的数据中抽取出潜在的、有价值的知识(模型或规则)的过程。该术语还有其他一些同义词:数据库中的知识发现(Knowledge discovery in databases)、信息抽取(Information extraction)、信息发现(Information discovery)、智能数据分析(Intelligent data analysis)、探索式数据分析(exploratory data analysis)、信息收获(information harvesting)、数据考古(data archeology)等。
数据挖掘的发展历程大致如下:
•1989 IJCAI会议:数据库中的知识发现讨论专题
–Knowledge Discovery in Databases (G. Piatetsky-Shapiro and W. Frawley, 1991)
•1991-1994 KDD讨论专题
–Advances in Knowledge Discovery and Data Mining (U. Fayyad, G. Piatetsky-Shapiro, P. Smyth, and R. Uthurusamy, 1996)
•1995-1998 KDD国际会议 (KDD’95-98)
–Journal of Data Mining and Knowledge Discovery (1997)
•1998 ACM SIGKDD, SIGKDD’1999-2002会议,以及SIGKDD Explorations
•数据挖掘方面更多的国际会议
–PAKDD, PKDD, SIAM-Data Mining, (IEEE) ICDM, DaWaK, SPIE-DM, etc.
Data Mining(数据挖掘)是数据库研究、开发和应用最活跃的一个分支,是多学科的交叉领域,它涉及数据库技术、人工智能、机器学习、神经网络、数学、统计学、模式识别、知识库系统、知识获取、信息提取、高性能计算、并行计算、数据可视化等多方面知识。
数据挖掘技术从一开始就是面向应用的,它不仅是面向特定数据库的简单检索查询调用,而且要对这些数据进行微观、中观乃至宏观的统计、分析、综合和推理,以指导实际问题的求解,企图发现事件间的相互关联,甚至利用已有的数据对未来的活动进行预测。例如加拿大BC省电话公司要求加拿大SimonFraser大学KDD研究组,根据其拥有十多年的客户数据,总结、分析并提出新的电话收费和管理办法,制定既有利于公司又有利于客户的优惠政策。这样一来,就把人们对数据的应用,从低层次的末端查询操作,提高到为各级经营决策者提供决策支持。这种需求驱动力,比数据库查询更为强大。同时,这里所说的数据挖掘,不是要求发现放之四海而皆准的真理,也不是要去发现崭新的自然科学定理和纯数学公式,更不是什么机器定理证明。所有发现的知识都是相对的,是有特定前提和约束条件、面向特定领域的,同时还要能够易于被用户理解,最好能用自然语言表达发现结果。因此数据挖掘的研究成果是很讲求实际的。
技术
Data Mining(数据挖掘)主要任务有数据汇总、概念描述、分类、聚类、相关性分析、偏差分析、建模等。具体技术包括:
统计分析(statistical analysis)
常见的统计方法有回归分析(多元回归、自回归等)、判别分析(贝叶斯分析、费歇尔判别、非参数判别等)、聚类分析(系统聚类、动态聚类等)和探索性分析(主元分析法、相关分析法等)。其处理过程可以分为三个阶段:搜集数据、分析数据和进行推理。
决策树(decision tree)
决策树是一棵树,树的根节点是整个数据集合空间,每个分节点是对一个单一变量的测试,该测试将数据集合空间分割成两个或更多块。每个叶节点是属于单一类别的记录。首先,通过训练集生成决策树,再通过测试集对决策树进行修剪。决策树的功能是预言一个新的记录属于哪一类。
决策树分为分类树和回归树两种,分类树对离散变量做决策树,回归树对连续变量做决策树。
通过递归分割的过程来构建决策树:1寻找初始分裂,整个训练集作为产生决策树的集合,训练集每个记录必须是已经分好类的。决定哪个属性(Field)域作为目前最好的分类指标。一般的做法是穷尽所有的属性域,对每个属性域分裂的好坏做出量化,计算出最好的一个分裂。量化的标准是计算每个分裂的多样性(diversity)指标GINI指标。2树增长到一棵完整的树,重复第一步,直至每个叶节点内的记录都属于同一类。3数据的修剪,去掉一些可能是噪音或者异常的数据。
其基本算法(贪心算法)为:自上而下分而治之的方法,开始时,所有的数据都在根节点;属性都是种类字段 (如果是连续的,将其离散化);所有记录用所选属性递归的进行分割;属性的选择是基于一个启发式规则或者一个统计的度量 (如, information gain)。停止分割的条件:一个节点上的数据都是属于同一个类别;没有属性可以再用于对数据进行分割。
伪代码(Building Tree)为:
Procedure BuildTree(S){
用数据集S初始化根节点R
用根结点R初始化队列Q
While Q is not Empty do {
取出队列Q中的第一个节点N
if N 不纯 (Pure) {
for 每一个属性 A
估计该节点在A上的信息增益
选出最佳的属性,将N分裂为N1、N2
}
}
}
属性选择的统计度量为:信息增益——Information gain (ID3/C4.5),所有属性假设都是种类字段,经过修改之后可以适用于数值字段;基尼指数——Gini index (IBM IntelligentMiner),能够适用于种类和数值字段。
关联规则(correlation rules)
规则反映了数据项中某些属性或数据集中某些数据项之间的统计相关性,其一般形式为:X1∧…∧XnY[C,S],表示由X1∧…∧Xn可以预测Y,其中可信度为C,支持度为S。
设I={i1, i2,…, im}是二进制文字的集合,其中的元素称为项(item)。记D为交易(transaction)T的集合,这里交易T是项的集合,并且TÍI。对应每一个交易有唯一的标识,如交易号,记作TID。设X是一个I中项的集合,如果XÍT,那么称交易T包含X。
一个关联规则是形如XÞY的蕴涵式,这里XÌI, YÌI,并且XÇY=F。规则XÞY在交易数据库D中的支持度(support)是交易集中包含X和Y的交易数与所有交易数之比,记为support(XÞY),即
support(XÞY)=|{T:XÈYÍT,TÎD}|/|D|
规则XÞY在交易集中的可信度(confidence)是指包含X和Y的交易数与包含X的交易数之比,记为confidence(XÞY),即
confidence(XÞY)=|{T: XÈYÍT,TÎD}|/|{T:XÍT,TÎD}|
给定一个交易集D,挖掘关联规则问题就是产生支持度和可信度分别大于用户给定的最小支持度(minsupp)和最小可信度(minconf)的关联规则。
基于规则中处理的变量的类别,关联规则可以分为布尔型和数值型。布尔型关联规则处理的值都是离散的、种类化的,它显示了这些变量之间的关系;而数值型关联规则可以和多维关联或多层关联规则结合起来,对数值型字段进行处理,将其进行动态的分割,或者直接对原始的数据进行处理,当然数值型关联规则中也可以包含种类变量。基于规则中数据的抽象层次,可以分为单层关联规则和多层关联规则。在单层的关联规则中,所有的变量都没有考虑到现实的数据是具有多个不同的层次的;而在多层的关联规则中,对数据的多层性已经进行了充分的考虑。基于规则中涉及到的数据的维数,关联规则可以分为单维的和多维的。在单维的关联规则中,我们只涉及到数据的一个维,如用户购买的物品;而在多维的关联规则中,要处理的数据将会涉及多个维。
Agrawal等于1993年首先提出了挖掘顾客交易数据库中项集间的关联规则问题,其核心方法是基于频集理论的递推方法。以后诸多的研究人员对关联规则的挖掘问题进行了大量的研究。他们的工作包括对原有的算法进行优化,如引入随机采样、并行的思想等,以提高算法挖掘规则的效率;提出各种变体,如泛化的关联规则、周期关联规则等,对关联规则的应用进行推广。
Agrawal等在1993年设计了一个基本算法,提出了挖掘关联规则的一个重要方法 — 这是一个基于两阶段频集思想的方法,将关联规则挖掘算法的设计可以分解为两个子问题:
1) 找到所有支持度大于最小支持度的项集(Itemset),这些项集称为频集(Frequent Itemset)。
2) 使用第1步找到的频集产生期望的规则。
这里的第2步相对简单一点。如给定了一个频集Y=I1I2…Ik,k³2,Ij∈I,产生只包含集合{I1,I2,…,Ik}中的项的所有规则(最多k条),其中每一条规则的右部只有一项,(即形如[Y-Ii]ÞIi,”1£i£k)。一旦这些规则被生成,那么只有那些大于用户给定的最小可信度的规则才被留下来。对于规则右部含两个以上项的规则,在其以后的工作中进行了研究。为了生成所有频集,使用了递推的方法。其核心思想如下:
L1 = {large 1-itemsets};
for (k=2; Lk-1¹F; k++)
{
Ck=apriori-gen(Lk-1); //新的候选集
for all transactions tÎD
{
Ct=subset(Ck,t); //事务t中包含的候选集
for( all candidates cÎ Ct )
c.count++;
}
Lk={cÎ Ck|c.count³minsup}
}
Answer=ÈkLk;
首先产生频繁1-项集L1,然后是频繁2-项集L2,直到有某个r值使得Lr为空,这时算法停止。这里在第k次循环中,过程先产生候选k-项集的集合Ck,Ck中的每一个项集是对两个只有一个项不同的属于Lk-1的频集做一个(k-2)-连接来产生的。Ck中的项集是用来产生频集的候选集,最后的频集Lk必须是Ck的一个子集。Ck中的每个元素需在交易数据库中进行验证来决定其是否加入Lk,这里的验证过程是算法性能的一个瓶颈。这个方法要求多次扫描可能很大的交易数据库,即如果频集最多包含10个项,那么就需要扫描交易数据库10遍,这需要很大的I/O负载。
Agrawal等引入了修剪技术(Pruning)来减小候选集Ck的大小,由此可以显著地改进生成所有频集算法的性能。算法中引入的修剪策略基于这样一个性质:一个项集是频集当且仅当它的所有子集都是频集。那么,如果Ck中某个候选项集有一个(k-1)-子集不属于Lk-1,则这个项集可以被修剪掉不再被考虑,这个修剪过程可以降低计算所有的候选集的支持度的代价。
基于Apriori的频集方法即使进行了优化,但是Apriori方法一些固有的缺陷还是无法克服:1)可能产生大量的候选集。当长度为1的频集有10000个的时候,长度为2的候选集个数将会超过10M。还有就是如果要生成一个很长的规则的时候,要产生的中间元素也是巨大量的。2) 无法对稀有信息进行分析。由于频集使用了参数minsup,所以就无法对小于minsup的事件进行分析;而如果将minsup设成一个很低的值,那么算法的效率就成了一个很难处理的问题。以下两种方法,分别用于解决以上两个问题。
解决问题1的一种方法采用了一种FP-growth的方法。他们采用了分而治之的策略:在经过了第一次的扫描之后,把数据库中的频集压缩进一棵频繁模式树(FP-tree),同时依然保留其中的关联信息。随后我们再将FP-tree分化成一些条件库,每个库和一个长度为1的频集相关。然后再对这些条件库分别进行挖掘。当原始数据量很大的时候,也可以结合划分的方法,使得一个FP-tree可以放入主存中。实验表明,FP-growth对不同长度的规则都有很好的适应性,同时在效率上较之Apriori算法有巨大的提高。
第二个问题是基于这个的一个想法:apriori算法得出的关系都是频繁出现的,但是在实际的应用中,我们可能需要寻找一些高度相关的元素,即使这些元素不是频繁出现的。在apriori算法中,起决定作用的是支持度,而我们现在将把可信度放在第一位,挖掘一些具有非常高可信度的规则。对于这个问题的一个解决方法的整个算法基本上分成三个步骤:计算特征、生成候选集、过滤候选集。在三个步骤中,关键的地方就是在计算特征时Hash方法的使用。在考虑方法的时候,有几个衡量好坏的指数:时空效率、错误率和遗漏率。基本的方法有两类:Min_Hashing(MH)和Locality_Sensitive_Hashing(LSH)。Min_Hashing的基本想法是:将一条记录中的头k个为1的字段的位置作为一个Hash函数。Locality_Sentitive_Hashing的基本想法是:将整个数据库用一种基于概率的方法进行分类,使得相似的列在一起的可能性更大,不相似的列在一起的可能性较小。对这两个方法比较一下发现,MH的遗漏率为零,错误率可以由k严格控制,但是时空效率相对的较差。LSH的遗漏率和错误率是无法同时降低的,但是它的时空效率却相对的好很多。所以应该视具体的情况而定。最后的实验数据也说明这种方法的确能产生一些有用的规则。
基于范例的推理(case-based reasoning)
范例推理是直接使用过去的经验或解法来求解给定的问题。范例通常是一种已经遇到过并且有解法的具体问题。当给定一个特定问题时,范例推理就检索范例库,寻找相似的范例。如果存在相似的范例,其解法就可以用来求解新问题。而且该新问题被加入进范例库,已备将来搜索使用。
模糊集(fuzzy set)
模糊集是表示和处理不确定性数据的重要方法,它不仅可以处理不完全数据、噪声或不精确数据,还可以用于开发数据的不确定性模型,能够提供比传统方法更灵巧、更平滑的性能。
粗糙集(rough set)
粗糙集是相对较新的一种数学工具,用于处理含糊性和不确定性,在数据挖掘中可以发挥重要作用。粗糙集是由集合的下近似、上近似来定义的。下近似中的每一个成员都是该集合的确定成员,而不是上近似中的成员则肯定不是该集合的成员。粗糙集的上近似是下近似和边界区的并。边界区的成员可能是该集合的成员,但不是确定的成员。可以认为粗糙集是具有三值隶属函数的模糊集,它常与关联规则、分类和聚类方法结合使用,一般不单用。
贝叶斯信念网络(Bayesian belief network)
贝叶斯信念网络是概率分布的图表示,它是一种有向无环图,结点表示属性变量,边表示属性变量之间的概率依赖关系。和每个结点相关的是条件概率分布,用于描述该结点和其父结点之间的关系。
定义1:给定一个随机变量集 ={ },其中是一个维向量。贝叶斯信念网络了说明上的一条联合条件概率分布。贝叶斯信念网络定义如下:
第一部分是一个有向无环图,其顶点对应于有限集中的随机变量。其弧代表一个函数依赖关系。如果有一条弧由变量到,则 是的双亲或者直接前驱,而则是的后继。一旦给定其双亲,图中的每个变量独立于图中该节点的非后继。在图中的所有双亲变量用集合。
第二部分代表用于量化网络的一组参数。对于每一个,的取值 ,存在如下一个参数:,它指明了在给定在发生的情况下事件发生的条件概率。因此实际上一个贝叶斯信念网络给定了变量集合上的联合条件概率分布:
贝页斯网络构造算法可以表示如下:给定一组训练样本,是 的实例,寻找一个最匹配该样本的贝叶斯信念网络。常用的学习算法通常是引入一个评估函数,使用该函数来评估每一个可能的网络结构与样本之间的契合度,并从所有这些可能的网络结构中寻找一个最优解。常用的评价函数有贝叶斯权矩阵(Bayesian Score Metric)及最小描述长度函数(Minimal Description Length)。
支持向量机(support vector machine)
支持向量机(SVM)建立在计算学习理论的结构风险最小化原则之上。其主要思想是针对两类分类问题,在高维空间中寻找一个超平面作为两类的分割,以保证最小的分类错误率。它的一个重要优点是可以处理线性不可分的情形。
隐马尔科夫模型(Hidden Markov model)
马尔科夫过程是描述系统的一种方法,由俄国有机化学家马尔科夫于1870年提出,其组成有:系统状态、系统初始状态概率和状态之间转移的概率。隐马尔科夫模型包括:模型中状态数、模型中的输出符号数、模型中的状态集、状态转移的概率分布和初始状态分布等。隐马尔科夫模型有三个基本问题:识别问题(给定一个输出序列和模型,模型可能创建的序列的概率是什么?)、序列问题(给定一个输出序列和模型,什么最可能的状态序列可以创建输出序列?)和训练问题(给定一个输出序列和拓扑结构,怎样调整模型参数,包括状态转移和输出的概率分布,使得模型创建的输出序列具有最大概率?)。
神经网络(neural network)
神经网络(Nerual Net)指由大量神经元互连而成的网络,有点象服务器互连而成的国际互连网(Internet).人脑有1000亿个神经元,每个神经元平均与10000个其他神经元互连,这就构成了人类智慧的直接物质基础。
神经元的工作机制:神经元由细胞体,树突(输入端),轴突(输出端)组成。神经元有两种工作状态:兴奋和抑制。每个神经元到另一个神经元的连接权(后者对前者输出的反应程度)是可以接受外界刺激而改变的,这构成了学习机能的基础。
人工神经网络的工作原理:人工神经网络首先要以一定的学习准则进行学习,然后才能工作。现以人工神经网络对手写“A”、“B”两个字母的识别为例进行说明,规定当“A”输入网络时,应该输出“1”,而当输入为“B”时,输出为“0”。所以网络学习的准则应该是:如果网络作出错误的的判决,则通过网络的学习,应使得网络减少下次犯同样错误的可能性。首先,给网络的各连接权值赋予(0,1)区间内的随机值,将“A”所对应的图象模式输入给网络,网络将输入模式加权求和、与门限比较、再进行非线性运算,得到网络的输出。在此情况下,网络输出为“1”和“0”的概率各为50%,也就是说是完全随机的。这时如果输出为“1”(结果正确),则使连接权值增大,以便使网络再次遇到“A”模式输入时,仍然能作出正确的判断。如果输出为“0”(即结果错误),则把网络连接权值朝着减小综合输入加权值的方向调整,其目的在于使网络下次再遇到“A”模式输入时,减小犯同样错误的可能性。如此操作调整,当给网络轮番输入若干个手写字母“A”、“B”后,经过网络按以上学习方法进行若干次学习后,网络判断的正确率将大大提高。这说明网络对这两个模式的学习已经获得了成功,它已将这两个模式分布地记忆在网络的各个连接权值上。当网络再次遇到其中任何一个模式时,能够作出迅速、准确的判断和识别。一般说来,网络中所含的神经元个数越多,则它能记忆、识别的模式也就越多。
神经网络模型的特点是:利用大量的简单计算单元(神经元)连成网络,从而实现大规模并行计算;分布式存储,信息存在整个网中,用权值体现出来,有联想能力,可以从一个不完整的信息恢复出完整信息;自组织、自学习。其工作机理是通过学习来改变神经元之间的连接强度。人工神经网络的基本结构可以分为:递归网络和前馈网络。
常用神经网络模型有:Hopfield Net、Harmming Net、Carpenter/Grossberg分类器、单层感知网、多层感知网、Kohonen的自组织特性图和反向传播(BP)网络。
多层感知网络(误差逆传播神经网络):在1986年以Rumelhart和McCelland为首的科学家出版的《Parallel Distributed Processing》一书中,完整地提出了误差逆传播学习算法,并被广泛接受。多层感知网络是一种具有三层或三层以上的阶层型神经网络。典型的多层感知网络是三层、前馈的阶层网络,即:输入层I、隐含层(也称中间层)J、输出层K。相邻层之间的各神经元实现全连接,即下一层的每一个神经元与上一层的每个神经元都实现全连接,而且每层各神经元之间无连接。
竞争型(KOHONEN)神经网络:它是基于人的视网膜及大脑皮层对剌激的反应而引出的。神经生物学的研究结果表明:生物视网膜中,有许多特定的细胞,对特定的图形(输入模式)比较敏感,并使得大脑皮层中的特定细胞产生大的兴奋,而其相邻的神经细胞的兴奋程度被抑制。对于某一个输入模式,通过竞争在输出层中只激活一个相应的输出神经元。许多输入模式,在输出层中将激活许多个神经元,从而形成一个反映输入数据的“特征图形”。竞争型神经网络是一种以无教师方式进行网络训练的网络。它通过自身训练,自动对输入模式进行分类。竞争型神经网络及其学习规则与其它类型的神经网络和学习规则相比,有其自己的鲜明特点。在网络结构上,它既不象阶层型神经网络那样各层神经元之间只有单向连接,也不象全连接型网络那样在网络结构上没有明显的层次界限。它一般是由输入层(模拟视网膜神经元)和竞争层(模拟大脑皮层神经元,也叫输出层)构成的两层网络。两层之间的各神经元实现双向全连接,而且网络中没有隐含层,如图5。有时竞争层各神经元之间还存在横向连接。竞争型神经网络的基本思想是网络竞争层各神经元竞争对输入模式的响应机会,最后仅有一个神经元成为竞争的胜者,并且只将与获胜神经元有关的各连接权值进行修正,使之朝着更有利于它竞争的方向调整。神经网络工作时,对于某一输入模式,网络中与该模式最相近的学习输入模式相对应的竞争层神经元将有最大的输出值,即以竞争层获胜神经元来表示分类结果。这是通过竞争得以实现的,实际上也就是网络回忆联想的过程。
1986年美国物理学家J.J.Hopfield陆续发表几篇论文,提出了Hopfield神经网络。他利用非线性动力学系统理论中的能量函数方法研究反馈人工神经网络的稳定性,并利用此方法建立求解优化计算问题的系统方程式。基本的Hopfield神经网络是一个由非线性元件构成的全连接型单层反馈系统,网络中的每一个神经元都将自己的输出通过连接权传送给所有其它神经元,同时又都接收所有其它神经元传递过来的信息。即:网络中的神经元t时刻的输出状态实际上间接地与自己的t-1时刻的输出状态有关。所以Hopfield神经网络是一个反馈型的网络。其状态变化可以用差分方程来表征。反馈型网络的一个重要特点就是它具有稳定状态。当网络达到稳定状态的时候,也就是它的能量函数达到最小的时候。这里的能量函数不是物理意义上的能量函数,而是在表达形式上与物理意义上的能量概念一致,表征网络状态的变化趋势,并可以依据Hopfield工作运行规则不断进行状态变化,最终能够达到的某个极小值的目标函数。网络收敛就是指能量函数达到极小值。如果把一个最优化问题的目标函数转换成网络的能量函数,把问题的变量对应于网络的状态,那么Hopfield神经网络就能够用于解决优化组合问题。Hopfield工作时其各个神经元的连接权值是固定的,更新的只是神经元的输出状态。Hopfield神经网络的运行规则为:首先从网络中随机选取一个神经元ui,按照公式(1)进行加权求和,再按公式(2)计算ui的第t+1时刻的输出值。除ui以外的所有神经元的输出值保持不变,返回至第一步,直至网络进入稳定状态。对于同样结构的网络,当网络参数(指连接权值和阀值)有所变化时,网络能量函数的极小点(称为网络的稳定平衡点)的个数和极小值的大小也将变化。因此,可以把所需记忆的模式设计成某个确定网络状态的一个稳定平衡点。若网络有M个平衡点,则可以记忆M个记忆模式。当网络从与记忆模式较靠近的某个初始状态(相当于发生了某些变形或含有某些噪声的记忆模式,也即:只提供了某个模式的部分信息)出发后,网络按Hopfield工作运行规则进行状态更新,最后网络的状态将稳定在能量函数的极小点。这样就完成了由部分信息的联想过程。
最初由Werbos开发的反向传播训练算法是一种迭代梯度算法,用于求解前馈网络的实际输出与期望输出间的最小均方差值。BP网是一种反向传递并能修正误差的多层映射网络。当参数适当时,此网络能够收敛到较小的均方差,是目前应用最广的网络之一。BP网的短处是训练时间较长,且易陷于局部极小。
人工神经元网络也许永远无法代替人脑,但它能帮助人类扩展对外部世界的认识和智能控制。比如:GMDH网络本来是Ivakhnenko(1971)为预报海洋河流中的鱼群提出的模型,又成功的应用于超音速飞机的控制系统(Shrier,1987)和电力系统的负荷预测(Sagara和Murata,1988)。人的大脑十分复杂,但对于记忆大量数据和复杂运算却并不在行,以大脑为精神的人工神经元网络模型,配以高速电子计算机,将大大提高人对客观世界的认识。
遗传算法(genetic algorithms)
遗传算法是由J.H.Holland根据生物进化的模型按照自然进化原理提出的一种优化策略。虽然GA刚提出时没有受到重视,但近年来,人们把它应用于学习,优化,自适应等问题中。
GA的算法过程简述如下。首先在解空间中取一群点,作为遗传开始的第一代。每个点(基因)用一二进制的数字串表示,其优劣程度用一目标函数(Fitness function)来衡量。
在向下一代的遗传演变中,首先把前一代中的每个数字串根据由其目标函数值决定的概率分配到配对池中。好的数字串以高的概率被复制下来,劣的数字串被淘汰掉。然后将配对池中的数字任意配对,并对每一数字串进行交叉操作,产生新的子孙(数字串)。最后对新的数字串的某一位进行变异。这样就产生了新的一代。按照同样的方法,经过数代的遗传演变后,在最后一代中得到全局最优解或近似最优解。
GA的最大特点在于演算简单,它有三种演算:复制(Reproduction),交叉(Crossover),变异(Mutation)。在求解过程中,通过最好的选择、彼此交叉组合和变异,就可以期望解的集合将会越来越好。数据挖掘中的遗传算法主要用来形成变量间的依赖关系假设。
时间序列(time series)
时间序列是指随时间变化的序列值,处理时序数据包括趋势分析(长期或趋势变化、循环变动或循环变化、季节性变动或季节性变化、非规则或随机变化)、相似性搜索、序列模式挖掘和周期分析等内容。
趋势分析:一个变量Y,表示某一支股票每天的收盘价,可以看作是时间t的函数。例如:Y=F(t);这样的函数可以用一个时间序列的图来表示。
我们怎么样来分析这些时间序列的数据呢?这儿有四个方面值得我们注意的:1长时间的走向:表明在很长一段时间内总的走向趋势,这个可以用一个“趋势曲线”或者“趋势直线”来显示,具体方法将在下面讲到。2 周期的走向与周期的变化:直线和曲线的振荡并不是周期的,这个循环并不遵循基于相等时间的规律。3季节性的走向与变化:例如在情人节来之前,巧克力和花的销量突然的增大。换一个话说,就是在连续的很多年中,有一段时期总是与这年中的其他时期大不同。4不规则的随机走向;由于一些突发的偶然事件而产生的。上面这些走向我们分别可以用变量T,C,S,I来表示,时间序列分析也就可以是将一个时间序列的数据分割成这四个基本的趋势。这时间序列变量Y就可以模化为这四个变量的乘积或者是总和。
“给定Y的的集合,我们怎么样来分析出数据的走向呢?”一个很普遍的方法就是计算平均值,这个方法就叫做“moving average of order n”。如果采用一个有权重的方法的话,就是“weightedmoving average of order n”。例如:给定9个数的序列,我们计算出它的moving average of order3和weightedmoving average of order3(用权重1,4,1)。这个可以用下表来表示:
3,7,2,0,4,5,9,7,2
4,3,2,3,6,7,6
5.5, 2.5, 1,3.5,5.5,8,6.5
给中间一个权重大是为减少平滑的影响。
我们还有没有其他的方法来估计这个趋势呢?其中的一个方法是“freehand method”:用一个相似的曲线来代替数据,这儿最相似的曲线我们定义为di的总和最小,di是指曲线yi与实际数据yi的差。
有没有一些方法来调整季节性波动的数据呢?在实际的商业运用中,人们总想一般化季节性的波动。我们可以采用seasonal index numbers的方法。
挖掘序列模式:序列模式挖掘是基于时间或者其他序列的经常发生的模式。序列模式的一个例子就是“一个9个月前买了一台PC的顾客有可能在一个月内买一个新的CPU”。很多数据都是这种时间序列形式的,我们就可以用它来市场趋势分析,客户保留和天气预测等等。其应用领域包括:客户购买行为模式预测,Web访问模式预测,疾病诊断,自然灾害预测和DNA序列分析。
序列模式挖掘的例子和参数:有很多参数对于挖掘的结果影响很大:首先是时间序列T的持续时间,也就是这个时间序列的有效时间或者是用户选择的一个时间段,例如1999年。这样序列模式挖掘就被限定为对某段特定时间内的数据的挖掘。其次是时间折叠窗口w,在一段时间内发生的几件事件可以被看作是同时发生的,如果w被设置为持续时间T的长度,我们就可以发现一些关联模式——“在1999年,一个买了PC机用户又买了数字照相机”(并不考虑先后顺序)。如果w被设置为0,那么序列模式就是两个事件发生在不同的时间里——“已经买了Pc机和内存的顾客有可能在以后买一个光驱”。如果w被设置为一段时间间隔(例如一个月或者是一天),那么在这段时间的交易在分析中可以被看作是同时发生的。第三个参数是时间间隔,int,这个参数表示发现的模式的时间间隔。Int=0:在这儿,我们要考虑参数w,例如如果这个参数设置为一个星期,那么发生了事件A,事件B会在一星期内发生。Min_interval<max_interval:表示我们发现的事件发生的间隔小于min_interval大于max_interval。例如:“如果一个租了影片A,那么他一定会在一个月内租影片B”,这儿隐含着int<30。Int=c而c不为0,那么意味着两件事的间隔在固定的时间内,例如:每次股票A下跌了5%,那么两天后会发生什么事?
可视化(visualization)
可视化就是把数据、信息和知识转化为可视的表现形式的过程,其特点为:信息可视化的焦点在于信息;信息的数据量很大;信息的来源多种多样等。
方法
挖掘过程
数据挖掘的大体内容如下:
1. 确定业务对象。清晰地定义出业务问题,认清数据挖掘的目的是数据挖掘的重要一步.挖掘的最后结构是不可预测的,但要探索的问题应是有预见的,为了数据挖掘而数据挖掘则带有盲目性,是不会成功的。
2. 数据准备。1)数据的选择,搜索所有与业务对象有关的内部和外部数据信息,并从中选择出适用于数据挖掘应用的数据。2)数据的预处理,研究数据的质量,为进一步的分析做准备.并确定将要进行的挖掘操作的类型。3)数据的转换,将数据转换成一个分析模型.这个分析模型是针对挖掘算法建立的。建立一个真正适合挖掘算法的分析模型是数据挖掘成功的关键。
3. 数据挖掘。对所得到的经过转换的数据进行挖掘.除了完善合适的挖掘算法外,其余一切工作都能自动地完成.
4. 结果分析。解释并评估结果.其使用的分析方法一般应作数据挖掘操作而定,通常会用到可视化技术.
5. 知识的同化。将分析所得到的知识集成到业务信息系统的组织结构中去.
数据挖掘过程的分步实现需要是有不同专长的人员,他们大体可以分为三类。业务分析人员:要求精通业务,能够解释业务对象,并根据各业务对象确定出用于数据定义和挖掘算法的业务需求;数据分析人员:精通数据分析技术,并对统计学有较熟练的掌握,有能力把业务需求转化为数据挖掘的各步操作,并为每步操作选择合适的技术;数据管理人员:精通数据管理技术,并从数据库或数据仓库中收集数据。由此可见,数据挖掘是一个多种专家合作的过程,也是一个在资金上和技术上高投入的过程.
CRISP-DM是Cross-Industry Standard Process-Data Mining的缩写,由SPSS、NCR、Daimler-Benz在1996年制定。CRISP是当今数据挖掘业界通用流行的标准之一,它强调数据挖掘在商业中的应用,解决商业中存在的问题。过程如下:
业务理解(发现问题-确定商业目标;对现有资源的评估,确定问题是否能够通过数据挖掘来解决;确定数据挖掘的目标;制定数据挖掘计划)
数据理解(确定数据挖掘所需要的数据;对数据进行描述;数据的初步探索;检查数据质量)
数据准备(选择数据;清理数据;对数据进行重建;调整数据格式使之适合建模)
建立模型(对各个模型进行评价;选择数据挖掘模型;建立模型)
模型评估(评估数据挖掘的结果;对整个数据挖掘过程的前面步骤进行评估;确定下一步怎么办?是发布模型?还是对数据挖掘过程进行进一步的调整,产生新的模型)
模型发布(把数据挖掘模型的结果送到相应的管理人员手中;对模型进行日常的监测和维护;定期更新数据挖掘模型)
数据汇总
数据汇总的目的是对数据进行浓缩,给出其紧凑表示。数据汇总的一般方法是对数据进行各种统计量计算,以及用图形和表格等方式来表示。数据挖掘则是从数据泛化的角度对数据进行处理,简单说来,就是把较低层次的数据以更高层次的方式表现出来,从而满足用户的有特定目的的各种要求。其方式主要有两种:多维数据分析方法和面向属性的方法。
多维数据分析方法是一种数据仓库技术,也称作联机分析处理(OLAP)。联机分析处理(OLAP)的概念最早是由关系数据库之父E.F.Codd于1993年提出的。当时,Codd认为联机事务处理(OLTP)已不能满足终端用户对数据库查询分析的需要,SQL对大数据库进行的简单查询也不能满足用户分析的需求。用户的决策分析需要对关系数据库进行大量计算才能得到结果,而查询的结果并不能满足决策者提出的需求。因此Codd提出了多维数据库和多维分析的概念,即OLAP。Codd提出OLAP的12条准则来描述OLAP系统:
准则1 OLAP模型必须提供多维概念视图
准则2 透明性准则
准则3 存取能力推测
准则4 稳定的报表能力
准则5 客户/服务器体系结构
准则6 维的等同性准则
准则7 动态的稀疏矩阵处理准则
准则8 多用户支持能力准则
准则9 非受限的跨维操作
准则10直观的数据操纵
准则11灵活的报表生成
准则12不受限的维与聚集层次
数据仓库是面向决策支持的、集成的、稳定的、不同时间的历史数据集合。决策的前提是数据分析。在数据分析中经常要用到诸如求和、总计、平均、最大、最小等汇集操作,这类操作的计算量特别大。因此一种很自然的想法是,把汇集操作结果预先计算并存储起来,以便于决策支持系统使用。存储汇集操作结果的地方称作多维数据库。
采用多维数据分析方法进行数据抽取,它针对的是数据仓库,数据仓库存储的是脱机的历史数据。为了处理联机数据,研究人员提出了一种面向属性的归纳方法。它的思路是,直接对用户感兴趣的数据视图(用一般的SQL查询语言即可获得)进行泛化,而不是像多维数据分析方法那样预先就存储好了泛化数据。方法的提出者对这种数据泛化技术称之为面向属性的归纳方法。原始关系经过泛化操作后得到的是一个泛化关系,它从较高的层次上总结了在低层次上的原始关系。有了泛化关系后,就可以对它进行各种深入的操作而生成满足用户需要的知识,如在泛化关系基础上生成特性规则、判别规则、分类规则,以及关联规则等。
概念描述
概念描述是指:特征化,对所选择的数据给出一个简单明了的描述;比较,提供对于两个或以上数据进行比较的结果。
基本方法有,数据聚焦:选择和当前分析相关的数据,包括维。属性移除:如果某个属性包含大量不同值,但是在该属性上没有概化操作或者它的较高层概念用其它属性表示。属性概化:如果某个属性包含大量不同值,同时在该属性上有概化操作符,则运用该操作符进行概化。属性阈值控制: typical 2-8, specified/default.概化关系阈值控制:控制最终关系的大小。
基本算法为:InitialRel:得到相关数据,形成初始关系表;PreGen:通过统计不同属性的含有的不同值的个数决定是丢弃该属性还是对其进行汇总;PrimeGen:根据上一步的计算结果,对属性概化到相应的层次,计算汇总值,得到主概化关系;结果的表示:用概化关系、交叉表、3D立方体。
相关性分析
关联规则是形式如下的一种规则,”在购买面包和黄油的顾客中,有90%的人同时也买了牛奶”(面包+黄油(牛奶)。用于关联规则发现的主要对象是事务型数据库,其中针对的应用则是售货数据,也称货篮数据。一个事务一般由如下几个部分组成:事务处理时间,一组顾客购买的物品,有时也有顾客标识号(如信用卡号)。
由于条形码技术的发展,零售部门可以利用前端收款机收集存储大量的售货数据。因此,如果对这些历史事务数据进行分析,则可对顾客的购买行为提供极有价值的信息。例如,可以帮助如何摆放货架上的商品(如把顾客经常同时买的商品放在一起),帮助如何规划市场(怎样相互搭配进货)。由此可见,从事务数据中发现关联规则,对于改进零售业等商业活动的决策非常重要。
设I={i1,i2,…,im}是一组物品集(一个商场的物品可能有上万种),D是一组事务集(称之为事务数据库)。D中的每个事务T是一组物品,显然满足TI。称事务T支持物品集X,如果XT。关联规则是如下形式的一种蕴含:XY,其中XI,Y I,且X∩Y=I。
(1)称物品集X具有大小为s的支持度,如果D中有s%的事务支持物品集X;
(2)称关联规则XY在事务数据库D中具有大小为s的支持度,如果物品集X∪Y的支持度为s;
(3)称规则XY在事务数据库D中具有大小为c的可信度,如果D中支持物品集X的事务中有c%的事务同时也支持物品集Y。
如果不考虑关联规则的支持度和可信度,那么在事务数据库中存在无穷多的关联规则。事实上,人们一般只对满足一定的支持度和可信度的关联规则感兴趣。在文献中,一般称满足一定要求的(如较大的支持度和可信度)的规则为强规则。因此,为了发现出有意义的关联规则,需要给定两个阈值:最小支持度和最小可信度。前者即用户规定的关联规则必须满足的最小支持度,它表示了一组物品集在统计意义上的需满足的最低程度;后者即用户规定的关联规则必须满足的最小可信度,它反应了关联规则的最低可靠度。
在实际情况下,一种更有用的关联规则是泛化关联规则。因为物品概念间存在一种层次关系,如夹克衫、滑雪衫属于外套类,外套、衬衣又属于衣服类。有了层次关系后,可以帮助发现一些更多的有意义的规则。例如买外套、买鞋子”(此处,外套和鞋子是较高层次上的物品或概念,因而该规则是一种泛化的关联规则)。由于商店或超市中有成千上万种物品,平均来讲,每种物品(如滑雪衫)的支持度很低,因此有时难以发现有用规则;但如果考虑到较高层次的物品(如外套),则其支持度就较高,从而可能发现有用的规则。
另外,关联规则发现的思路还可以用于序列模式发现。用户在购买物品时,除了具有上述关联规律,还有时间上或序列上的规律,因为,很多时候顾客会这次买这些东西,下次买同上次有关的一些东西,接着又买有关的某些东西。
分类和预测
分类在数据挖掘中是一项非常重要的任务,目前在商业上应用最多。分类的目的是学会一个分类函数或分类模型(也常常称作分类器),该模型能把数据库中的数据项映射到给定类别中的某一个。分类和回归都可用于预测。预测的目的是从利用历史数据纪录中自动推导出对给定数据的推广描述,从而能对未来数据进行预测。和回归方法不同的是,分类的输出是离散的类别值,而回归的输出则是连续数值。
要构造分类器,需要有一个训练样本数据集作为输入。训练集由一组数据库记录或元组构成,每个元组是一个由有关字段(又称属性或特征)值组成的特征向量,此外,训练样本还有一个类别标记。一个具体样本的形式可为:(v1,v2,…,vn;c);其中vi表示字段值,c表示类别。
分类器的构造方法有统计方法、机器学习方法、神经网络方法等等。统计方法包括贝叶斯法和非参数法(近邻学习或基于事例的学习),对应的知识表示则为判别函数和原型事例。机器学习方法包括决策树法和规则归纳法,前者对应的表示为决策树或判别树,后者则一般为产生式规则。神经网络方法主要是BP算法,它的模型表示是前向反馈神经网络模型(由代表神经元的节点和代表联接权值的边组成的一种体系结构),BP算法本质上是一种非线性判别函数。另外,最近又兴起了一种新的方法:粗糙集(rough set),其知识表示是产生式规则。
不同的分类器有不同的特点。有三种分类器评价或比较尺度:1预测准确度;2计算复杂度;3模型描述的简洁度。预测准确度是用得最多的一种比较尺度,特别是对于预测型分类任务,目前公认的方法是10番分层交叉验证法。计算复杂度依赖于具体的实现细节和硬件环境,在数据挖掘中,由于操作对象是巨量的数据库,因此空间和时间的复杂度问题将是非常重要的一个环节。对于描述型的分类任务,模型描述越简洁越受欢迎;例如,采用规则表示的分类器构造法就更有用,而神经网络方法产生的结果就难以理解。
另外,分类的效果一般和数据的特点有关,有的数据噪声大,有的有缺值,有的分布稀疏,有的字段或属性间相关性强,有的属性是离散的而有的是连续值或混合式的。一般认为不存在某种分类方法能适合于各种特点的数据。
分类有两个步骤:1模型创建,对一个类别已经确定的模型创建模型。每一条记录都属于一个确定的类别,我们使用类标签属性记录类别。用于创建模型的数据集叫:训练集,模型可以用分类规则,决策树,或者数学方程的形式来表达。2模型使用:用创建的模型预测未来或者类别未知的记录,使用创建的模型在一个测试集上进行预测,并将结果和实际值进行比较。注意,测试集和训练集是独立的。
聚类分析
聚类是把一组个体按照相似性归成若干类别,即”物以类聚”。它的目的是使得属于同一类别的个体之间的距离尽可能的小,而不同类别上的个体间的距离尽可能的大。聚类方法包括统计方法、机器学习方法、神经网络方法和面向数据库的方法。
在统计方法中,聚类称聚类分析,它是多元数据分析的三大方法之一(其它两种是回归分析和判别分析)。它主要研究基于几何距离的聚类,如欧式距离、明考斯基距离等。传统的统计聚类分析方法包括系统聚类法、分解法、加入法、动态聚类法、有序样品聚类、有重叠聚类和模糊聚类等。这种聚类方法是一种基于全局比较的聚类,它需要考察所有的个体才能决定类的划分;因此它要求所有的数据必须预先给定,而不能动态增加新的数据对象。聚类分析方法不具有线性的计算复杂度,难以适用于数据库非常大的情况。
在机器学习中,聚类称作无监督或无教师归纳。因为和分类学习相比,分类学习的例子或数据对象有类别标记,而要聚类的例子则没有标记,需要由聚类学习算法来自动确定。很多人工智能文献中,聚类也称概念聚类;因为这里的距离不再是统计方法中的几何距离,而是根据概念的描述来确定的。当聚类对象可以动态增加时,概念聚类则称为概念形成。
在神经网络中,有一类无监督学习方法:自组织神经网络方法;如Kohonen自组织特征映射网络、竞争学习网络等等。在数据挖掘领域里,见报道的神经网络聚类方法主要是自组织特征映射方法。
一个好的聚类方法要能产生高质量的聚类结果——簇,这些簇要具备以下两个特点:
高的簇内相似性,低的簇间相似性,聚类结果的好坏取决于该聚类方法采用的相似性评估方法以及该方法的具体实现,聚类方法的好坏还取决与该方法是能发现某些还是所有的隐含模式。特别的,数据挖掘的要求还有:可伸缩性,能够处理不同类型的属性,能发现任意形状的簇,在决定输入参数的时尽量不需要特定的领域知识,能够处理噪声和异常,对输入数据对象的顺序不敏感,能处理高维数据,能产生一个好的、能满足用户指定约束的聚类结果,结果是可解释的、可理解的和可用的。
聚类的常规应用:模式识别;空间数据分析,在GIS中,通过聚类发现特征空间来建立主题索引,在空间数据挖掘中,检测并解释空间中的簇;图象处理;经济学 (尤其是市场研究方面);WWW方面有文档分类和分析WEB日志数据来发现相似的访问模式
偏差分析
即孤立点分析,孤立点分析是数据挖掘中一个重要方面,用来发现“小的模式”(相对于聚类而言),即数据集中显著不同于其它数据的对象。
Hawkins(1980)给出的孤立点(outlier)的定义:孤立点是在数据集中与众不同的数据,使人怀疑这些数据并非随机孤立点,而是产生于完全不同的机制。
Outliers可能在聚集运行或者检测的时候被发现,比如一个人的年龄是999,这在对数据库进行检测的时候就会被发现。还有,就是outlier可能是本身就固有的,而不是一个错误,比如CEO的工资就比一般员工的工资高出很多。
孤立点(Outlier)的一个图例如下:
很多数据挖掘技术都力图将outliers的影响降到最小,直至完全没有。但是,这有可能失去一些重要的隐藏的信息,因为对于一方来讲是“坏”的东西而对于另外的一方来讲很可能是重要的东西。换句话说,这个“特例”可能有特别的作用,例如发现诈骗(Fraud)行为。因此,发现和分析“诈骗行为”是一项很有意义的数据挖掘任务,我称为“outlier mining”。
Outlier mining的应用是很广泛的,除了上面说的“欺骗发现”以外,它还能够发现收入特别低或者特别高的顾客的购买行为。outlier mining可以这么来描述:给定n个记录和k(我们期望得到的outlier的个数);发现k个与其他的记录最不相象的记录。这个过程可以看成两个子过程:1,首先定义什么样的记录被称为“特例”;2,根据上面的定义,找到一个很有效的方法来发现这些特例。
其应用领域如下:
–电信和信用卡欺骗(检查购买金额或购买次数异常等)
–贷款审批
–药物研究
–气象预报
–金融领域(检查洗钱等异常行为)
–客户分类
–网络入侵检测等
孤立点分析算法可以分为如下几类:
–基于统计(statistical-based)的方法
–基于距离(distance-based)的方法
–基于偏离(deviation-based)的方法
–基于密度(density-based)的方法
–高维数据的孤立点分析
基于统计的孤立点检测应用主要局限于科研计算,这主要是因为必须事先知道数据的分布特征这就限制了它的应用范围。
基于距离的算法跟基于统计的算法相比,不需要用户拥有任何领域知识。与“序列孤立点”相比,在概念上更加直观。更重要的是,距离孤立点更接近Hawkins的孤立点本质定义。
基于偏离的孤立点检测算法提出的序列孤立点的概念并没有得到普遍的认同。这是因为序列孤立点在概念上仍然有一定缺陷,遗漏了不少的孤立点数据。
基于密度的孤立点观点比基于距离的孤立点观点更贴近Hawkins的孤立点定义,因此能够检测出基于距离孤立点算法所不能识别的一类孤立点数据——局部孤立点。局部孤立点观点摈弃了以前所有的孤立点定义中非此即彼的绝对孤立点观念,更加符合现实生活中的应用。
实际数据往往具有较大的噪声,因此孤立点模式经常只存在于低维子空间中,而在全维空间中难以确定;且以前算法在维数较高时,性能急剧下降。因此Aggarwal和Yu(SIGMOD’2001)提出一个高维数据孤立点检测的方法。采用遗传优化算法,获得了良好的计算性能。
应用
数据挖掘技术可以为决策、过程控制、信息管理和查询处理等任务提供服务,一个有趣的应用范例是“尿布与啤酒”的故事。为了分析哪些商品顾客最有可能一起购买,一家名叫 WalMart的公司利用自动数据挖掘工具,对数据库中的大量数据进行分析后,意外发现,跟尿布一起购买最多的商品竟是啤酒。为什么两件风马牛不相及的商品会被人一起购买?原来,太太们常叮嘱她们的丈夫,下班后为小孩买尿布,而丈夫们在买尿布后又随手带回了两瓶啤酒。既然尿布与啤酒一起购买的机会最多,商店就将它们摆放在一起,结果,尿布与啤酒的销售量双双增长。这里,数字挖掘技术功不可没。一般来说,数据挖掘的应用有,电信:流失;银行:聚类(细分),交叉销售;百货公司/超市:购物篮分析(关联规则);保险:细分,交叉销售,流失(原因分析);信用卡: 欺诈探测,细分;电子商务:网站日志分析;税务部门:偷漏税行为探测;警察机关:犯罪行为分析;医学:医疗保健。具体如下:
电子政务的数据挖掘
建立电子化政府,推动电子政务的发展,是电子信息技术应用到政府管理的必然趋势。实践经验表明,政府部门的决策越来越依赖于对数据的科学分析。发展电子政务,建立决策支持系统,利用电子政务综合数据库中存储的大量数据,通过建立正确的决策体系和决策支持模型,可以为各级政府的决策提供科学的依据,从而提高各项政策制定的科学性和合理性,以达到提高政府办公效率、促进经济发展的目的。为此,在政府决策支持方面,需要不断
吸纳新的信息处理技术,而数据挖掘正是实现政府决策支持的核心技术。以数据挖掘为依托的政府决策支持系统,将发挥重要的作用。
电子政务位于世界各国积极倡导的“信息高速公路”五个领域(电子政务、电子商务、远程教育、远程医疗、电子娱乐)之首,说明政府信息化是社会信息化的基础。电子政务包括政府的信息服务、电子贸易、电子化政府、政府部门重构、群众参与政府五个方面的内容。将网络数据挖掘技术引入电子政务中,可以大大提高政府信息化水平,促进整个社会的信息化。具体体现在以下几个方面:
1)政府的电子贸易 在服务器以及浏览器端日志记录的数据中隐藏着模式信息,运用网络用法挖掘技术可以自动发现系统的访问模式和用户的行为模式,从而进行预测分析。例如,通过评价用户对某一信息资源浏览所花费的时间,可以判断出用户对何种资源感兴趣;对日志文件所收集到的域名数据,根据国家或类型进行分类分析;应用聚类分析来识别用户的访问动机和访问趋势等。这项技术已经有效地运用在政府电子贸易中。
2)网站设计 通过对网站内容的挖掘,主要是对文本内容的挖掘,可以有效地组织网站信息,如采用自动归类技术实现网站信息的层次性组织;同时可以结合对用户访问日志记录信息的挖掘,把握用户的兴趣,从而有助于开展网站信息推送服务以及个人信息的定制服务,吸引更多的用户。
3)搜索引擎 网络数据挖掘是目前网络信息检索发展的一个关键。如通过对网页内容挖掘,可以实现对网页的聚类、分类,实现网络信息的分类浏览与检索;同时,通过对用户所使用的提问式的历史记录的分析,可以有效地进行提问扩展,提高用户的检索效果;另外,运用网络内容挖掘技术改进关键词加权算法,提高网络信息的标引准确度,从而改善检索效果。
4)决策支持 为政府重大政策出台提供决策支持。如,通过对网络各种经济资源的挖掘,确定未来经济的走势,从而制定出相应的宏观经济调控政策。
市场营销的数据挖掘
数据挖掘技术在企业市场营销中得到了比较普遍的应用,它是以市场营销学的市场细分原理为基础,其基本假定是“消费者过去的行为是其今后消费倾向的最好说明”。
通过收集、加工和处理涉及消费者消费行为的大量信息,确定特定消费群体或个体的兴趣、消费习惯、消费倾向和消费需求,进而推断出相应消费群体或个体下一步的消费行为,然后以此为基础,对所识别出来的消费群体进行特定内容的定向营销,这与传统的不区分消费者对象特征的大规模营销手段相比,大大节省了营销成本,提高了营销效果,从而为企业带来更多的利润。
商业消费信息来自市场中的各种渠道。例如,每当我们用信用卡消费时,商业企业就可以在信用卡结算过程收集商业消费信息,记录下我们进行消费的时间、地点、感兴趣的商品或服务、愿意接收的价格水平和支付能力等数据;当我们在申办信用卡、办理汽车驾驶执照、填写商品保修单等其他需要填写表格的场合时,我们的个人信息就存入了相应的业务数据库;企业除了自行收集相关业务信息之外,甚至可以从其他公司或机构购买此类信息为自己所用。
这些来自各种渠道的数据信息被组合,应用超级计算机、并行处理、神经元网络、模型化算法和其他信息处理技术手段进行处理,从中得到商家用于向特定消费群体或个体进行定向营销的决策信息。这种数据信息是如何应用的呢?举一个简单的例子,当银行通过对业务数据进行挖掘后,发现一个银行帐户持有者突然要求申请双人联合帐户时,并且确认该消费者是第一次申请联合帐户,银行会推断该用户可能要结婚了,它就会向该用户定向推销用于购买房屋、支付子女学费等长期投资业务,银行甚至可能将该信息卖给专营婚庆商品和服务的公司。数据挖掘构筑竞争优势。
在市场经济比较发达的国家和地区,许多公司都开始在原有信息系统的基础上通过数据挖掘对业务信息进行深加工,以构筑自己的竞争优势,扩大自己的营业额。美国运通公司(American Express)有一个用于记录信用卡业务的数据库,数据量达到54亿字符,并仍在随着业务进展不断更新。运通公司通过对这些数据进行挖掘,制定了“关联结算(Relation ship Billing)优惠”的促销策略,即如果一个顾客在一个商店用运通卡购买一套时装,那么在同一个商店再买一双鞋,就可以得到比较大的折扣,这样既可以增加商店的销售量,也可以增加运通卡在该商店的使用率。再如,居住在伦敦的持卡消费者如果最近刚刚乘英国航空公司的航班去过巴黎,那么他可能会得到一个周末前往纽约的机票打折优惠卡。
基于数据挖掘的营销,常常可以向消费者发出与其以前的消费行为相关的推销材料。卡夫(Kraft)食品公司建立了一个拥有3000万客户资料的数据库,数据库是通过收集对公司发出的优惠券等其他促销手段作出积极反应的客户和销售记录而建立起来的,卡夫公司通过数据挖掘了解特定客户的兴趣和口味,并以此为基础向他们发送特定产品的优惠券,并为他们推荐符合客户口味和健康状况的卡夫产品食谱。美国的读者文摘(Reader’s Digest)出版公司运行着一个积累了40年的业务数据库,其中容纳有遍布全球的一亿多个订户的资料,数据库每天24小时连续运行,保证数据不断得到实时的更新,正是基于对客户资料数据库进行数据挖掘的优势,使读者文摘出版公司能够从通俗杂志扩展到专业杂志、书刊和声像制品的出版和发行业务,极大地扩展了自己的业务。
基于数据挖掘的营销对我国当前的市场竞争中也很具有启发意义,我们经常可以看到繁华商业街上一些厂商对来往行人不分对象地散发大量商品宣传广告,其结果是不需要的人随手丢弃资料,而需要的人并不一定能够得到。如果搞家电维修服务的公司向在商店中刚刚购买家电的消费者邮寄维修服务广告,卖特效药品的厂商向医院特定门诊就医的病人邮寄广告,肯定会比漫无目的的营销效果要好得多。
零售业中的数据挖掘
通过条形码、编码系统、销售管理系统、客户资料管理及其它业务数据中,可以收集到关于商品销售、客户信息、货存单位及店铺信息等的信息资料。数据从各种应用系统中采集,经条件分类,放到数据仓库里,允许高级管理人员、分析人员、采购人员、市场人员和广告客户访问,利用DM工具对这些数据进行分析,为他们提供高效的科学决策工具。如对商品进行购物篮分析,分析那些商品顾客最有希望一起购买。如被业界和商界传诵的经典—-Wal-Mart的 “啤酒和尿布”,就是数据挖掘透过数据找出人与物间规律的典型。在零售业应用领域,利用DW、DM会在很多方面有卓越表现:
1. 了解销售全局:通过分类信息——按商品种类、销售数量、商店地点、价格和日期等了解每天的运营和财政情况,对销售的每一点增长、库存的变化以及通过促销而提高的销售额都可了如指掌。零售商店在销售商品时,随时检查商品结构是否合理十分重要,如每类商品的经营比例是否大体相当。调整商品结构时需考虑季节变化导致的需求变化、同行竞争对手的商品结构调整等因素。
2. 商品分组布局:分析顾客的购买习惯,考虑购买者在商店里所穿行的路线、购买时间和地点、掌握不同商品一起购买的概率;通过对商品销售品种的活跃性分析和关联性分析,用主成分分析方法,建立商品设置的最佳结构和商品的最佳布局。
3. 降低库存成本:通过数据挖掘系统,将销售数据和库存数据集中起来,通过数据分析,以决定对各个商品各色货物进行增减,确保正确的库存。数据仓库系统还可以将库存信息和商品销售预测信息,通过电子数据交换(EDI)直接送到供应商那里,这样省去商业中介,而且由供应商负责定期补充库存,零售商可减少自身负担。
4. 市场和趋势分析:利用数据挖掘工具和统计模型对数据仓库的数据仔细研究,以分析顾客的购买习惯、广告成功率和其它战略性信息。利用数据仓库通过检索数据库中近年来的销售数据,作分析和数据挖掘,可预测出季节性、月销售量,对商品品种和库存的趋势进行分析。还可确定降价商品,并对数量和运作作出决策。
有效的商品促销:可以通过对一种厂家商品在各连锁店的市场共享分析,客户统计以及历史状况的分析,来确定销售和广告业务的有效性。通过对顾客购买偏好的分析,确定商品促销的目标客户,以此来设计各种商品促销的方案,并通过商品购买关联分析的结果,采用交叉销售和向上销售的方法,挖掘客户的购买力,实现准确的商品促销。
银行业的数据挖掘
金融事务需要搜集和处理大量的数据,由于银行在金融领域的地位、工作性质、业务特点以及激烈的市场竞争决定了它对信息化、电子化比其它领域有更迫切的要求。利用数据挖掘技术可以帮助银行产品开发部门描述客户以往的需求趋势,并预测未来。美国商业银行是发达国家商业银行的典范,许多地方值得我国学习和借鉴。
数据挖掘技术在美国银行金融领域应用广泛。金融事务需要搜集和处理大量数据,对这些数据进行分析,发现其数据模式及特征,然后可能发现某个客户、消费群体或组织的金融和商业兴趣,并可观察金融市场的变化趋势。商业银行业务的利润和风险是共存的。为了保证最大的利润和最小的风险,必须对帐户进行科学的分析和归类,并进行信用评估。Mellon银行使用数据挖掘软件提高销售和定价金融产品的精确度,如家庭普通贷款。零售信贷客户主要有两类,一类很少使用信贷限额(低循环者),另一类能够保持较高的未清余额(高循环者)。每一类都代表着销售的挑战。低循环者代表缺省和支出注销费用的危险性较低,但会带来极少的净收入或负收入,因为他们的服务费用几乎与高循环者的相同。银行常常为他们提供项目,鼓励他们更多地使用信贷限额或找到交叉销售高利润产品的机会。高循环者由高和中等危险元件构成。高危险分段具有支付缺省和注销费用的潜力。对于中等危险分段,销售项目的重点是留住可获利的客户并争取能带来相同利润的新客户。但根据新观点,用户的行为会随时间而变化。分析客户整个生命周期的费用和收入就可以看出谁是最具创利潜能的。
Mellon银行认为“根据市场的某一部分进行定制”能够发现最终用户并将市场定位于这些用户。但是,要这么做就必须了解关于最终用户特点的信息。数据挖掘工具为Mellon银行提供了获取此类信息的途径。Mellon银行销售部在先期数据挖掘项目上使用Intelligence Agent寻找信息,主要目的是确定现有Mellon用户购买特定附加产品:家庭普通信贷限额的倾向,利用该工具可生成用于检测的模型。据银行官员称:数据挖掘可帮助用户增强其商业智能,如交往、分类或回归分析,依赖这些能力,可对那些有较高倾向购买银行产品、服务产品和服务的客户进行有目的的推销。该官员认为,该软件可反馈用于分析和决策的高质量信息,然后将信息输入产品的算法。数据挖掘还有可定制能力。
美国Firstar银行使用数据挖掘工具,根据客户的消费模式预测何时为客户提供何种产品。Firstar银行市场调查和数据库营销部经理发现:公共数据库中存储着关于每位消费者的大量信息,关键是要透彻分析消费者投入到新产品中的原因,在数据库中找到一种模式,从而能够为每种新产品找到最合适的消费者。数据挖掘系统能读取800到1000个变量并且给它们赋值,根据消费者是否有家庭财产贷款、赊帐卡、存款证或其它储蓄、投资产品,将它们分成若干组,然后使用数据挖掘工具预测何时向每位消费者提供哪种产品。预测准客户的需要是美国商业银行的竞争优势。
证券业的数据挖掘
其典型应用包括有:
1、客户分析
建立数据仓库来存放对全体客户、预定义客户群、某个客户的信息和交易数据,并通过对这些数据进行挖掘和关联分析,实现面向主题的信息抽取。对客户的需求模式和盈利价值进行分类,找出最有价值和盈利潜力的客户群,以及他们最需要的服务,更好地配置资源,改进服务,牢牢抓住最有价值的客户。
通过对客户资源信息进行多角度挖掘,了解客户各项指标(如资产贡献、忠诚度、盈利率、持仓比率等),掌握客户投诉、客户流失等信息,从而在客户离开券商之前,捕获信息,及时采取措施挽留客户。
2、咨询服务
根据采集行情和交易数据,结合行情分析,预测未来大盘走势,并发现交易情况随着大盘变化的规律,并根据这些规律做出趋势分析,对客户针对性进行咨询。
3、风险防范
通过对资金数据的分析,可以控制营业风险,同时可以改变公司总部原来的资金控制模式,并通过横向比较及时了解资金情况,起到风险预警的作用。
4、经营状况分析
通过数据挖掘,可以及时了解营业状况、资金情况、利润情况、客户群分布等重要的信息。并结合大盘走势,提供不同行情条件下的最大收益经营方式。同时,通过对各营业部经营情况的横向比较,以及对本营业部历史数据的纵向比较,对营业部的经营状况作出分析,提出经营建议。
电信业的数据挖掘
电信业已经迅速地从单纯的提供市话和长话服务演变为综合电信服务,如语音、传真、寻呼、移动电话、图像、电子邮件、计算机和WEB数据传输以及其他的数据通信服务。电信、计算机网络、因特网和各种其他方式的的通信和计算的融合是目前的大势所趋。而且随着许多国家对电信业的开放和新兴计算与通信技术的发展,电信市场正在迅速扩张并越发竞争激烈。因此,利用数据挖掘技术来帮助理解商业行为、确定电信模式、捕捉盗用行为、更好地利用资源和提高服务质量是非常有必要的。分析人员可以对呼叫源、呼叫目标、呼叫量和每天使用模式等信息进行分析还可以通过挖掘进行盗用模式分析和异常模式识别,从而可尽早的发现盗用,为公司减少损失。
移动通信领域的数据挖掘
针对信息化的应用,移动通信行业信息化进程得到巨大发展和广泛应用,运营网络系统、综合业务系统、计费系统、办公自动化等系统的相继使用,为计算机应用系统的运行积累了大量的历史数据。但在很多情况下,这些海量数据在原有的作业系统中是无法提炼并升华为有用的信息并提供给业务分析人员与管理决策者的。一方面,联机作业系统因为需要保留足够的详细数据以备查询而变得笨重不堪,系统资源的投资跟不上业务扩展的需求;另一方面,管理者和决策者只能根据固定的、定时的报表系统获得有限的经营与业务信息,无法适应激烈的市场竞争。
随着我国政府对电信行业经营的进一步放开和政策约束的调整以及客户对电信服务质量要求的提高、盗打、欺诈因素的增加等等,移动通信的经营面临更加复杂的局面,营运成本大幅度增加。因此,如何在激烈的市场竞争条件下,在满足客户需求和优质服务的前提下充分利用现有设备降低成本、提高效益,就成为决策者们共同关心的课题。
依照国外电信市场的发展经验和历程,市场竞争中电信公司的成功经营之道是:(1) 以高质量的服务留住现有客户;(2) 提高通话量和设备利用率,用比竞争者更低的成本争取新客户,扩大市场份额;(3)放弃无利润和信用差的客户,降低经营风险和成本。
对于一个相对成熟的移动通信运营商来说,各运营与支撑系统所积累的海量历史数据无疑是一笔宝贵的财富,而数据挖掘正是充分利用这些宝贵资源从而达到上述三重目标的一种最为有效的方法与手段。
体育领域的数据挖掘
1、体质数据分析
目前,我国对健康和增强体质都十分重视,每年都有很多相关的体质测试。这样年复一年地积累了大量数据,而对这些数据的分析采用的几乎都是统计方法,包括很多单位的体育分析和评价软件,主要是对体质数据的均值分析以及套用规定的评价公式进行评价和分析。显然,它们对体育中的体质数据分析有一定的贡献,但其作用也只能局限于数据本身的大小比较,且产生的结果通常只能由专业人员能够理解,另外只采用统计的方法挖掘数据之间的联系也十分有限。
利用数据挖掘对体质数据进行挖掘,很容易产生统计方法难以实现的结果。例如,根据积累和不断收集的数据,结合体质数据和营养学方面的知识,可以挖掘出造成不同地区体质好或差的营养方面的原因;同样,根据体质数据和医学方面的知识,能够挖掘出人们的健康状况,甚至分析出导致健康状况较低的可能的疾病原因,从而可以更好地为人们自我保健和健身等各方面提供有力的指导;此外,采用数据挖掘对有名运动员的早期体质数据进行分析,能够找出它们的共同特点,从而为体育选材提供有力的依据。体质数据库正如一个宝矿,采用数据挖掘技术,肯定能够挖掘出很多难以想象的宝藏。
2、 体育产业中的应用
数据挖掘最初的应用就是商业领域,而体育产业本身就是一类典型的商业。在一般的商业数据挖掘中,DM技术判断哪些是它们的最有价值客户、重新制定它们的产品推广策略(把产品推广给最需要它们的人),以用最小的花费得到最好的销售。以体育广告为例,可以对国内从事不同体育运动广告业务的数据库进行挖掘,比如,发现了做某类体育广告的单位或公司的特征,那么就可以向那些具有这些特征但还未成为我们的客户的其它公司或单位推销这类体育广告;同样,如果通过挖掘找到流失的客户的共同特征,就可以在那些具有相似特征的客户还未流失之前进行针对性的弥补。这样,可以一定程度地提高体育广告的效益。,因此,及时、有效地利用DM,可以为我国体育产业创造更多的财富。
3、 竞技体育中的应用
竞技体育特别是对抗性质的竞技,通常不但要求运动员实际水平高,同时战术策略也相当重要,有时竞技中的战术甚至起到决定性作用。认识到数据挖掘的功能后,国外已经将其应用于竞技体育中。例如,美国著名的国家篮球队NBA的教练,利用IBM公司提供的数据挖掘工具临场辅助决定替换队员,而且取得了很好的效果。系统分析显示魔术队先发阵容中的两个后卫安佛尼.哈德卫(Anfernee Hardaway)和伯兰.绍(Brian Shaw)在前两场中被评为-17分,这意味着他俩在场上本队输掉的分数比得到的分数多17分。然而,当哈德卫与替补后卫达利尔.阿姆斯创(Darrell Armstrong)组合时,魔术队得分为正14分。在下一场中,魔术队增加了阿姆斯创的上场时间。此着果然见效:阿姆斯创得了21分,哈德卫得了42分,魔术队以88比79获胜。魔术队在第四场让阿姆斯创进入先发阵容,再一次打败了热队。在第五场比赛中,这个靠数据挖掘支持的阵容没能拖住热队,但数据挖掘毕竟帮助了魔术队赢得了打满5场,直到最后才决出胜负的机会。目前,NBA球队中大约20个使用了IBM公司开发的该软件系统来优化他们的战术组合。同样,利用数据挖掘技术也可以分析足球、排球等类似对抗性的竞技运动,从中找出对手的弱点,制定出到更有效的战术。
邮政业的数据挖掘
中国邮政建立了目前国内最大的物流交换体系,同时也积累了大量的用户数据,如何利用这些用户数据,通过数据分析为邮政业务的发展提供科学决策依据,是邮政部门十分关心的问题。数据挖掘技术可以很好地为邮政部门解决上述问题,利用该技术,我们可以进行客户存款余额分析、客户存款结构分析、平均存款利率分析、不同储种余额分析、不同储种客户分析、揽储统计分析、业务量统计分析等等。我们以客户存款分析进行介绍。采用分析的维包括如下: 营业网点的地区:以地区作为分析维度,可以判断出各个储蓄所的工作业绩情况; 客户的年龄:根据客户年龄段对存款余额进行统计,从中可以分析出哪个年龄段的客户是优良客户,哪些客户是未来开发的重点。客户的地址:根据客户所在地区统计存款余额, 可以分析出各地区的经济情况以及人们对邮政储蓄的认识程度,从而为以后的业务拓展提供依据; 存款的用途:居民的储蓄存款用途比较繁杂,但是了解有规律的存款目的一方面可以帮助邮政储蓄及时想客户之所想,拉近与客户之间的距离;另一方面可以为新业务的拓展提供有力的信息;时间段:通过这种分析可以及时掌握客户储蓄的变化规律,从而适当调整邮政业务流程。例如,根据客户存款的变化规律可以预见性的及时调整邮政储蓄的头寸资金,在保证投资最大化的同时,预防金融风险。
呼叫中心的数据挖掘
呼叫中心正在逐渐成为企业进行信息收集的主要渠道。在收集了大量的数据之后,如何将这些数据进行整理、分析,为企业进行科学决策提供支持,也是面临的一个主要问题。数据挖掘技术,能提供一条新的解决出路。
为决策提供依据,将数据挖掘技术引入呼叫中心,具有十分重要的意义。企业运营过程中的各种信息都是通过数据反映出来的,通过对这些数据的分析,可以发现企业运营过程中的规律,从而对企业的生产活动、市场活动等提供科学指导意义。
呼叫中心目前仅解决了企业与外部市场进行信息接入的问题,产生的大量数据通过报表等统计方法,只能得到一般意义上的信息反映。而通过数据挖掘技术,可以发现许多深层的、手工无法发现的规律,帮助企业在激烈的竞争环境中,占有更多的先机。
为用户提供针对性服务,通过数据挖掘技术,可以根据客户的消费行为进行分类,找出该类客户的消费特征,然后通过呼叫中心提供更具个性化的服务,从而改进企业的服务水平,提高企业的社会效益和经济效益。
提高企业的决策科学,目前,企业的决策具有很大的盲目性。如果采用数据挖掘技术,就可以在自己的生产过程中产生的数据基础上,进行科学分析,得出比较科学的预测结果,减少决策失误。通过数据挖掘技术,可以让企业的决策回归到自己的业务中,得出更实际的判断。
增值更容易,数据挖掘在呼叫中心中会有很多种应用,而且有些应用可以帮助简化管理运营,有的则可以提供一些业务关联性的数据,帮助企业呼叫中心更好地开展业务,实现增值。具体说来,增值应用表现在以下方面。分析客户行为,进行交叉销售。在呼叫中心的各种客户中,可以根据其消费的特点,进行相关分析,了解某类客户在购买一种商品时,购买其它种类产品的概率有多大。根据这种相互的关联性,就可以进行交叉销售。分析客户忠诚度,避免客户流失。在客户分析过程中,会有很多重要的大客户流失。采用数据挖掘技术,可以对这些流失的大客户进行分析,找出数据模型,发现其流失的规律,然后有针对性地改进服务质量,避免客户的流失,减少企业的经济损失。
简化管理,呼叫中心的运营管理被人们提到前所未有的高度,因为一个中心即使建得很好,技术也很先进,但如果管理不好,优势仍然发挥不出来。然而,管理对于很多呼叫中心来说,却是很难过的门槛,数据挖掘能帮助简化管理。
预测话务量,安排人工座席,在呼叫中心中,话务量是个重要的指标,企业要根据话务量的大小,安排座席人员的数量,但话务量是个变化的指标,以往比较难以预测。通过数据挖掘中的时间序列分析,可以对话务量的情况进行一定程度的预测,就可以更合理地安排座席人员的数量,在不降低呼叫中心接通率的基础上,降低企业的运营成本。
进行关联分析,降低运营成本。在运营型的呼叫中心中,常常会提供很多种业务服务,并根据这些业务种类的不同,安排座席人员的数量和排班。通过数据挖掘中关联分析,可以进行业务的相关性分析,分析出哪几种业务具有比较强的关联性。如在快递行业,送生日蛋糕的业务与送鲜花的业务可能就有很大的关联性。这样,在安排座席人员时,就可以将两种业务的座席人员进行一定程度的合并,减少人员数量,降低呼叫中心的经营成本。
数字图书馆的数据挖掘
WEB挖掘是一个前景非常看好的工具。我们知道,传统的效率低下的搜索引擎检索出的信息往往索引不完全、有大量的无关信息或没有进行可靠性验证。用户能够快速方便地从WEB中检索出相关的可靠的信息是一个系统的最基本的要求。WEB挖掘不仅能够从WWW的大量的数据中发现信息,而且它监视和预测用户的访问习惯。这样给设计人员在设计WEB站点时有更多的可靠的信息。WEB挖掘技术能够帮助图书馆员在设计站点时朝着方便用户、节省时间和高效率方向发展。WEB挖掘技术为图书馆员进行信息服务提供了先进的工具。有了这个工具,图书馆员能够按照各个用户的要求或习惯,为用户组织更多、更好的高质量信息。
例如;院校图书馆员们应用WEB挖掘技术为本院校不同学科中的不同研究课题从WWW中检索相关信息。该技术可以自动地检索信息,并把信息按照课题领域进行分类,使它们更容易访问。图书馆员可以通过为不同的课题领域建立一组特征,并以这些特征为基础进行检索和分类,从而保证得到的信息是可靠的和具有权威性的。由于WEB挖掘技术能够自动地,不须人工干预地从WWW中发现和组织信息,从而使图书馆员只需花少量的时间来维护数据库即可完成任务。用户由于不需要花大量的时间来浏览成百上千的文档,就可在相当短的时间里得到想要的信息而感到非常满意。更重要的是,他们可以在任何时间访问到世界任何地方的信息。事实上,这就是图书馆员把他们的咨询服务从桌面转移到INTERNET的具体工作表现。
网站的数据挖掘
随着Web技术的发展,各类电子商务网站风起云涌。建立一个电子商务网站并不困难,困难的是如何让您的电子商务网站有效益。要想有效益就必须吸引客户,增加能带来效益的客户忠诚度。电子商务业务的竞争比传统的业务竞争更加激烈,原因有很多方面,其中一个因素是客户从一个电子商务网站转换到竞争对手那边,只需要点击几下鼠标即可。网站的内容和层次、用词、标题、奖励方案、服务等任何一个地方都有可能成为吸引客户、同时也可能成为失去客户的因素。而同时电子商务网站每天都可能有上百万次的在线交易,生成大量的记录文件(Log files)和登记表,如何对这些数据进行分析和挖掘,充分了解客户的喜好、购买模式,甚至是客户一时的冲动,设计出满足不同客户群体需要的个性化网站,进而增加其竞争力,几乎变得势在必行。若想在竞争中生存进而获胜,就要比您的竞争对手更了解客户。
在对网站进行数据挖掘时,所需要的数据主要来自于两个方面:一方面是客户的背景信息,此部分信息主要来自于客户的登记表;而另外一部分数据主要来自浏览者的点击流(Click-stream),此部分数据主要用于考察客户的行为表现。但有的时候,客户对自己的背景信息十分珍重,不肯把这部分信息填写在登记表上,这就会给数据分析和挖掘带来不便。在这种情况之下,就不得不从浏览者的表现数据中来推测客户的背景信息,进而再加以利用。
生物医学和DNA的数据挖掘
生物信息或基因数据挖掘对人类受益非浅。例如,基因的组合千变万化,得某种疾病的人的基因和正常人的基因到底差别多大?能否找出其中不同的地方,进而对其不同之处加以改变,使之成为正常基因?这都需要数据挖掘技术的支持。
对于生物信息或基因的数据挖掘和通常的数据挖掘相比,无论在数据的复杂程度、数据量还有分析和建立模型的算法而言,都要复杂得多。从分析算法上讲,更需要一些新的和好的算法。现在很多厂商正在致力于这方面的研究。但就技术和软件而言,还远没有达到成熟的地步。
因特网筛选的数据挖掘
最近,有不少数据挖掘产品用来筛选因特网上的新闻,保护用户不受无聊电子邮件和商业推销的干扰,很受欢迎。
气象预报中的数据挖掘
农业生产与气候、气象有着密切的关系,我国是一个农业大国,农业生产关系到国家经济命脉和人民生活。天气系统是一个复杂性系统,其影响因素多,时空状态变化大。气象数据中蕴含着复杂非线性动力学机制。各个因素之间的关系十分复杂,并具有纷杂多变的时空特征。因而,难以建立农业生产与气象要素的关系。采用新的技术和方法进行相关研究有实际意义,也是应用发展及需求的驱动,数据挖掘技术可以用来解决此问题。
国外利用数据挖掘来进行气象预报的应用研究所采用的方法主要包括:神经网络、分类和聚类;国内则有人采用了小波分析与语言场相结合的知识表示方法,针对气象数据提出一种新的基于小波分析和混沌理论相结合进行类别知识的发现方法,气象数据通过小波变换后可以提取表示天气系统的特征数据,利用特征数据同农业生产相关指标(如产量,害虫密度等)的关系进行数据挖掘,数据挖掘的方法包括:分类、聚类、关联规则以及相似模式等,从非结构化数据信息挖掘的角度构建了一个实用的、可扩展的、易操作的气象科学研究的应用系统。
水文数据的数据挖掘
信息获取与分析技术的快速发展,特别是遥测、遥感、网络、数据库等技术的应用,有力地促进了水文数据的采集和处理技术的发展,使之在时间和空间的尺度及要素类型上有了不同程度的扩展。由于水在人类生存发展中的特殊作用,应用各种新技术获取水文数据,挖掘蕴藏于水文数据中的知识,已成为水文科学发展的新热点。数字水文系统的提出是水文科学发展的时代标志之一。其核心是如何形成数字化的、覆盖整个指定地域空间的、多重时空尺度的、多种要素的、对水文分析有用的数据产品。
水文数据挖掘是精确水文预报和水文数据分析的重要基础。在我国,整个水文整编资料数据累计量已超过7000MB,加上进行水文预报所需的天气、地理等数据,进行水文分析所需要处理的数据量很大。从这些数量巨大、类型复杂的数据中及时准确地挖掘出满足需要的知识,往往因为计算能力、存储能力、算法的不足而无能为力。因此,需要高效的水文数据挖掘技术。数据挖掘技术在水文信息服务领域的应用将是多方面的。
数据挖掘一般有关联分析(Associations)、序列模式分析(Sequential Patterns)、分类分析(Classifiers)、聚类分析(Clustering)等功能类型。根据应用目标不同,数据挖掘可以采用或借鉴各种已经存在的理论和算法,如信息论、数理逻辑、进化计算、神经计算、统计学等以及面向实例的学习的许多算法都可以应用于数据挖掘系统的实现中。水文数据挖掘可以应用决策树、神经网络、覆盖正例排斥反例、粗糙集(Rough Set)、概念树、遗传算法、公式发现、统计分析、模糊论等理论与技术,并在可视化技术的支持下,构造满足不同目的的水文数据挖掘应用系统。
视频数据的数据挖掘
目前,多媒体数据已逐渐成为信息处理领域中主要的信息媒体形式,尤其是视频数据,由于它能记录、保留空间和时间上的各种信息,其内容丰富,但使人们能够以最接近自然的方式获得更多的细节。视频数据在生活中的应用越来越广泛,已产生了大量的数字视频库,目前的研究主要集中在数字视频库的组织管理和使用上,特别是基于内容的视频检索技术。基于内容的视频信息检索技术虽然在某种程度上解决了视频搜索和资源发现问题,但是,视频信息检索只能获取用户要求的视频“信息”,而不能从大量视频数据中分析出蕴含的有价值的用视频媒体表示的“知识”。为此,需要研究比检索和查询层次更高的视频分析方法,那就是视频挖掘(Video Mining)。视频挖掘就是通过综合分析视频数据的视听特性、时间结构、事件关系和语义信息,发现隐含的、有价值的、可理解的视频模式,得出视频表示事件的趋向和关联,改善视频信息管理的智能程度。视频挖掘的系统结构一般如图所示。
在数据立方体和多维分析的基础上,采取一些数据挖掘的方法能发现隐含在视频数据中的有用信息和模式,常用的挖掘方法有分类、聚类和关联方法。
分类是常用的一种数据分析形式。常规数据的分类是一个两步过程:第一步,建立一个模型,用来描述预定义类集,通过分析数据库中部分数据来构造分类模型,用于建立模型的数据称为训练数据集,训练可以随机选取。第二步,使用模型进行分类。首先要评价分类模型的分类准确率,采用测试数据集来检测模型的可行性,如果认为模型的准确率可以接受,就可以用它来对数据库中的其他数据进行分类。视频对象的分类就是把一组视频对象(镜头、代表帧、场景、提取出的目标对象、文本等)按照相似性分成若干类,使属于同一类别的数据之间的相似性尽可能大,而不同类别数据之间的相似性尽可能小。可以根据应用的需要,选取一些用来分类的特性,如视频镜头的颜色直方图、视频中对象的运动、视频的语义描述等。
聚类分析首先通过分析视频数据库中的数据,将具有相同特性的数据聚集在一起,合理地划分记录,然后再确定每个数据对象所在的类别。聚类分析不同于分类,将数据分成几类是事先并不知道的。聚类算法一般分为基于概率的聚类算法和基于距离的聚类算法。视频对象的聚类在视频结构分析中具有重要的作用,例如,利用聚类算法可以将特征相似的镜头聚集成更高层的结构单元——场景。
关联规则挖掘是指寻找给定数据集中项之间有用的联系。常规数据库中最典型的关联规则就是购物篮分析,即通过发现顾客放入其购物篮中不同商品之间的联系,分析顾客的购买习惯。挖掘视频对象之间的关联,就是把视频对象看成是一个数据项,从中找出不同视频对象间出现频率高的模式。例如两个视频对象经常同时出现、视频镜头变换的频率和视频类型之间的关联等。
视频挖掘可以应用于政府机关、企业管理、商业信息管理、军事情报和指挥、公共事业管理、公共安全、国家安全等指挥决策部门。企业、政府等部门的应用可以带来直接或间接的巨大的经济效益;军事、商业、政府等部门的应用将解决常规方法解决不了的关键性隐含模式的发现问题。从下面典型的和潜在的应用中可以看出视频挖掘技术的市场前景、经济效益和社会作用。1.交通监控视频流的实时分析和挖掘,对安装在多个交通路口获取的实时交通监控视频流进行运动特征分析,挖掘出交通状况和拥堵模式,为交通控制和指挥机关提供决策支持。2.视频新闻挖掘,对每天大量的国内和国际视频新闻进行分析和挖掘,包括事件的关联分析、危机的发生分析、灾害事件(水灾、火灾、疾病等)分析、军事部署或兵力调动,在时间或空间维度上展示挖掘出来的模式。例如对多年的视频新闻资料中的恐怖事件进行分析和挖掘,得出某种有价值的行动模式和事件关联。3.视频监视系统的视频流挖掘,用于银行、商场、车间、酒店等视频流的挖掘,分析事故模式、客流模式等。4.数字图书馆视频资料挖掘,对大规模多主题的视频资料进行分类、聚类等分析,以改善视频的分类与索引。5.电视台视频节目挖掘,对视频节目数据库的叙事模式分析、风格分析,以及视频节目管理中的高层分析和挖掘,例如生产日期、数量、类型、片长等特性的统计、分布、关联的挖掘。6.企业中电子商务的可视交易活动挖掘,对可视电子商务的交易过程的分析和挖掘。用户与多媒体企业电子商务界面交互,这种可视交易界面是由MPEG-4形式的可交互视频流构造的。该技术可以用于对用户的选择和定购行为进行分析与挖掘。另外,还可以对视频广告进行分析和挖掘,分析广告与效果的关联模式。
个人数据挖掘
个人数据挖掘的应用非常广泛,例如,可以挖掘公司记录,选择最好的合作伙伴;挖掘个人家庭医疗史,确定和遗传有关的医学模式,从而对生活方式和健康做出最优决策;挖掘股票和公司业绩来选择最优投资方式等。
数据挖掘工具的评价标准
如何选择满足自己需要的数据挖掘工具呢?评价一个数据挖掘工具,需要从以下几个方面来考虑:
1产生的模式种类的多少。
2解决复杂问题的能力。
数据量的增大,对模式精细度、准确度要求的增高都会导致问题复杂性的增大。数据挖掘系统可以提供下列方法解决复杂问题:
多种模式多种类别模式的结合使用有助于发现有用的模式,降低问题复杂性。例如,首先用聚类的方法把数据分组,然后再在各个组上挖掘预测性的模式,将会比单纯在整个数据集上进行操作更有效、准确度更高。
多种算法很多模式,特别是与分类有关的模式,可以有不同的算法来实现,各有各的优缺点,适用于不同的需求和环境。数据挖掘系统提供多种途径产生同种模式,将更有能力解决复杂问题。验证方法在评估模式时,有多种可能的验证方法。比较成熟的方法像N层交叉验证或Bootstrapping等可以控制,以达到最大的准确度。
数据选择和转换模式通常被大量的数据项隐藏。有些数据是冗余的,有些数据是完全无关的。而这些数据项的存在会影响到有价值的模式的发现。数据挖掘系统的一个很重要功能就是能够处理数据复杂性,提供工具,选择正确的数据项和转换数据值。
可视化工具提供直观、简洁的机制表示大量的信息。这有助于定位重要的数据,评价模式的质量,从而减少建模的复杂性。 扩展性为了更有效地提高处理大量数据的效率,数据挖掘系统的扩展性十分重要。需要了解的是:数据挖掘系统能否充分利用硬件资源?是否支持并行计算?算法本身设计为并行的或利用了DBMS的并行性能?支持哪种并行计算机,SMP服务器还是MPP服务器?当处理器的数量增加时,计算规模是否相应增长?是否支持数据并行存储?
为单处理器的计算机编写的数据挖掘算法不会在并行计算机上自动以更快的速度运行。为充分发挥并行计算的优点,需要编写支持并行计算的算法。
3易操作性
易操作性是一个重要的因素。有的工具有图形化界面,引导用户半自动化地执行任务,有的使用脚本语言。有些工具还提供数据挖掘的API,可以嵌入到像C、VisualBasic、PowerBuilder这样的编程语言中。
模式可以运用到已存在或新增加的数据上。有的工具有图形化的界面,有的允许通过使用C这样的程序语言或SQL中的规则集,把模式导出到程序或数据库中。
4数据存取能力
好的数据挖掘工具可以使用SQL语句直接从DBMS中读取数据。这样可以简化数据准备工作,并且可以充分利用数据库的优点(比如平行读取)。没有一种工具可以支持大量的DBMS,但可以通过通用的接口连接大多数流行的DBMS。Microsoft的ODBC就是一个这样的接口。
5与其他产品的接口
有很多别的工具可以帮助用户理解数据,理解结果。这些工具可以是传统的查询工具、可视化工具、OLAP工具。数据挖掘工具是否能提供与这些工具集成的简易途径?
国外的许多行业如通信、信用卡公司、银行和股票交易所、保险公司、广告公司、商店等已经大量利用数据挖掘工具来协助其业务活动,国内在这方面的应用还处于起步阶段,对数据挖掘技术和工具的研究人员以及开发商来说,我国是一个有巨大潜力的市场。
展望
麻省理工学院的《科技评论》杂志提出未来5年对人类产生重大影响的10大新兴技术,“数据挖掘”位居第三。一份最近的Gartner报告中列举了在今后3~5年内对工业将产生重要影响的五项关键技术,KDD和人工智能排名第一。同时,这份报告将并行计算机体系结构研究和KDD列入今后5年内公司应该投资的10个新技术领域。由此可以看出,数据挖掘的研究和应用受到了学术界和实业界越来越多的重视,因而成为信息产业最有前途的交叉学科。其发展方向有:数据库数据仓库系统集成,与预测模型系统集成,挖掘各种复杂类型的数据与应用相结合,研制和开发数据挖掘标准,支持移动环境等。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=627244
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/149954.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...