基于遗传算法的Web使用挖掘研究

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:awenqqw123
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:针对Web使用挖掘中的信息,提出一种基于遗传算法的关联规则挖掘模型,同时结合实例对有关信息特征进行量化,然后利用实数数组的方法进行编码以及构造适应度函数,挖掘出隐含在用户注册登记信息库中的有关用户规则。为个性化服务系统提供准确和可行的关联规则,并对用户的行为进行了预测和分析。
  关键词:遗传算法;Web使用挖掘;关联规则
  中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)18-31628-03
  Research on Web Usage Mining Based on Genetic Algorithm
  GAO Huai-jin,LI Guo-hui
  (School of Mathematics and Information Science,Weifang University,Shandong 261061,China)
  Abstract:This paper gives a mining model of association rules based on genetic algorithm in order to mining the information of web usage log, and also quantify relevant information character by an example, code using an array of real numbers, structure a fitness function. Finallycan mining user rules that hide in the user registration information. It provide accurate and viable association rules for personalized service systems, forecast and analyse the user's behavior.
  Key words: GA(genetic algorithm);web usage mining;association rules
  
  1 引言
  
  Web挖掘的目的就是要从大量的Web网站上的信息中提取对用户有用的信息与知识。为了达到这一目的,可以把Web挖掘看成是搜索问题,将整个Web信息数据库看作一个大搜索空间,而把挖掘算法看成一种搜索策略。显然,当Web信息数据库容量极其巨大时,进行穷举搜索是不可行的,必须采取一种有效的搜索策略。应用遗传算法在Web数据库中进行搜索,对随机产生的一组规则进行进化,直到该Web信息数据库能够被该组规则覆盖,从而挖掘出隐含在Web数据库中的规则,找到用户所需要的信息与知识,为用户提供个性化服务。
  
  2 Web使用挖掘
  
  Web挖掘是数据挖掘在Web上的应用,可以分为Web内容挖掘、Web结构挖掘和Web使用挖掘[1][2]。其中Web使用挖掘的主要目的在于分析用户的行为模式(或称访问习惯),发现用户访问Web页面的模式规律,为智能Web服务提供知识依据,因此需要分析描述Web用户访问行为特征的关联规则。关联规则是描述Web用户行为特征的重要依据,是用户行为特征的知识表示,Web关联规则是通过分析用户访问的Web页面(URL)之间的关联关系得来的,具体应用在Web使用挖掘中有其特殊的表现形式,事实上,Web关联规则(Web Association Rules,下简称WAR)是一种知识的表现形式。与一阶逻辑的产生式大体相同,而WAR是考察用户的客观访问规律所获取的知识,用户对Web站点的访问过程是与URL访问序列、访问时间有关系,如果在挖掘WAR时忽略这种关系,那么挖掘出的关联规则就仅仅是URL之间的一种关联关系,而割裂用户的实际访问规律,因此,将通常意义上的关联规则挖掘与序列模式挖掘相结合,考察关联规则的条件与结论及其内部项的时序关系,挖掘有效的WAR,将为基于Web使用挖掘的个性化服务系统提供准确、可行的关联规则。
  
  3 基于遗传算法的Web使用挖掘模型
  
  Web使用挖掘中的信息除了服务器的日志记录外,还包括代理服务器日志、浏览器端日志、注册信息、用户会话信息、交易信息、Cookie中的信息、用户查询、鼠标点击流等一切用户与站点之间可能的交互记录。可见Web使用挖掘的数据量是非常巨大的,而且数据类型也相当丰富。通过处理服务器日志文件等这些数据,结合站点的拓扑结构信息,可以发现用户的浏览模式,如用户聚类、关联规则、序列模式等,理解用户的行为,进而实现预测用户的行为,为用户提供个性化服务。从而提出了一种基于遗传算法的关联规则挖掘模型,如图1所示:
  图1 基于遗传算法的关联规则挖掘模型
  该模型的工作过程如下:
  根据用户的问题信息将其通过预处理器被编码成有限长的消息并为每个属性(字段)创建映射表,然后依据属性(字段)由SQL查询器在Web信息数据库中查询生成临时消息表,再依据属性映射表将临时消息表离散化处理之后生成消息表:由遗传算法求出满足条件的种群,最后将种群中适应度较高的个体作为解输出到优化器,然后由优化器对规则进行提取生成关联规则返回给用户。
  
  4 实例分析
  
  根据某网站的用户注册登记信息,由此建立了一个用户信息数据库。用户基本信息表的属性(字段)如表1所示。通过收集这些信息并运用遗传算法方法对其进行分析和关联规则的挖掘,从而实现了遗传算法在Web使用挖掘上的应用。具体求解步骤如下:
  表1 用户基本信息表
  4.1量化
  为了能够对用户信息进行编码,必须先根据用户信息特征进行量化[3]。
  定义1 量化(Measurement):就是对数据库中的属性值按照一定的方法分类,并赋给一个正整数表示的方法。
  定义2 成熟度(Mature):是量化值的线性函数。量化值越小,成熟度越小,反之,则越大。主要来衡量某个个体对网络的依赖程度。
  根据量化定义,先对用户基本信息表中的各个字段进行量化再进行编码。
  (1)Province的量化
  用户所处的地域是Web中关心的一个重要的参数。其部分省份量化表如表2所示。量化原则是先根据地域分组,同一组的具有相同的量化值。北京、上海等直辖市化为一组,具有最高的量化值5;东部省份城市化为一组,其量化值为4;中部省份城市为一组,其量化值为3;西部省份城市为一组,其量化值为2;偏远省份城市的量化值为1,各组的量化值依次降低。根据成熟度的定义可知中西部省份相对于东部省份以及直辖市而言,其对网络的依赖程度还不是很高。其余字段都遵循同样的量化原则。后面挖掘出的关联规则,其解释可能不止一种。例如:表2中,北京、天津、上海等具有相同的量化值5,在挖掘出的关联规则中只能解释为直辖市而无法指出具体的地方。
  表2Province的量化
  (2)Action的编码
  用户在填写上网活动时,允许同时选择多个,同时查询中要采用关系数据库,因此首先就要满足1NF(第一范式)[4],不能有子表,对用户的选择必须进行处理,否则是无法存储到数据库中的。Action的编码值与成熟度无关,Action的编码值与别的量化值有完全不同的意义,因此,在适应度函数构造中是不包含此项的。所采用的方法是:表3中,举出8项用户上网最有可能进行的活动,然后编号,每项活动,用户选择就赋值为1;否则为0。这样就会得到一个8位的二进制的序列,然后转换成十进制存储。最后提出规则以后,再对其解码即可知道所代表的意义。例如:编码为00110001,十进制数是49。说明该用户平时上网的主要活动是在线游戏、体育和聊天。若用户上网活动的选择项不止8项,则相应调整二进制位数。
  表3 Action的编码表
  4.2编码
  在遗传算法中如何描述问题的可行解,即把一个问题的可行解从其解空间转换到遗传算法所能处理的搜索空间的转换方法就称为编码。由于遗传算法应用的广泛性,迄今为止人们已经提出了许多种不同的编码方法,总的来说,可以分为三大类:二进制编码方法、符号编码方法、浮点数编码方法[6]。二进制编码方法是遗传算法中最主要的一种编码方法,它的优点是:容易产生和操作、理论上容易处理、几乎任何问题都可以用二进制编码,但是二进制编码也存在一些缺点:首先是表示精度与算法效率之间的矛盾;其次,某些问题中要将属性值先转化为实数值然后再将实数值转化为二进制编码,这样在遗传算法的操作过程中,需要不断地对码串进行译码,增加了算法的计算量,降低了算法的效率。所以本实例中不采用二进制编码,而是直接采用实数数组的方法进行编码。
  实数数组中元素的个数与事务数据库中的字段个数相对应,元素值代表了元素的属性值,如表4所示的事务数据库。
  表4 事务数据库的字段
  用一个长度为N的数组来表示表2所表示的事务数据库的个体编码,A[1]表示字段1,A[2]表示字段2,…,A[R]表示字段R。例如:用数值i(i∈N)表示属性值i,就可以用数组A[R]的元素值来表示相对应的字段的属性值。另外用值0表示此属性与其它的属性无关联。由此,表4所示的数据库的编码结构如图2所示。
  图2 编码数组结构
  采用实数数组的编码方法,这种编码方法具有精度高、便于空间搜索的优点,实现起来也比较简便。在利用实数数组的方法进行编码过程中,实数数组的元素个数与事务数据库中的字段的个数相对应,实数数组的元素值则代表了字段的属性值。其实进行了这样的编码后交叉、变异等的操作就变成了对数组的操作。
  根据以上对各个字段的量化,结合上面所述的实数数组的编码方法,可得到用户基本信息表的量化和编码结果。经过量化和编码后的用户基本信息表如表5所示:
  表5 量化和编码后用户基本信息表
  4.3 适应度函数的构造
  适应度函数是遗传算法与应用问题的唯一接口,是种群中个体优劣的一种量化反映,它的构造直接影响问题求解的效率。为了构造适应度函数,再引入关联规则及支持度、可信度等的概念[5]:
  定义3关联规则也称之为关联模式,是形如x?圯y的规则,其中x,y是关于数据库中属性取值的断言:由于某些事务的发生引起另外一些事件的发生。
  定义4设T是事务数据,即T={t1,t2,...tn},其中ti(1?燮i?燮m) 是每个事务的数据,这些数据称为数据项。I是T中所有数据项(物品)的集合即I={i1,i2,...in} ,ij是T中的一个数据项。每个事务中含有I的一个子集。关联规则是一种蕴含关系:x?圯y,其中,x∈I,y∈I且x∩y=?覬 。
  定义5支持度(support)表示x?圯y在T事务数据库中出现的普遍程度,称规则x?圯y在事务数据库T中具有大小为s%的支持度。
  定义6可信度(confidence)说明x?圯y成立的必然性,称规则x?圯y在事务数据库T中具有大小为c%的可信度。
  支持度是对关联规则重要性的衡量。支持度说明了这条规则在所有的事物中有多大的代表性,显然,支持度越大,关联规则越重要。有些关联规则的可信度虽然很高,但是支持度却很低,说明该规则使用的机会很少,因此也并不重要。鉴于关联规则的如此特性,考虑用关联规则的支持度来定义它的适应度函数。可以这样来筛选规则,先用支持度来筛选规则,然后在满足最小支持度的规则中确定它的关联程度和关联性。因此规则的适应度可以简便的作如下定义:
  fitness(Ri)=S'/S=P 当S'>Sq 当S'  式中S'为经过遗传操作所形成的一条新规则的支持度,s为用户给定的支持度的阈值。当R'为符合要求的规则时,它的适应度函数值应大于1,否则适应度函数值将小于1,这条规则在下一代遗传中就会被淘汰。
  在遗传算法进行搜索时只以适应度函数为依据,利用种群中每个个体的适应度值来进行搜索。一般而言,适应度函数是直接由目标函数变换而成的,有时也要根据问题的要求,对目标函数进行一定的适应度尺度变换(Fittness Scaling)。
  在实例中,采用的方法是把实数数组元素值线性相加。根据前面知道,A[i]值越大,说明拥有该属性的个体对网络的依赖程度越大;反之,则越小。所以,适应度函数为:
  根据适应度大小将整个群体分成n个子种群,fi(x)表示第i组的适应度函数,每一组的规则数目是M/n(M为初始群体的个数)。fi(1)适应度最小,fi(2) 次之,然后依次增加。
  4.5实例运行参数和结论
  实例运行中对遗传算法需要设定的初始参数主要有:
  (1)个体编码的长度L=8。编码的长度与所用的编码的方法有关。当用二进制编码来表示个体时,编码串长度与L的选取和问题所要求的求解的精度有关;使用浮点数编码来表示个体时,编码串长度L与决策变量的个数N相等。在本文中,编码的长度等于数据库中我们希望相关的字段的个数。
  (2)初始群体的大小M=200。群体的大小M表示群体中所含个体的数量。当M取值较小时,可提高遗传算法的运算速度,但却降低了群体的多样性,有可能引起遗传算法的早熟现象;而当M的取值较大时,又会使得遗传算法的运行效率降低。所以要综合这两个方面的因素来考虑。
  (3)变异概率Pm=1%。变异决定了物种的多样性。但若变异概率取值过大的话,虽然能够产生出较多的新个体,但又可能破坏掉很多较好的模式,使得遗传算法的性能近似于随机搜索算法的性能,因此,在本文中,选择的变异概率为1%。
  (4)终止代数T=10。终止代数是表示遗传算法运行结束条件的一个参数,它表示遗传算法运行到指定的进化代数之后就停止运行,并将当前群体中的最佳个体作为最优解输出。在本文中,我们要求的是满足用户给定阈值的规则,因此最后输出的解不是一个最优解,而是一个符合要求的规则的集合。在本例中的终止代数是:经过两代运算后,没有小于用户给定阈值的规则。
  (5)初始群体分的子群数n=3。
  根据以上算法,可在表5中发现部分关联规则如下,从而得出用户想要的结论。
  ①<21541412.35>:<21541412>T<35>(10%support,90%confidence)
  说明:<处于中国直辖市的女中学生>T<上网经常聊天、玩在线游戏、收发邮件>(这只是一种合理的解释),由此可以看出在一些家庭条件较好的女中学生经常长时间上网聊天、玩在线游戏、收发邮件。
  ②<15345236.30>:<15345236>T<30>(32%support,78%confidence)
  说明:<处于中国中部地区的教育人士>T<上网喜欢浏览体育、新闻、教育和收发邮件(这只是一种合理的解释),由此可以看出在中国中部地区的高学历的教育人士生活富足,生活态度积极,与外界主要通过网络交流。
  
  5 小结
  
  与Web使用挖掘中的其它算法比较,遗传算法具有很好的全局搜索能力,将其用于Web使用挖掘时它能较好的处理数据库中不同属性之间的相互关系。在Web使用挖掘中引入遗传算法,其优势在于不仅有传统方法挖掘的准确性,又有进化计算所具有的智能预见性、适应性,不仅能从现有的数据中准确得出所蕴涵的关联规则,更以预知的方式挖掘出未来将产生的关联规则,并且,应用这些关联规则可以为基于数据挖掘的智能Web系统提供更进一步的知识支持。
  
  参考文献:
  [1]张云涛,龚玲.数据挖掘原理与技术[M].北京:电子工业出版社,2004.
  [2]宋爱波,董逸生,吴文明.等.Web挖掘研究综述[J].计算机科学,2001,28(11):13-16.
  [3]贾兆红,倪志伟,赵鹏.改进型遗传算法及其在数据挖掘中的应用[J].计算机应用,2002,22(9):31-33.
  [4]萨师煊,王珊.数据库系统概论(第3版)[M].北京:高等教育出版社,2002.
  [5]王小平,曹立明.遗传算法——理论、应用与软件实现[M].西安:西安交通大学出版社,2002.
  [6]王文杰.人工智能原理与应用[M].北京:人民邮电出版社,2004.
  注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
其他文献
摘要:本文详细介绍了正向推理的基本原理及算法,在SQL Server数据库中创建知识库和全局数据库,及在Windows环境下用SQL Server数据库和C++实现专家系统外壳。只要在SQL Server数据库中建立不同的知识库便可以生成不同的专家系统。  关键词:正向推理;知识库;数据库;专家系统外壳  中图分类号:TP182文献标识码:A文章编号:1009-3044(2007)18-31500
期刊
摘要:移动通信已成为当代通信领域内发展潜力最大、市场前景最广的热点技术。它的发展已经历了几代,本文首先介绍了移动通信发展历程,然后在分析4G移动通信系统的特点基础上,对4G采用的关键技术:MIMO + OFDM技术、智能天线技术、软件无线电和IPv6进行了研究和分析。  关键词:移动通信;1G;2G;3G;4G  中国分类号:TN911文献标识码:A 文章编号:1009-3044(2007)18-
期刊
摘要:本文简述了在JSP页面中对SQL Server数据库进行备份和恢复的方法,并通过证明该方法能够很好的实现数据备份和恢复。  关键词:JSP;SQL Server数据库;数据备份;数据恢复  中图分类号:TP311 文献标识码:A文章编号:1009-3044(2007)18-31514-01  Carry out to backup and restore the SQL Server Dat
期刊
摘要:随着互联网的迅速普及和应用的不断发展,各种黑客工具和网络攻击手段也随之倍出,网络攻击导致网络和用户受到侵害,其中分布式拒绝服务 DDoS 以其攻击范围广、隐蔽性强、简单有效等特点成为常见的网络攻击技术之一,极大地影响网络和业务主机系统的有效服务。其中的TCP DDoS它利用了传统协议中三次握手协议的不安全性,向互联网服务器发送大量的报文。由于服务器接收大量无效的报文,而使得正常的报文无法得到
期刊
摘要:为满足与东盟各国的交流,开发一套针对东盟10国的手持PDA翻译系统,能完成中国与东盟10国的互译(还可完成中英互译及普通话与粵语的互译),能满足与东盟交流中的互译需求。  关键词:中国—东盟互译;PDA  中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)18-31624-02  10 Country PDAs in China-ASEAN Translate th
期刊
摘要:本文将探索基于嵌入式系统发展的需要,提出TMS320VC5402 DSP与AT89C51单片机通信的三种设计方案。利用TMS320VC5402的多通道缓冲串口MCBSP分别实现TMS320VC5402与AT89C51的SCI和SPI串行通信,以及通过TMS320VC5402的8位增强主机接口HPI一8实现TMS320VC5402与AT89C5l并行通信。就硬件接口电路和软件编程进行详细的阐述
期刊
摘要:阐述了在matlab 环境下,调用 Fortran 语言的原理,并通过一实例说明如何实现Matlab,Fortran 两种语言的混合编程。  关键词:Fortran;Matlab;接口技术;混合编程  中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)18-31643-01  ProgramInterface Technique for Matlab and For
期刊
摘要:简要介绍了瑞典ANOTO公司推出的专用ARM图像处理器ARGUS Ⅲ的特点,为使其在更多领域发挥其视频应用上的优势,在其开发板上构建了嵌入式Linux平台,详细论述了Linux系统在专用ARM处理器上的移植过程中,各个部分的设计及实现方法,其中包括引导加载、内核、接口驱动、文件系统、用户应用程序等。  关键词:ARGUS Ⅲ;embedded-Linux;引导加载;YAFFS  中图分类号:
期刊
摘要:20世纪70年代开始,GPS技术不断的成熟和迅猛发展,现在已渗透入除专业领域外的民用领域,从最初的航天及军事应用,逐步走近人们的生活。在专业测绘领域, GPS以全天候、高精度、自动化、高效益等显著特点,赢得广大测绘工作者的信赖。在民用领域,随着国民经济的发展,私人汽车保有量的不断增长,车载GPS导航已进入普及阶段。GPS全球卫星定位导航系统从日常的出行到老人儿童甚至宠物的协寻,应用范围不断扩
期刊
摘要:移动Ad hoc网络是近年来网络研究的热点,WSN(Wireless Sensor Networks,无线传感器网络)是传感器研究领域一个新的研究方向。由于它们之间诸多的相似性使得每当提到WSN的时候往往与Ad hoc网络做比较。本文试图通过对Ad hoc网络和WSN网络特点和路由协议的介绍和分析,使这两个领域区别并联系起来。  关键词:网络;协议;传感器;路由  中图分类号:TP393文献
期刊