科学计数法的规则范例6篇

前言:中文期刊网精心挑选了科学计数法的规则范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。

科学计数法的规则

科学计数法的规则范文1

自1998年1月31日,美国副总统戈尔在《数字地球—认识21世纪我们这颗星球》的报告中首次提出了数字地球的概念,掀起了建设“数字地球”的空间信息革命。所谓数字地球可以理解为对真实地球及其相关现象统一的数字化重现和认识。其核心思想是用数字化的手段来处理整个地球的自然和社会活动的诸方面的问题,最大限度地利用资源。由此,“数字地球”、“数字城市”已成为新的研究领域,地球与城市的数字化都离不开社会统计数据的空间化,只有将社会统计数据与空间单元的有效结合,即实现社会统计数据的空间化,才能最终实现“数字城市”和“数字地球”。因此,社会统计数据的空间化是数字地球的重要内容之一,也成为当前地理科学和社会科学共同研究的热点问题。社会统计数据也称统计资料,是统计部门或单位以行政区划为单元进行统计工作所搜集、整理、编制的各种反映该行政区内的社会、经济等特征属性的统计数据资料的总称。社会统计数据是反映一个国家社会与发展状况的重要指标之一,更是中央政府、国家行业主管部门科学有效地制定法规政策,进行决策和宏观调控管理的重要依据。数据统计还是政府进行宏观经济管理的必要手段和重要职能[1]。

长期以来,由于经济地理学与自然地理学分别采取不同的空间单元进行社会统计数据(人口,GDP等社会经济数据)的收集、存储和分析:前者主要是基于行政单元,如省界、县界、乡界等,而后者主要是基于自然单元,如流域、土壤类型单元、植被类型单元等,这直接导致社会统计数据处理方法在理论和实际应用过程中的数据空间单元不一致,因而也产生一系列的问题[2]54。而研究和使用社会统计数据,不仅要关注其数量,更要分析其空间分布。GIS和RS越来越多的应用于统计数据空间分布的研究,随着3S技术的发展和成熟,产生一个难题:传统方法提供的社会统计数据定位不准确,单元不统一,空间分辨率低,造成社会统计数据与自然生态数据叠置分析困难。“社会数据空间化”和“空间数据社会化”也已成为当前地理学、社会科学共同关注的焦点[3]。而将统计数据与自然数据转化到统一平台,即统计数据空间化就是最好的解决办法。将行政区域单元为单元的统计数据扩展到一定尺寸的地理格网上,为可持续发展的研究和决策提供服务[2]55。作者就社会统计数据空间化的关键问题进行了系统的分析和综述。

二、社会统计数据分布与社会统计数据空间化

社会统计数据,尤其是人口数据的空间分布问题本属于社会学范畴,其发展也有较长的历史,随着人口地理学和GIS、RS等地理信息科学的发展,社会统计数据的空间化问题得到了众多地理学者的广泛关注和进一步的发展。

1.社会统计数据空间分布的分析

目前国内主要研究空间化的社会统计数据包括人口统计数据(人口密度)、社会经济统计数据(人均GDP)等。此类研究早期一般由研究者们在社会学、地理学、经济学、生态学等相关学科的基础上进行调研和分析,总结出此类社会统计数据的基本情况和变化规律,进而对其空间分布进行定性的综合描述,来指导我们的生产实践,比如,早在1933年,我国人口地理学家胡焕庸先生提出了著名的“爱珲—腾冲线”,对我国的人口分布格局进行宏观的描述。可以看出,早期的社会统计数据空间化主要是集中于人口数据的空间化,主要研究人口数据空间分布的规律、基本理论和影响因子等几方面,且主要是以传统的统计空间—行政区划为基础,一般采用定性描述的手段,未能充分揭示人口空间分布的内在机理。

2.社会统计数据空间化

随着研究的逐步深入和地理信息技术的飞速发展,社会统计数据空间化已迅速成为GIS和社会交叉学科领域的焦点问题。近些年,很多学者利用卫星遥感数据结合GIS技术反演出大尺度、高分辨率的地面参数,RS和GIS技术也越来越多的应用于社会统计数据的空间化研究中。本文根据研究内容、方法和研究深度的不同,将社会统计数据空间化研究归纳为以下几方面:

(1)社会统计数据与地理因子相关性的定量研究影响社会统计数据空间分布的因素很多,如自然环境状况、社会经济生活、历史传统、文化沉淀等等。诸多研究者从不同角度对各种地理因子与社会统计数据空间分布的相关性进行研究,并取得了很好的研究成果。例如廖顺宝[5]等人以土地利用、海拔高度、主要道路和河流作为影响青藏高原人口分布的主要环境因子,并以居民点信息作为人口分布的指示因子,进行了人口统计数据的空间化,说明在青藏高原,居民点对人口分布有重要影响,而高程和主要河流以及土地利用、主要公路与人口的分布也密切相关;王春菊[6]72等人分析了福建省各市县平均人口密度与海拔高度、河网密度、土地利用以及与海岸线的距离和居民点密度之间的相关性,以居民点作为人口分布的重要指示因子,对福建省人口统计数据进行了空间化。此类研究对于社会统计数据空间化过程中的影响因子分析以及参数设置有很大的借鉴意义,但是只能基于几种特定的因子进行分析,研究的区域性明显,而不具备普遍性,同时研究绝大多数集中于人口空间化的研究,并且对行政区划的依赖性较强,难以真正实现地理空间上的空间化。

(2)集成遥感获取的土地利用、土地覆被信息和其他信息估计社会数据主要是以高时空分辨率的遥感影响为基础,通过提取土地利用等空间信息,建立社会数据与对应的土地利用类型所占面积之间的关系,从而实现社会数据的空间化。这种方法成功地应用了高精度遥感影像的优点。由于遥感影像具有较高的时间分辨率,并能做到及时更新,因此对社会数据的空间化的贡献极大。国内近几年出现的许多人口估计模型都是基于遥感获取土地利用信息和其他信息建立回归方程进行的。例如廖顺宝[7]等人通过对于四川省的151个市县的人口密度与各种土地利用指数进行多元回归分析,发现人口密度与土地利用之间具有非常密切的关系,其中与耕地、居民点—工矿用地之间的关系最为密切。同时基于人口密度与土地利用之间的定量关系对四川省市县统计人口数据进行了空间化探讨和实验,取得了较好的研究结果;易玲[2]57等利用遥感影像信息获取了土地利用/覆盖数据建立与统计型GDP数据的多元相关关系模型,计算了各种土地利用类型中的GDP系数,尝试以土地利用空间格局为GDP空间分布的主要影响因素,提出了统计型GDP数据空间化处理的研究思路和实现途径,并生成了西部12省区1km2格网的GDP空间分布数据;刘红辉[8]等利用土地利用空间格局为社会经济要素空间化展布的主要因素,以遥感数据和统计数据最主要信息源,将统计型社会经济数据展布到地理空间,对现有以行政区划为单位的统计型社会经济数据库(GDP)进行了空间化处理,并实现了1km格网水平上的GDP空间数据集。经济—人口—土地是当今世界普遍关注的焦点问题,而基于土地进行人口、GDP等社会统计数据的空间化是土地和社会经济数据复合研究的最佳方式,同时也具有重要和简明的地学意义。但在现有技术条件下,仍然存在很多问题,例如利用遥感影像提取土地利用/覆被信息时,不可避免地存在信息的丢失和损坏,由于影像数据自身分辨率限制,使得土地利用数据结果存在一定的误差,尤其是某些影像无法识别的特定地区,误差则更大。同时,不同尺度不同类型的土地利用数据,信息的丢失情况也不尽相同,因此,获得高精度估计结果的前提是用于高精度、可靠性和时空一致性好的数据和相关信息,而建立这样的数据集也是目前急需进行的工作,同时,空间化的结果验证有待于进一步提高,建议在实际使用土地利用/覆被数据进行社会统计数据空间化的过程中,对信息的丢失和误差情况作出相应的精度检验分析和研究,而此类研究目前大多属于定性描述,鲜见有定量分析。

(3)社会统计数据空间化的技术方法分析社会统计数据空间化研究的目的是模拟社会统计数据在地里空间上的真实分布情况,为环境规划,资源的永续利用和行政管理提供决策支持。其方法有很多种,目前国内应用较多的方法可以总结为面插值方法和统计模型方法[9],而主要思想则是基于多元数据融合的思想[6]71[7,10]。金君[11]等人针对常用的表示人口分布方法的不足,提出了将人口数据分布到规则网格上的数字人口模型(DigitalPopulationModel,简称DPM),并详细阐述了DPM建立的原理及实现的技术方法,以及目标区域格网划分的原则和方法,通过对具体样区的实验,得到较为理想的结果,有较高的准确性;闫庆武[12]等人基于面积权重内插法与领域平均法原理,提出人口密度空间化的一种方法———网格单元面积权重内插法,并以江苏省丰县委研究区域进行例证,结果表明该方法有效的缓和了传统方法直接生成的人口密度图中的突变线,制作的人口密度GRID专题地图能够很好的反应人口密度的平均性,生成的人口密度三维可视化地图符合人口密度的空间分布特点;吕安民[13]等从GIS的角度研究如何解决人口内插的问题,认为面积内插和GIS中的叠加分析是一致的,在传统的面积内插方法的基础上提出了基于人口真实分布的面积内插方法,并推导出了共识,同时提出了人口密度的递归算法,即把居住区分为人口稀疏地区和人口稠密地区,估计出人口稀疏地区的人口密度就可以求出人口密集地区的人口密度,再把人口密集区分为新的人口稀疏区和密集区,由此反复直至求出接近于人口真实分布的人口模型。在GIS、RS、GPS等技术和多元数据的有效支持下,多级区划、分区建模、空间分析、多元数据融合等研究方法和手段越来越多的应用于多级社会统计数据的空间化模拟研究,但是方法和技术发展的同时也存在很多的问题,社会统计数据空间化的研究是要打破行政区划单元,使得社会统计数据最大限度的接近真实自然分布的情况,而格网单元具有其规则面积,并且在不同尺度的研究格网的面积也应该有不同的设计标准,同时,格网大小是否符合整个研究区的实际情况,更需要进一步的探讨;另外社会统计数据的分布也有其规律可循,是否能够将其规律与新的技术手段进行结合,开发出更好的模型,也是我们需要探讨的问题;在社会统计数据影响权重的估算过程中,存在数据和方法的限制,使得研究的客观性问题始终存在,同时,社会统计数据分布的很多影响因素之间又存在着密切的相关和影响,在多因素融合计算综合权值的过程中,如何消除信息的冗余也有待于进一步深入研究。

三、研究展望

基于GIS、RS和GPS等技术进行社会统计数据空间化的研究已经取得了很多成就,但是应用于实际的社会统计数据空间化还需要从以下几个方面开展更为深入的研究:

(1)提高小尺度社会统计数据空间化的精度相关研究大多认为,小范围的社会统计数据空间化的研究不如大尺度的研究精确[9],其原因是复杂的,但主要是因为大尺度的空间化中的估计过高和过低的数值存在相抵,使得总体精度较高,而小尺度的格网确定较为困难,同时由于尺度小,影响因素也较为细化,这就给提高空间化的精度带来困难,因此建议今后应该在提高小尺度的社会统计数据空间化精度上开展深入的研究。

(2)充分利用更新更精的遥感数据源当前,随着高分辨率遥感影像例如QUICKBIRD、IKONOS等的快速发展,人类应用此类空间信息的对地观测的能力有了很大的提高,这也为社会统计数据空间化的研究提供了广阔的前景,因此,今后应加强更新更精的遥感数据源在社会统计数据空间化方面的应用研究。

(3)加强对遥感影像提取精度的分析和验证虽然遥感数据在社会统计数据中的作用和影响日益显著,但遥感信息的发展仍处于新兴阶段,不容忽视的是由于对遥感影像的解译和判读的误差,通过遥感影像提取相关信息时,难以避免的存在信息的丢失和损坏。因此,在相关研究过程中对遥感影像的提取和分析过程中的精度分析至关重要,这直接关系到研究结果的可靠性。加强这方面的工作也是将来研究中亟待解决的问题。

(4)加强规则格网内社会统计数据空间化的精度验证目前的研究存在社会统计资料不足,无法对设计的规则格网内的统计数据精度进行合理的验证。对于空间化后的社会统计数据,如何寻找与其对应的验证数据集和模型,也是目前存在的问题,今后的工作应加强格网内空间化的社会统计数据的实地调查和采集工作,使其与遥感、GIS等技术充分结合,为空间化后的规则格网社会统计数据提供充分的验证数据集。

科学计数法的规则范文2

关键词:数据挖掘;深度优先;FP_树;FPRD

中图分类号:TP311文献标识码:A 文章编号:1009-3044(2010)13-3439-02

Association Rules Generated By the FP Tree Depth-First Algorithm

MA Xu-hui1, Zhang A-hong2

(1.school of computer and Information Henan University, Kaifeng 475001, China; 2.School of Software Nanyang Institute of Technology, Nanyang 473000, China)

Abstract:Mining association rules and focus the study found that the main how to improve the efficiency of frequent itemsets, this traditional association rules algorithm for introduced FP-Tree and depth first traversal algorithm, the efficiency of association rules generated thanother algorithms to be high.

Key words:DataMining; depth first; FP_Tree; FPRD

数据挖掘是当前数据库技术领域的重点研究内容,其中关联规则挖掘算法尤为引人注目。目前,关联规则及挖掘算法研究的热点主要是如何提高发现频繁项集的效率,而对如何由FP树挖掘繁项模式进而生成关联规则却很少涉及。对由使用FP树,通过模式段增长和深度优先算法的引入,挖掘频繁模式生成关联规则的过程进行改进,将会有效提高生成关联规则的效率。

1 相关理论基础

定义1FP树:又叫频繁模式增长(freguent-pattern growth),它采用如下分治策略:将提供频繁项集的数据库压缩到一棵频繁模式树,但仍保留项集关联信息;然后,将这种压缩后的数据库分成一组条件数据库(一种特殊类型的投影数据库),每个关联一个频繁项,并本别挖掘每个数据库。

定义2深度优先遍历算法(以图示例):从图中某个顶点v出发,访问此顶点,然后依次从v的未被访问的邻接点出发深度优先遍历图,知道图中所有和v有路径相通的顶点都被访问到;若此时图中尚有顶点未被访问,则另选图中一个未曾被访问额的顶点作起始点,重复上述过程,直至图中所有顶点都被访问到为止。

算法1:Boolean visited[MAX];

Status(*VisitFunc)(int v);

Void DESTraverse(Graph G,Status(*Visit)(int v))

{

VisitFunc=Visit;

For(v=0;v

For(v=0;v

If(!visited[v] DFS(G,v));

}

算法2:Void DFS(Graph G,int v)

{

Visited[v]=true;

VisitFunc(v);

For(w=FirstAdjVex(G,v);w;w=NextAdjVex(G,v,w))

If(!visited[w] DFS(G,w))}

定义4设I= {i1,i2,…,im}是项的集合,设任务相关的数据D是数据库事务的集合,其中每个事务T是项的集合,使得T?哿I。每一个事务有一个标识符,称作TID。设A是一个项集,事务T包含A当且仅当A?哿T 。关联规则是形如A?圯B的蕴含式,其中A?奂I,B?奂I,并且A∩B=?I。规则A?圯B 在事务集D中成立,具有支持度s,其中s是D中事务包含A∪B(即A和B二者)的百分比。它是概率P(A∪B)。规则A?圯B在事务集D中具有置信度c,如果D中包含A的事务同事也包含B的百分比是c。这是条件概率P(B | A)。即:

Support(A?圯B)=P(A∪B)

Confidence(A?圯B)=P(B│A)

2 由FP树进行的关联规则数据挖掘的深度优先算法(FPRD)

示例:AllElectronics事务数据库如下,数据库中有9个事务,即:|D|=9。假定事务中的项按字典次序存放。

利用FP树时,数据库第一次扫描导出频繁项(1-项集)的集合,并得到它们的支持度计数(频繁性)。设最小支持度计数为2.频繁项的集合按支持度计数的递减顺序排序。结果集或结果表记作L。这样,就有L=[I2:7,I1:6,I3:6,I4:2,I5:2]。

然后FP-树构造如下:首先,创建树的根节点,用“null”标记。第二次扫面数据库D。每个事务中的项按L中的次序处理(即按递减支持度计数排序)并对每个事务创建一个分枝。

为了方便树的遍历,创建一个项头表,使得每个项通过一个节点链指向它在书中的出现。扫描所有的事务之后得到的树展示如图一,带有相关的节点链。这样,数据库频繁模式的挖掘问题就转化成挖掘FP-树的问题。

FP-树挖掘过程如下:由长度为1的频繁模式(初始后缀模式)开始,构造它的条件模式基(一个“子数据库”,有FP-树中与后缀模式一起出现的前缀路径集组成)。然后,构造它的(条件)FP-树,并递归地在概述上进行挖掘。模式增长通过后缀模式与由条件FP-树产生的频繁模式连接实现。

FP-树挖掘总结在上表,详细过程如下:首先考虑I5,它是L中的最后一项,儿不是第一项。I5出现在图1的FP-树的两个分枝(,)。这样,考虑I5为后缀,它的两个对应前缀路径是和,它们形成I5的条件模式基。它的条件FP-树只包含单个路径;不包含I3,以为它的支持度计数为1,小于最小支持度计数。该单个路径产生频繁模式的所有组合:I2 I5:2,I1 I5:2,I2 I1 I5:2。

对于I4,它的两个前缀形成条件模式基{(I2 I1:)}产生一个单节点的条件FP-树,并导出一个频繁模式I2 I4:2。注意,尽管I5跟在第一个分枝中的I4之后,也没有必要在此分析中包含I5,因为涉及I5的频繁模式在I5的考察时已经分析过。

与以上分析类似,挖掘过程总结在如图2所示。

算法3:FPRD算法。使用FP-树,通过模式段增长,挖掘频繁模式。

输入:事务数据库D;最小支持度阈值min_sup。

输出:频繁模式的完全集。

方法:

1)按以下步骤构造FP-树:

a)扫描事务数据库D一次。收集频繁项的集合F和它们的支持度。对F按支持度降序排序,结果为频繁项表L。

b)创建FP-树的根节点,以“null”标记它。对于D中每个事务Trans,执行:

选择Trans中的频繁项,并按L中的次序排序。设排序后的频繁项表为[p|P],其中p是第一个元素,而P是剩余元素的表。调用insert_tree([p|P],T)。该过程执行情况如下。如果T有子女N使得N.item-name =p.item-name,则N的计数增加1;否则创建一个新节点N,将其计数设置为1,链接到它的父节点T,并且通过节点结构将其链接到具有相同item-name的节点。如果P非空,递归地调用insert_tree(P,N)。

2)FP-树的挖掘通过调用FP_growth(FP_tree,null)实现。该过程如下:

Procedure FP_growth(Tree,α)

1)if Tree 含单个路径P then

2)for 路径P中节点的每个组合(记作β)

3)产生模式βUα,其支持度support=β中节点的最小支持度;

4)Else for eachαi在Tree的头部{

5)产生一个模式β=αiUα,其支持度support=αisupport;

6)构造β的条件模式基,然后构造β的条件FP-树treeβ;

7)If Treeβ≠?准then

8)调用FP_growth(Treeβ, β)}

3 算法分析

现将FPRD算法与Boundary算法和GRSET算法比较如下;FPRD算法和Boundary算法相比,Boundary算法的运行时间包括两部分,从已知的极大元集合中找出所有d(h)头大于头h的所有极大后件集G的时间及测试以h+t为后件的关联规则(t为G中后件第d(h)+1个分量的最大者)的时间,耗费时间较长。且在Boundary算法中,频繁项集包含的项目个数即为算法运行过程中递归嵌套的层数,而FPRD算法中递归嵌套的层数必不大于频繁项集包含的项目个数,与Boundary算法比相对较少,因此时间较短。FPRD算法和GRSET算法相比,他们都采用了递归的方法,GRSET算法逐一求出拟关联规则的后件,并验证它是否满足mc,而FPRD算法当验证以S为前件的拟关联规则满足mc时,则输出所有以S为头的前件所形成的关联规则,无需一一验证,因此节省了一定的时间。

参考文献:

科学计数法的规则范文3

[关键词]数据库关联规则安全检测

中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)1120040-02

一、引言

随着科学技术和信息化的高速发展,计算机信息管理系统得到了广泛的应用。作为信息系统的三大支柱平台之一的数据库管理系统已经渗透到了各个领域,然而数据库在给人们带来数据管理方便的同时,各类病毒给数据库致命的破坏也是灾难性的。因此,数据库的安全检测逐渐成为了热点研究之一。

二、数据库的安全检测概述

数据库中安全检测机制主要包括以下几个方面:1.身份认证。用户身份认证是安全系统的第一道防线,目的是防止非法用户访问系统。为了有效可靠地管理用户权限,保证系统的安全,需要一套可靠完善的身份鉴别机制。身份鉴别有多种技术,可应用在管理信息系统的不同层次。口令权限管理是身份鉴别和保证系统安全的最常见、最方便的方法。除口令控制外,用户身份认证还可以采用比较复杂的计算过程和函数来完成。而智能卡技术、数字签名技术和生理特征(如指纹、体温、声纹、视网膜纹等)认证技术的迅速发展也为具有更高安全要求的用户身份认证提供了实用可行的技术基础。2.存取控制。数据库的存取访问控制机制是定义和控制用户对数据库数据的存取控制权限,以确保只授权给有资格的用户访问数据库的权限,并防止和杜绝对数据库中数据的非授权访问,通常在认证己成功的基础之上进行。3.数据库加密。虽然DBMS在操作系统的基础上增加了不少安全措施,但操作系统和DBMS对数据库文件本身仍然缺乏有效的保护措施。有经验的网上黑客会“绕道而行”,直接利用操作系统工具窃取或篡改数据库文件内容,这种隐患被称为通向DBMS的“隐秘通道”,它所带来的危害一般数据库用户难以觉察。分析和堵塞“隐秘通道”被认为是B2级的安全技术措施,对数据库中的敏感数据进行加密处理,是堵塞这一“隐秘通道”的有效手段。对于具有更高安全要求的DBMS,数据加密是保证用户数据隔离、防止敏感性数据泄漏的重要手段之一。4.审计追踪与安全检测。审计是指在系统运行的过程中,自动将对数据库的所有操作记录在审计日志中,来监视各用户对数据库施加的动作。由于数据库审计记录的数据量是极其庞大的,因此需要对大量的审计数据进行分析处理。另外,对数据库来说,仅仅依靠工作在文件和系统命令级的底层操作系统和网络入侵检测系统是无法保证检测的效率和精度的,这种入侵是操作系统和网络入侵检测系统所难以检测的。通过数据库安全检测可以弥补操作系统和网络入侵检测的不足,提高检测的准确度和有效性。

目前构造一个数据库安全检测系统是一个十分宏大的工程,很多情况下需要专业人员对已知的攻击进行分析,提取特征,然后用到检测中,或者采用很多统计方法来做异常检测,但是可扩展性和适应性都不强,而且规则库更新非常缓慢和昂贵。利用数据挖掘的自动发现数据特征的功能在安全检测中可以取得了很好的效果,将数据挖掘技术应用于数据库安全检测系统中,是目前检测领域一个重要的研究方向。

三、数据库安全检测算法

将数据挖掘算法应用到数据库的安全检测算法中,可以有效地从大量的审计数据中发现有助于检测的知识和规则。基于数据挖掘的数据库安全检测系统通过对审计数据进行挖掘,发现用户行为模式,生成规则库,然后对当前审计数据进行检测,判断非法行为是否发生,并响应。建立此种模型的前提是数据库用户在长期操作数据库的过程中会反映出一定的行为规律。基于数据挖掘的数据库安全检测算法,最常用的是关联规则,利用关联规则,找出数据库系统中各个数据表之间的关联关系,及在一个事务中那些表之间产生了联动。形成正常情况下数据表各个事件的规则和系统采集的运行数据进行比较,来预测数据行为的安全性。

关联规则。关联规则挖掘就是从大量的数据中挖掘出有价值描述数据项之间相互联系的有关知识。随着收集和存储在数据库中的数据规模越来越大,人们对从这些数据中挖掘相应的关联知识越来越有兴趣。例如:从大量的商业交易记录中发现有价值的关联知识就可帮助进行商品目录的设计、交叉营销或帮助进行其它有关的商业决策。挖掘关联知识的一个典型应用实例就是市场购物分析。根据被放到一个购物袋的(购物)内容记录数据而发现的不同(被购买)商品之间所存在的关联知识无疑将会帮助商家分析顾客的购买习惯。同理,数据库用户在长期操作数据库的过程中也会反映出一定的行为规律。例如哪些用户经常访问哪些数据库或数据库对象等。在建模的学习阶段,要求采集用户正常操作的数据,所以学习到的规则是用户正常状态下的行为规律。在检测时,如果一些会话连接不符合这些规则时,就认为这些连接是异常的。关联规则算法利用一个层次顺序搜索的循环方法来完成频繁项集的挖掘工作,这一循环方法就是利用k-项集来产生(k+1)-项集。算法的主要流程是:首先找出频繁1-项集,记为L1;然后利用L1,来挖掘L2,即频繁2-项集;如此循环下去,直到无法发现更多的频繁k一项集为止。每挖掘一层Lk就需要扫描整个数据库一遍,因此需要多次扫描数据库。为了提高按层次搜索并产生相应频繁项集的处理效率,关联规则算法利用了两个性质来帮助有效缩小频繁项集的搜索空间。这两个性质为任意非频繁项集的超集必定也是非频繁项集和任意频繁项集的子集都是频繁项集。关联规则算法主要包括以下三个步骤。(1)连接步。通过及Lk-1中的频繁(k-1)-项集的自连接产生候选k-项集的集合,该候选项集的集合记作Ck。设p,q∈Lk-1,如果(p[1]=q[2])^(p[2]=q[2])^……^(p[k-2]=q[k-2])^(p[k-1]

四、安全检测系统模型的建立

基于以上对数据库安全检测算法的分析,本文提出了一个基于关联规则算法的安全检测系统模型。该系统模型的框架图如下图1。从功能实现的角度把系统分为四大模块:数据预处理模块、规则生成模块、安全检测模块和响应模块。为提高安全检测系统的自适应性,增加了新规则生成模块。

1.数据预处理模块。在进行数据挖掘之前,对采集的数据库审计数据需要进行预处理。因为一个会话连接包含很多个审计记录,所以将多个属于同一会话的审计记录归并到同一个会话连接中去。本文定义一个会话连接包含下面的属性:(会话的数字ID,被审计的用户ID,被审计的用户操作系统终端描述字,被审计的操作)。对于数据库安全检测来说,所要挖掘的是用户行为模式,所以,任何一个规则都应该落实到每一个用户。所以可以将审计记录根据用户ID进行分组,分别使用关联规则挖掘算法,即先把记录按照被审计的用户ID从逻辑上分成几个互不相交的块,每次单独考虑一个分块。此算法可以高度地并行,把每个用户对应的记录分别分配给一个处理器生成频繁项集,产生相应的规则,最终合并所有规则。通过分类使得在生成频繁项集时,使用户之间的数据不相互干扰,减少了必须分析的候选项集的个数,从而提高了算法的效率,提高了海量数据的处理速度。

2.规则挖掘模块。根据安全检测方法,安全检测分为两大类型:滥用检测和异常检测,相应的,规则库也可以分为两大类:滥用检测规则库和异常检测规则库。本文所探讨的是数据库的异常检测,通过对正常数据的挖掘,发现其中存在的规则,生成异常检测规则库。滥用检测规则库则存放已知的攻击模式,由审计系统管理员根据个人的经验和以往审计检测出来的结果进行建立和维护。这使得滥用检测规则库并不完善。并且采用这种方法生成的滥用检测规则具有被动性,因此需要主动的发现滥用规则,从而完善滥用检测规则库。数据挖掘方法的优势在于它能从大量数据中提取人们感兴趣的、事先未知的知识和规律,而不依赖经验。本系统采用的关联规则算法描述如下:

For eaeh lk∈L;k>2

do begin /*生成规则*/

for eaeh subsetam∈lk

do begin

conf=support(lk)/support(am):

if(conf≥min_conf)

then begin

output rule am(lk-am)(confidence=conf and support=support(lk));

end

end

end

3.安全检测模块。安全检测模块与规则挖掘库对应可分为滥用检测和异常检测,由于滥用检测的高漏检率,因此本文系统主要对异常检测进行分析。具体的异常检测过程为:

输入:滥用检测后的不匹配的审计记录

输出:异常记录

(1)获得第一条审计记录。(2)将审计记录与规则库中该用户的规则进行比较。(3)如果(2)中,比较的规则符合说明事务是正常事务,如不符合说明是可疑事务,则记录该事务为可疑事务并报警输出。(4)取下一条待检测的记录,为空说明检测完毕退出,不为空则继续重复(2)-(4)。

异常检测的响应程序描述如下:

说明:

P1record:P1所指向的记录

P2rule:P2所指向的规则

Numberitems:(P1record):记录所含的项目数

Numberitems:(P2true):规则所含的项目数

Dubious_record:存放可疑记录

输入:滥用检测过滤后的数据集

输出:可疑的数据库审计记录

打开存放待检测会话记录的文件,P1指向该文件第一条记录

While(P1≠NULL)

{

P2指向第一条规则

while(P2≠NULL)

{

if(Numberitems:(P2true)=Numberitems:(P1record)&&(P2trueitemi))

then

break;

e1se P2++

}

add P1record to dubious_record

P1++;

}

根据检测结果可以分为以下两种情况:滥用检测不匹配,异常检测匹配说明该审计记录是正常的用户行为和均不匹配认为,即在滥用检测和异常检测中均不匹配的记录是可疑记录。它可能是不符合用户历史行为模式的正常行为,也可能是未知的非法行为。

4.响应模块。根据安全检测结果分别产生不同的告警。如果为非法数据则通知审计管理员采取适当的措施,尽量减少入侵造成的损失。如果为可疑数据则通知审计管理员对审计记录进行标记,将可疑数据分为正常数据和非法数据,作为更新规则库的数据源。

5.新规则生成模块。在数据库安全检测中,检测的高效性取决于规则库的完备性。为此,规则库必须及时更新。新规则生成模块就是用来不断修正和更新用户的正常行为模式的。安全审计数据是随时间的变化而变化的,用户的行为模式很可能随时间呈现出某种发展趋势,使得当前己发现的用户行为模式可能不再生效,而可能存在新的用户行为模式有待于进一步去发现。因此,不仅需要有高效的算法来挖掘出用户行为模式,而且也迫切需要有高效的算法来更新、维护和管理已挖掘出来的用户行为模式对于在异常检测中不匹配的数据,需在审计管理员的参与下将记录分别标记为正常或非法行为,然后采用规则挖掘模块对标记为正常的数据进行挖掘,生成新的用户行为模式,将其存入规则库中,更新规则库。一般说来,正常的数据是大量的,可以采用关联规则挖掘算法,产生新的关联规则。对于非法数据,就需要在审计管理员的参与下,生成相应的检测规则。这样就可以更新异常检测规则库,实现了安全检测系统的自适应性,并降低误警率和漏检率。

五、结束语

现在的信息系统中,采取了各种措施保护信息系统的安全,但大多针对网络、病毒等方面,但对数据库本身的监管较少,特别是对数据库操作人员的监管上。而数据挖掘理论的成熟为数据库安全监管提供了许多可用的算法,因此,数据挖掘算法和数据库安全检测的结合时未来数据库安全的一个发展趋势。

参考文献:

[1]王丽娜、董晓梅、郭晓淳、于戈,基于数据挖掘的网络数据库入侵检测系统,东北大学学报(自然科学版),2003,3(24-3).

[2]黄晓燕、许龙飞,数据库入侵检测的一种数据挖掘方法计算机系统应用,2005.11.

[3]安淑芝,数据仓库与数据挖掘[M].清华大学出版社,2005.

科学计数法的规则范文4

关键词:关联规则;Apriori算法;优化;数据挖掘

中图分类号:TP312文献标识码:A文章编号:1009-3044(2010)22-6268-02

Brief Analysis of Associative Rule and Apriori Algorithm

ZHANG Feng-yun

(Computer Science and Technology Institute, China University of Mining and Technology, Xuzhou 221116, China)

Abstract: The concept of the associative rule and its relative definitions are given in the paper, which helps us to further understand the associative rule mining technology. The Apriori algorithm of the associative rule is presented. Then the optimized methods of classic algorithms are summarized and the extended application of the associative rule is discussed.

Key words: associative rule; Apriori algorithm; optimize; data mining

关联规则挖掘是在海量的数据中发现数据项之间的关系,是数据挖掘领域中研究的热点问题,最早是由Agrawal等人于1993年提出。他们提出这一观点是针对货蓝问题进行分析,目的是为了发现交易数据库里不同商品之间的相关关系。

1 关联规则理论

1.1 定义

关联规则。设I = { i1 , i2 , …, im }是项的集合,其中的元素ij ( j = 1 , 2 , …, m) 称为项( item) 。记D为事务T的集合,事务T是项的集合,并且T?哿I 。设X是一个I中项的集合,如果X?哿T,那么称事务T包含X。

一个关联规则是形如X=>Y的蕴涵式,这里X?奂I , Y?奂I,并且X∩Y =?I。关联规则X=>Y 成立的条件是:

1) 它具有支持度S,即数据库D中至少有S %的记录包含X∪Y , 它是概率P (X∪Y )。

2) 它具有置信度C,即在数据库D中包含的X记录至少有C % 同时也包含Y,这是条件概率P (Y |X )。

support(X=> Y ) = P (X∪Y ) = | T: X∪Y?哿T, T∈D | / |D |

confidence (X=>Y ) = P (Y |X) =| T: X∪Y?哿T, T∈D | / | T: X?哿T, T∈D |

其中,支持度定义了项目在整个数据库中所占的比例;置信度定义了发现规则的强度。他们分别反映发现规则的有用性和确定性,习惯上将关联规则表示为X=>Y( S % ,C %) 。

给定一个事务集D,挖掘关联规则问题就是产生支持度和置信度分别大于用户给定的最小支持度(minsup) 和最小置信度(minconf) 的关联规则。同时满足最小支持度阈值(min_sup) 和最小置信度阈值(min_conf) 的规则称做强规则。

1.2 关联规则挖掘的一般步骤

关联规则挖掘的基本任务就是首先通过用户指定最小支持度和最小置信度,挖掘出大型数据库中的强关联规则。可分成两个步骤:

1) 挖掘频繁项集:通过用户给定的最小支持度,找出所有频繁项集,即支持度不小于最小支持度的所有项集。

2) 生成关联规则:使用频繁项集生成置信度大于预先给定的最小置信度阀值的关联规则。

挖掘关联规则的整个性能主要是由第一步(挖掘频繁项集)决定的,所以有效地计算频繁项集就成了关联规则挖掘算法研究的重点。

2 经典算法Apriori

Apriori算法是1993年由Agrawal等设计的一个经典算法[1-2],通过对数据库D的多趟扫描来发现所有的频繁项集。

2.1 Apriori算法基本思想

该算法采用“逐层搜索”的迭代方法,用k-项集生成(k+1)-项集。首先,扫描数据库计算出频繁1-项集的集合(记为:L1);然后,执行下面的迭代过程计算频繁k-项集,直到生成频繁k-项集的集合(记为:Lk)为空:

①连接:Lk-1进行自连接运算,生成候选k-项集的集合,记为C k。所有的频繁k-项集都包含在C k集合中。

②剪枝:①生成的C k是Lk的超集,扫描数据库计算C k中每个候选项目集的支持度,支持度大于用户给定最小支持度的候选k-项目集就是频繁k-项目集。

通过上述的迭代过程,可以发现项目集I在给定数据库D中满足最小支持度的所有频繁项目集。

2.2 算法分析

Apriori算法在执行“连接-剪枝”过程中,需多次扫描数据库。寻找每个k -频繁项集( k = 1 ,2 , …,m) 都需要扫描数据库一次,共需要扫描m次。因此当数据库或者m太大时, 算法的耗时太大甚至无法完成,并且在迭代过程中,候选项集Ck是以指数速度增长,Lk-1自连接会产生大量的候选k-项集,例如有104个1-项集,自连接后就可产生约107个候选2-项集。这些都严重影响了Apriori算法的效率。

3 Apriori 算法的优化和改进

Apriori算法是一种多层迭代算法。如果数据集中项数为n,则Apriori 算法将要计算2n-1个项目,当n较大时,会产生组合爆炸问题。各国学者先后以Apriori 算法为基础,在算法的效率和算法的实现上进行了改进:

3.1 动态项集计数方法

Brin等人提出了动态计数DIC(dynamic itemset counting)方法。其基本思想是在对k-项集进行支持度计算的同时也对某些(k+1)-项集进行支持度计算。该技术动态地评估已被计数的所有项集,不像Apriori算法仅在每次完整的数据库扫描之前确定新的候选,它可以在任何点添加,一旦一个项集的所有子集被确定为是频繁的,就可以启动对该项集支持度的计算。因此,该算法所需的数据库扫描次数要比Apriori算法少。

3.2 基于散列表的方法

Park等人于1995年提出。其基本思想:在由C1中的候选1-项集产生频繁1-项集L1时,可使用散列函数将每个交易的所有项集散列到不同的桶中,并对对应的桶进行计数,通过桶的计数寻找候选频繁项集。这种技术可以大大压缩待考察的k-项集,尤其有利于改进频繁2-项集的发现效率。

3.3 分区方法

Savasere等人提出了一种发现频繁项集的划分算法,这是一种常见而有效的算法设计思想。该算法把数据库分成小块,然后逐次调入内存,第一遍扫描时,根据支持度在每个子块上的分配,对每个子块应用Apriori算法;第二遍扫描,着眼于全局频繁项目集的搜索。每个全局频繁项目集必在某个子块上是频繁的,根据这个性质,第二遍只在第一遍扫描所得频繁项目集的结果中进行搜索。该算法可以高度并行计算,但是进程之间的通信是算法执行时间的主要瓶颈。

3.4 选样

基本思想是在给定数据的一个子集挖掘。对前一遍扫描得到的信息,仔细地组合分析,可以得到一个改进的算法,Mannila等先考虑了这一点,他们认为采样是发现规则的一个有效途径。

随后,Toivnen进一步发展了这个思想。它不是将算法直接作用于整个数据库,而是作用于数据库的样本,然后扫描整个数据库,以确定样本上的频繁项目集是否在整体上也频繁。Toivonen的算法显著地减少了I/O代价,但是一个很大的缺点就是产生的结果不精确,存在数据扭曲(data skew)。

3.5 事务压缩

Agrawal等提出压缩进一步迭代扫描的事务数的方法。因为不包含任何k项集的事务,不可能包含任何(k+1)项集,可对这些事务加上删除标志,扫描数据库时不再考虑。

4 关联规则的扩展

4.1 多层次关联规则

数据项可以有概念层次,如果将数据项沿概念层次向上提升,则会使多个数据项合并为一个新的概念,从而增加了支持度。例如牛奶和啤酒沿概念层次向上提升为饮料。

对于许多应用,由于数据的稀疏性,在低层或原始层的数据项之间很难找出强关联规则。例如:“面包=>牛奶”可能没有足够的支持度,而“面包=>饮料”则可能是一个强关联规则。

挖掘多层次关联规则一般有两种途径:一种是把单层次关联规则挖掘算法直接应用于多层次;另一种是在不同的层次应用不同的支持度阀值和置信度阀值。

4.2 多维关联规则

传统的关联规则算法讨论的都是基于同一个字段之间的关系,但实际上很多规则都是在多维数据库中挖掘的。例如,规则:年龄(x,“25,35”),职业(x,“3000,4000”)=>购买(x,“计算机”)中,它涉及年龄、职业、购买这三个维度,是多维关联规则。

现在,比较流行的做法是建立数据立方体存储多维数据,然后采用Apriori算法分别求出各个维的频繁项集。

4.3 定量关联规则

传统关联规则算法处理的只是布尔属性的情况,对于有多个值的数值属性和类别属性,人们提出了定量关联规则挖掘问题。

处理数值型关联规则的算法大致分为两种:一种是将连续的数值型区间分割为若干离散的区间,将离散区间的值映射为连续的整数,以布尔型数据挖掘算法为基础进行数据挖掘;另一种是引入模糊数学的理论,进行模糊关联规则的挖掘[3-4]。

4.4 加权关联规则

为了反映各个项目的重要性不同,可以给每个项目分配一个反映其重要性程度的权值。目前加权关联规则主要有两种:第一种是项加权关联规则,即引入项权重,但项权值在数据库的各个事务中固定不变。第二种是项完全加权关联规则,其认为各个项在数据库及各个事务中的重要性都不同,项集的权值随着数据库中事务记录不同而各异。

4.5 序列模式分析

在典型的关联规则中,各个事务之间没有先后顺序关系,但实际应用中,经常会用到序列关系。序列模式挖掘是指从序列数据库中寻找频繁子序列列作为模式的知识发现过程。

5 总结

关联规则算法的研究,人们已经探索了许多各种各样的不同方法。目前研究主要集中在算法的改进、数据挖掘的范畴等方面。因此,提高算法效率,减少算法的时间和空间复杂度是基本方向。由于数据挖掘的对象有布尔数据、数值型数据、字符型数据等多种数据类型,因此需要改进原有算法或者提出新算法来解决多种类型数据的挖掘问题和多维、多层次的数据挖掘问题。实践证明,没有一种挖掘算法对所有类型的数据都优于其他算法,每种算法都有他具体的适应环境[6],所以,熟知不同算法的不同特征和适用条件,可使研究者明确算法的改进点和研究方向,更易于使用。

参考文献:

[1] 吴建芹,吴建红,张雷.基于CWM的企业数据仓库体系结构设计[J].计算机工程与应用,2002,38(21):202-204.

[2] 蔡伟杰,张晓辉.关联规则挖掘综述[J].计算机工程,2001,l27(5).

[3] 邓景毅.关联规则数据挖掘综述[J].电脑学习,2006(3):4-5.

[4] 程岩,卢涛,黄梯云.在数据库中挖掘定量关联规则的方法研究[J].管理科学学报,2001,4(4):41-48.

科学计数法的规则范文5

这是中世纪晚期的一幅木刻画,表现了毕达哥拉斯学派的“数”的和谐理论,读者朋友可以看到,在第2、3、4幅图中,特别标注出了音的和谐数字

数字的诞生和对计数的描绘

“万物皆数”是公元前500多年,古希腊数学家毕达哥拉斯在其音乐研究的基础上提出来的。到了17世纪初,德国天文学家开普勒继承了毕达哥拉斯的研究,对数进行了进一步的发展。而美国现代天体物理学家泰格马克则提出了“数之宇宙假说”,认为不是数学描述宇宙,而是“宇宙即数学”。然而,这些都是产生于数字发明之后的论断。

世界各地、各民族或多或少都有着对数字诞生的历史及其计数与表达方法的描绘。对数的研究,是人类早期开始的研究活动之一,其源头现在已经很难考证。早期的数学文献出现在今天伊拉克的底格里斯河和幼发拉底河之间的美索不达米亚平原。在早期的文明社会中,人们已经熟练地使用“数”这一抽象工具。比如,在陶器标记、编织模式、有齿纹的骨头、绳子打的结、石碑等各处都能发现“数”的存在。而算术、几何、音乐、天文等4门学科的发展,也得益于“数”的智慧。

从远古时代开始,人们就需要计数和测量周围物体的数量。早期的计数方法包括把石头分堆、在木棒上刻楔形刻痕和用手指计数,可以说,正是10个手指的计数方法,产生了现在我们熟悉的十进制系统。公元前3000年左右,苏美尔人的计数泥板上用来计数的图案,看起来像极了今天的大麦,而三条指甲形痕迹,则代表着所计物的数量。苏美尔人的计数系统以60为基础,后来逐步演变成了六十进制,我们现在的钟表计时,仍采用这一古老的计数系统。

大约在公元1500年,生活在中美洲以南的秘鲁印加人发明了结绳文字,他们用各种颜色与形式的绳结来记数和记事。结绳文字都有一根主绳,上面系着许多打了结的各种颜色的细绳,每个绳结的大小和位置对应着十进制中的数,而不同的颜色传达着不同的信息。这种结绳文字可用于计数,也可记录其他类型的数据。这些信息由“印加信使”在所辖地区传递,他们训练有素,一天能走很远的路程,与现在爬山涉水送信的邮递员很像。

表达数字变化与计算的绘画

数字的发明代表着特定的含义,并且会发生变化,最重要的是数可以用来计算,一般也会有计算结果。倘若人类认为计算结果是有意义的,人类对自然宇宙的认识就会更进一步―这也是现代科学技术之所以能发展起来的基础之基础。

20世纪60年代,美国艺术家姜斯就注重数字与图像的含意,在作品中对科学的新观念作出过惊人的视觉解释。姜斯有许多以数学知识为主题的绘画。2500多年前,希腊人着重探求数字的实在意义的科学活动;而到了现代,姜斯探讨了艺术活动中数字的潜在意义。以姜斯的作品《从0到9》(1961年)为例,在这幅画里,他向数字序列的不可变更性提出了挑战。

自亚里士多德时起,数字序列的不可变更性是最神圣不可侵犯的信条之一,而算术级数属于最根本的数字序列。在时间领域和空间领域里,1、2、3、4……按部就班地接续出现。姜斯却将这两个不同的时空概念糅合到一起并使之互补,在这幅画中,这些数叠压得无法一一分辨。在数字式钟表上,一秒一秒的时间一个接一个地出现,而在姜斯的作品上,整齐的一套数字同时出现。

而在格列高・莱许的作品《玛格丽塔哲学》中,同样表达了数字的序列。绘画中描述了毕达哥拉斯在使用中世纪的算盘排列数字1241和82(下图右侧);数学家博伊修斯在用现在我们熟悉的阿拉伯数字做计算(下图左侧);在图中间那位女士的裙子上出现的数字,为算术等比级数1、2、4、8和1、3、9、27。

上文我们提到过,数字不但会发生变化,同时也

可用来计算。以十进制的数学计算游戏(幻方)为例,在文艺复兴时期,德国画家丢勒所作的铜版画《忧郁》中,一位忧郁的女性,她手持圆规,正陷入沉思之中。画面上还有一个硕大的多面体、一个圆球、一个沙漏,以及一个4 x 4(阶)的幻方。在这个4 x 4(阶)的幻方中,每行、每列以及每个对角线上的数字之和均为34。这幅画完成于1514年―其创作的年代数字,恰好出现在幻方的最后一行中。

数字与图形的统一表达

我们知道,大自然与人类社会中的一些数包含了一些基本的数字规律和现象:一个音阶包含7个音符、一条小凳最少有3条腿、一朵花可以有多种数目的花瓣……而像这些基本的数字规律和现象,其实很早就已为人们所观察和了解。

在数学上,数与形的统一表述和计算是以法国哲学家、数学家笛卡儿发明的解析几何为标志的。而在画家的笔下,表现数与形的统一画面较为困难,但一些对数字青睐的画家仍然将它们统一了起来,并创作了一些经典之作。

二进制与数字化生成的描绘

几个世纪以来,十进制以外的进位制被应用于趣味数学,但莱布尼茨认为二进制具有特殊的意义。莱布尼茨琢磨建造了以二进制为基础的计算机,他记载的有些部分很清晰实用。

现代电子计算机及其网络就是建立在莱布尼兹创立的二进制(一种最简单的数字进位制)基础之上的,所以有些学者将计算机网络世界称为“数字化生成”。

科学计数法的规则范文6

关键词:数据挖掘;关联规则;Web日志

中图分类号:TP311文献标识码:A文章编号:1009-3044(2011)04-0764-02

The Study of Improving Methods of Solving the Delay in the Network Based on Association Rules

HOU Xiao-ting

(Science Department, Xi'an University of Architecture and Technology, Xi'an 710055, China)

Abstract: By combining the data mining and the network management techniques to solve the problem of delay in the network , this paper applied a technique named web pre-fetching, which can speed up fetching web pages. On this bases, facing the familiar vertical structure in the design of transaction database, it studied and used an improving algorithm of association rules to find fetching web pages , and then shortened the delay in the download process.

Key words: data mining; association rules; web log

由于接入Internet的用户数量剧增以及Web服务和网络固有的延迟,网络拥塞使得用户的服务质量得不到很好的保证。网络拥塞根本原因在于用户给网络提供的负载大于网络资源容量和处理能力,表现为上传和下载过程中数据包时延增加,丢弃数增大,上层应用系统性能下降等。由于Web Log中记录着大量的用户访问历史数据,利用Web数据挖掘技术可以从中分析并获取服务特征。本文基于实例研究了如何应用关联规则挖掘算法对Web Log进行网页相关性分析,找到被用户频繁访问的网页组,从而决定当某个网页被某个用户点击浏览时可将哪些网页预先放在该用户端,省去了用户再次请求时重新下载的麻烦,降低时延,还可以优化网页的链接结构。经典的关联规则挖掘算法基于横向结构事务数据库,而大多数数据库系统都采用纵向结构事务数据库,因此,本文对经典关联规则挖掘算法进行了改进研究与实现。

1 关联规则挖掘算法[1-2]

算法描述:1)找出所有频繁项集:即所有支持度不低于用户给定的最小支持度的项目集;2)由频繁项集产生强关联规则:即从频繁项集中选择置信度不小于用户规定的最小置信度的规则。其中寻找频繁项集的Apriori算法是关联规则挖掘算法的核心,决定着挖掘关联规则的总体性能。

2 网络拥塞解决方法[3-5]

2.1 Web日志预处理

包括数据清洗、用户识别、会话识别、路径补充等步骤,实现方法在文献3和文献4中有详细介绍,在此不再阐述,目的是应用预处理方法。

2.2 实例分析

以一个虚拟的网站为例,对网站中的Web日志记录进行预处理,得到适于挖掘的格式,最后应用关联规则算法找到网页相关性。该网站的部分日志记录经过预处理各个步骤,结果为:1)A-B-F-O-F-B-G;2)A-B-G-B-A-D-K;3)A-D-K-D-A-E-L-R;4)A-E-L-R-L-E-A-B-H;5)I-Q。代表了5个用户的网页浏览路径,存储在数据表“T(用户号,访问的网页列表)”中,5条记录分别为:TID1 ,ABFOFBG;TID2,ABGBADK;TID3,ADKDAELR;TID4,AELRLEABH;TID5,IQ。

2.3 关联规则挖掘过程

预处理之后就可以用关联规则挖掘算法对数据表T进行挖掘,从而得到频繁页面组,最后实现网页的预取。

规定:最小支持度计数为2,最小置信度为80%。经过Apriori算法的联合和剪枝过程,根据给定的最小支持度计数,最终找到了频繁4项集{A,E,L,R}和频繁3项集{A,B,G}、{A,D,K},要得到强关联规则,接着计算它们的置信度。例如,对于频繁4项集{A,E,L,R},以下列出部分规则的置信度:

{A,L,R}E Confidence=100%;{E,L}RConfidence=100%;

A{E,L,R} Confidence=29%; {A,E,R}LConfidence=100%;

L{A,E,R} Confidence=67%; {A,E}RConfidence=100%

根据最小置信度80%,那么{A,L,R}E、{E,L}R、{A,E,R}L和{A,E}R是强规则,那就意味着,对于规则{A,E,R}L,访问了{A,E,R}页面的用户访问{L}页面概率是100%。以上强规则,经DB Miner2.0测试正确。

产生强关联规则之后,为了解决网络拥塞问题,需要对这些规则进行分析,对于规则{A,L,R}E,从该网络的拓扑结构中可以看到,在访问网页{A,L,R}时,{A}页面到{L}页面是要经过{E}页面的,所以这种规则是必然的,同样规则{A,E,R}L也是一种必然,对于这些规则是可以不用考虑的;对于规则{E,L}R,显然访问了网页{E,L}并同时访问{R}页面的概率很高,因此可以将{R}预先放在用户端,这样就省去了用户再次请求时再重新下载的麻烦与延迟;但是对于{A,E}R这样的强规则,它们之间在网络拓扑结构中并没有链接,那么要同时访问{A,E}和{R}就要经过{L},这显然会很麻烦,所以可以通过改变网络的拓扑结构来解决这样的问题,比如,在页面{E}处加上页面{R}的超链接,那就省去了用户请求下载{L}的时间。

3 改进的关联规则算法

在经典的数据挖掘方法中,事务数据库多采用如数据表T的横向结构。其中,每个用户为一个事务,该事务包含此用户的所有数据。但是,目前使用的管理系统大多采用纵向数据库结构,每个用户对应多条记录。考虑到Web Log数据库很庞大,若将其转换成横向结构会花费较多的时间,同时形成一个新的数据库也会占用很多的存储空间,因此决定采用原数据库的结构,只在挖掘算法上加以调整。

3.1 改进的挖掘算法

Apriori算法基于横向结构事务数据库,但由于Web数据库采用纵向结构,每个事务的数据分布在许多条记录中,故改进算法,为候选频繁项集的每一项,需逐遍扫描事务库,以得到所需数据。 由于Web数据库十分庞大,为了缩小挖掘的时间,可采取以下两项技术5:

1) 从数据库实现技术上着手,通过SQL中数据查询的集合特性、查询的可嵌套性,在循环中设计了一条SQL语句:

select count(distinct TID) from TranDB where(wy='wy1' and TID in(select distinct TID from TranDB where wy='wy2' and TID in(select distinct TID from TranDB where wy='wy3' and …)…)

语句中wy1,wy2,…代表不同网页名;TID代表用户ID。

该语句可以扫描Web数据库TranDB一次求出访问某网页序列的用户人数,即某候选项的支持度计数,有效地减少了程序的循环量和信息搜索量,提高了程序的运行效率,在SQL SERVER2000查询分析器环境下执行成功。为了提高该语句的通用和执行效率,将其改写成存储过程pro_CandidateCount预先编译调用,执行结果见图1。

2) 采用分时挖掘方法

分时挖掘方法是指将事务数据库历史挖掘数据保留下来,在挖掘时只对新数据进行处理,可提高挖掘速度。

4 结束语

数据挖掘技术是一个崭新的计算机应用领域,在对大量的已知信息进行知识发现和整理的过程中,可以提供一定程度的决策支持,极大地促进信息对人类社会进步所起的作用,在生产,销售,保险,事故分析等环节发挥巨大的经济效益。本文应用改进的数据挖掘关联规则算法解决了网络拥塞问题,关联规则还可以有效应用在其它领域。

参考文献:

[1] Han J,Kamber M. 数据挖掘概念与技术[M].北京:机械工业出版社,2001.

[2] 佟强,周园春.关联规则挖掘算法[J].微电子学与计算机,2005(6):70-74.

[3] 徐宝文,张卫丰. 数据挖掘技术在web预取中的应用研究[J].计算机学报,2001(4):430-436.