知识的发现方法与应用.docx

上传人:b****9 文档编号:25455740 上传时间:2023-06-08 格式:DOCX 页数:19 大小:48.54KB
下载 相关 举报
知识的发现方法与应用.docx_第1页
第1页 / 共19页
知识的发现方法与应用.docx_第2页
第2页 / 共19页
知识的发现方法与应用.docx_第3页
第3页 / 共19页
知识的发现方法与应用.docx_第4页
第4页 / 共19页
知识的发现方法与应用.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

知识的发现方法与应用.docx

《知识的发现方法与应用.docx》由会员分享,可在线阅读,更多相关《知识的发现方法与应用.docx(19页珍藏版)》请在冰豆网上搜索。

知识的发现方法与应用.docx

知识的发现方法与应用

人工智能

 

知识的发现方法及应用

 

学院:

经济与管理学院

班级:

工业工程091601班

姓名:

王兴喜

学号:

200916020125

日期:

2012年6月21日

 

知识的发现方法及应用

【摘要】

知识的发现方法与应用越来越成为当今世界各个领域所要探求的重点领域,从某中意义上来说,只是发现可以当做一个哲学问题来解释,因为有时似乎它很高深莫测,让人摸不到头脑。

所以从这点上来说,知识的发现方法及应用是一切知识领域之祖。

我们可以从这里面找到一切科学的踪迹。

【关键词】

知识方法应用

【正文】

一、知识发现的概念

KDD(知识发现)是一个综合的过程,它包括数据录入、迭代求解、用户交互以及许多定制要求和决策设计等,而DataMining只是KDD中的一个具体却是关键的步骤。

数据库中的知识发现术语是在1989年的第一届KDD专题讨论会上被首次采用,它强调了知识是数据发现的最终产品。

这一研究领域兴起于八十年代初,它是一个众多学科诸如人工智能、机器学习、模式识别、统计学、数据库和知识库、数据可视化等相互交叉、融合所形成的一个新兴的且具有广阔前景的领域。

从数据库中发现出来的知识可以用在信息管理、过程控制、科学研究、决策支持等许多方面。

1998年第四届知识发现与数据挖掘国际会议上不仅进行了学术讨论,并且有30多家软件公司展示了数据挖掘软件产品,在北美、欧洲等国得到较大应用。

在我国,许多单位也已开始此项技术研究,但目前取得成功应用的例子还未见报道

1KDD(知识发现)概念及一般步骤

在KDD96国际会议上,Fayyad,Piatetsky-Shapiro和Smyth对KDD作了如下描述:

指从数据库中获取正确、新颖、有潜在应用价值和最终可理解的模式的非平凡过程。

在这个描述中,数据是一系列事实的集合,模式是指用语言L来表示的一个表达式E,它可用来描述数据集的特性,E所描述的数据是集合F的一个子集FE。

过程是在KDD中包含的步骤,如数据的预处理、模式搜索、知识表示及知识评价等,非平凡是指它已经超越了一般封闭形式的数量计算,而将包括对结构、模式和参数的搜索。

图1知识发现过程

 

2知识发现过程一般包括如下步骤:

数据准备包括3个子步骤:

数据集成、数据选择、数据预处理。

数据集成将多文件或多数据库运行环境中的数据进行合并处理,解决语义模糊性、处理数据中的遗漏和清洗脏数据等。

数据选择的目的是辨别出需要分析的数据集合,缩小处理范围,提高数据采掘的质量。

预处理是为了克服目前数据采掘工具的局限性。

数据挖掘

要先决定如何产生假设,是让数据挖掘系统为用户产生假设,还是用户自己对于数据库中可能包含的知识提出假设。

前一种称为发现型的数据挖掘,后一种称为验证型的数据挖掘。

选择合适的工具。

挖掘知识的操作。

证实发现的知识。

结果表达和解释根据最终用户的决策目的对提取的信息进行分析,把最有价值的信息区分出来,并且通过决策支持工具提交给决策者,因此这一步骤任务不仅是把结果表达出来,还要对信息进行过滤处理,如果不能令决策者满意,需要重复以上数据挖掘过程。

相关技术

DataMining(数据挖掘)主要任务有数据汇总、概念描述、分类、聚类、相关性分析、偏差分析、建模等。

具体技术包括:

统计分析(statisticalanalysis)

常见的统计方法有回归分析(多元回归、自回归等)、判别分析(贝叶斯分析、费歇尔判别、非参数判别等)、聚类分析(系统聚类、动态聚类等)和探索性分析(主元分析法、相关分析法等)。

其处理过程可以分为三个阶段:

搜集数据、分析数据和进行推理。

决策树(decisiontree)

决策树是一棵树,树的根节点是整个数据集合空间,每个分节点是对一个单一变量的测试,该测试将数据集合空间分割成两个或更多块。

每个叶节点是属于单一类别的记录。

首先,通过训练集生成决策树,再通过测试集对决策树进行修剪。

决策树的功能是预言一个新的记录属于哪一类。

决策树分为分类树和回归树两种,分类树对离散变量做决策树,回归树对连续变量做决策树。

通过递归分割的过程来构建决策树:

1寻找初始分裂,整个训练集作为产生决策树的集合,训练集每个记录必须是已经分好类的。

决定哪个属性(Field)域作为目前最好的分类指标。

一般的做法是穷尽所有的属性域,对每个属性域分裂的好坏做出量化,计算出最好的一个分裂。

量化的标准是计算每个分裂的多样性(diversity)指标GINI指标。

2树增长到一棵完整的树,重复第一步,直至每个叶节点内的记录都属于同一类。

3数据的修剪,去掉一些可能是噪音或者异常的数据。

其基本算法(贪心算法)为:

自上而下分而治之的方法,开始时,所有的数据都在根节点;属性都是种类字段(如果是连续的,将其离散化);所有记录用所选属性递归的进行分割;属性的选择是基于一个启发式规则或者一个统计的度量(如,informationgain)。

停止分割的条件:

一个节点上的数据都是属于同一个类别;没有属性可以再用于对数据进行分割。

伪代码(BuildingTree)为:

   ProcedureBuildTree(S){

   用数据集S初始化根节点R

   用根结点R初始化队列Q

   WhileQisnotEmptydo{

       取出队列Q中的第一个节点N

       if N 不纯(Pure){

           for每一个属性A

           估计该节点在A上的信息增益

           选出最佳的属性,将N分裂为N1、N2

           }

       }

 }

属性选择的统计度量为:

信息增益——Informationgain(ID3/C4.5),所有属性假设都是种类字段,经过修改之后可以适用于数值字段;基尼指数——Giniindex(IBMIntelligentMiner),能够适用于种类和数值字段。

关联规则(correlationrules)

规则反映了数据项中某些属性或数据集中某些数据项之间的统计相关性,其一般形式为:

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),这些项集称为频集(FrequentItemset)。

2) 使用第1步找到的频集产生期望的规则。

这里的第2步相对简单一点。

如给定了一个频集Y=I1I2...Ik,k³2,Ij∈I,产生只包含集合{I1,I2,...,Ik}中的项的所有规则(最多k条),其中每一条规则的右部只有一项,(即形如[Y-Ii]ÞIi,"1£i£k)。

一旦这些规则被生成,那么只有那些大于用户给定的最小可信度的规则才被留下来。

对于规则右部含两个以上项的规则,在其以后的工作中进行了研究。

为了生成所有频集,使用了递推的方法。

其核心思想如下:

L1={large1-itemsets};

for(k=2;Lk-1¹F;k++)

{

Ck=apriori-gen(Lk-1);  //新的候选集

foralltransactionstÎD

{

Ct=subset(Ck,t);   //事务t中包含的候选集

for(allcandidatescÎ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-basedreasoning)

范例推理是直接使用过去的经验或解法来求解给定的问题。

范例通常是一种已经遇到过并且有解法的具体问题。

当给定一个特定问题时,范例推理就检索范例库,寻找相似的范例。

如果存在相似的范例,其解法就可以用来求解新问题。

而且该新问题被加入进范例库,已备将来搜索使用。

模糊集(fuzzyset)

模糊集是表示和处理不确定性数据的重要方法,它不仅可以处理不完全数据、噪声或不精确数据,还可以用于开发数据的不确定性模型,能够提供比传统方法更灵巧、更平滑的性能

粗糙集(roughset)

粗糙集是相对较新的一种数学工具,用于处理含糊性和不确定性,在数据挖掘中可以发挥重要作用。

粗糙集是由集合的下近似、上近似来定义的。

下近似中的每一个成员都是该集合的确定成员,而不是上近似中的成员则肯定不是该集合的成员。

粗糙集的上近似是下近似和边界区的并。

边界区的成员可能是该集合的成员,但不是确定的成员。

可以认为粗糙集是具有三值隶属函数的模糊集,它常与关联规则、分类和聚类方法结合使用,一般不单用。

支持向量机(supportvectormachine)

支持向量机(SVM)建立在计算学习理论的结构风险最小化原则之上。

其主要思想是针对两类分类问题,在高维空间中寻找一个超平面作为两类的分割,以保证最小的分类错误率。

它的一个重要优点是可以处理线性不可分的情形。

 

隐马尔科夫模型(HiddenMarkovmodel)

马尔科夫过程是描述系统的一种方法,由俄国有机化学家马尔科夫于1870年提出,其组成有:

系统状态、系统初始状态概率和状态之间转移的概率。

隐马尔科夫模型包括:

模型中状态数、模型中的输出符号数、模型中的状态集、状态转移的概率分布和初始状态分布等。

隐马尔科夫模型有三个基本问题:

识别问题(给定一个输出序列和模型,模型可能创建的序列的概率是什么?

)、序列问题(给定一个输出序列和模型,什么最可能的状态序列可以创建输出序列?

)和训练问题(给定一个输出序列和拓扑结构,怎样调整模型参数,包括状态转移和输出的概率分布,使得模型创建的输出序列具有最大概率?

)。

神经网络(neuralnetwork)

·才

∙图2神经网络的结构

神经网络(NerualNet)指由大量神经元互连而成的网络,有点象服务器互连而成的国际互连网(Internet).人脑有1000亿个神经元,每个神经元平均与10000个其他神经元互连,这就构成了人类智慧的直接物质基础。

神经元的工作机制:

神经元由细胞体,树突(输入端),轴突(输出端)组成。

神经元有两种工作状态:

兴奋和抑制。

每个神经元到另一个神经元的连接权(后者对前者输出的反应程度)是可以接受外界刺激而改变的,这构成了学习机能的基础。

人工神经网络的工作原理:

人工神经网络首先要以一定的学习准则进行学习,然后才能工作。

现以人工神经网络对手写“A”、“B”两个字母的识别为例进行说明,规定当“A”输入网络时,应该输出“1”,而当输入为“B”时,输出为“0”。

所以网络学习的准则应该是:

如果网络作出错误的的判决,则通过网络的学习,应使得网络减少下次犯同样错误的可能性。

首先,给网络的各连接权值赋予(0,1)区间内的随机值,将“A”所对应的图象模式输入给网络,网络将输入模式加权求和、与门限比较、再进行非线性运算,得到网络的输出。

在此情况下,网络输出为“1”和“0”的概率各为50%,也就是说是完全随机的。

这时如果输出为“1”(结果正确),则使连接权值增大,以便使网络再次遇到“A”模式输入时,仍然能作出正确的判断。

如果输出为“0”(即结果错误),则把网络连接权值朝着减小综合输入加权值的方向调整,其目的在于使网络下次再遇到“A”模式输入时,减小犯同样错误的可能性。

如此操作调整,当给网络轮番输入若干个手写字母“A”、“B”后,经过网络按以上学习方法进行若干次学习后,网络判断的正确率将大大提高。

这说明网络对这两个模式的学习已经获得了成功,它已将这两个模式分布地记忆在网络的各个连接权值上。

当网络再次遇到其中任何一个模式时,能够作出迅速、准确的判断和识别。

一般说来,网络中所含的神经元个数越多,则它能记忆、识别的模式也就越多。

神经网络模型的特点是:

利用大量的简单计算单元(神经元)连成网络,从而实现大规模并行计算;分布式存储,信息存在整个网中,用权值体现出来,有联想能力,可以从一个不完整的信息恢复出完整信息;自组织、自学习。

其工作机理是通过学习来改变神经元之间的连接强度。

人工神经网络的基本结构可以分为:

递归网络和前馈网络。

常用神经网络模型有:

HopfieldNet、HarmmingNet、Carpenter/Grossberg分类器、单层感知网、多层感知网、Kohonen的自组织特性图和反向传播(BP)网络。

多层感知网络(误差逆传播神经网络):

在1986年以Rumelhart和McCelland为首的科学家出版的《ParallelDistributedProcessing》一书中,完整地提出了误差逆传播学习算法,并被广泛接受。

多层感知网络是一种具有三层或三层以上的阶层型神经网络。

典型的多层感知网络是三层、前馈的阶层网络,即:

输入层I、隐含层(也称中间层)J、输出层K。

相邻层之间的各神经元实现全连接,即下一层的每一个神经元与上一层的每个神经元都实现全连接,而且每层各神经元之间无连接。

竞争型(KOHONEN)神经网络:

它是基于人的视网膜及大脑皮层对剌激的反应而引出的。

神经生物学的研究结果表明:

生物视网膜中,有许多特定的细胞,对特定的图形(输入模式)比较敏感,并使得大脑皮层中的特定细胞产生大的兴奋,而其相邻的神经细胞的兴奋程度被抑制。

对于某一个输入模式,通过竞争在输出层中只激活一个相应的输出神经元。

许多输入模式,在输出层中将激活许多个神经元,从而形成一个反映输入数据的“特征图形”。

竞争型神经网络是一种以无教师方式进行网络训练的网络。

它通过自身训练,自动对输入模式进行分类。

竞争型神经网络及其学习规则与其它类型的神经网络和学习规则相比,有其自己的鲜明特点。

在网络结构上,它既不象阶层型神经网络那样各层神经元之间只有单向连接,也不象全连接型网络那样在网络结构上没有明显的层次界限。

它一般是由输入层(模拟视网膜神经元)和竞争层(模拟大脑皮层神经元,也叫输出层)构成的两层网络。

两层之间的各神经元实现双向全连接,而且网络中没有隐含层,如图5。

有时竞争层各神经元之间还存在横向连接。

竞争型神经网络的基本思想是网络竞争层各神经元竞争对输入模式的响应机会,最后仅有一个神经元成为竞争的胜者,并且只将与获胜神经元有关的各连接权值进行修正,使之朝着更有利于它竞争的方向调整。

神经网络工作时,对于某一输入模式,网络中与该模式最相近的学习输入模式相对应的竞争层神经元将有最大的输出值,即以竞争层获胜神经元来表示分类结果。

这是通过竞争得以实现的,实际上也就是网络回忆联想的过程。

1986年美国物理学家J.J.Hopfield陆续发表几篇论文,提出了Hopfiel神经网络。

他利用非线性动力学系统理论中的能量函数方法研究反馈人工神经网络的稳定性,并利用此方法建立求解优化计算问题的系统方程式。

基本的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)。

人的大脑十分复杂,但对于记忆大量数据和复杂运算却并不在行,以大脑为精神的人工神经元网络模型,配以高速电子计算机,将大

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1