作者简介:何尧(1979-),女,硕士生,主要从事WEB挖掘方面的研
究"
赵跃龙(1958-),男,博士生导师,主要从事计算机网络,数据库技术
等方向的研究"
何 尧,赵跃龙
(中南大学信息科学与工程学院,湖南长沙 410083)
摘要:从Web日志文件中挖掘出用户行为模式,是所有Web站点管理者的迫切需要,但由于web日志数据量大,存有大量
的干扰和不完整的数据,导致无法准确的抽取出用户行为的模式,"小环境无监督聚类算法适合挖掘具有噪音和不完整数据的大量
数据集,但它是基于欧几里德空间的二维模型,数据表示不直观"我们对UNC进行改进,提出了具有层次结构的UNC(简称L
-UNC)"性能测试实验证明,该模型具有较好的整体性能"
关键词:web日志挖掘;聚类;遗传算法;用户行为模式
EvolutionaryApproachtoMiningWebUserProfiles
HeYao,ZhaoYuelong
(CollegeofInformationScienceandEngineering,CentralSouthUniversity,Changsha 410083,China)
Abstract:AtechniqueforminingWebsessionprofilefromthehistoricuseraccessdatastoredinWebserverlogsispresented.Anew
levelclusteringtechniquethatexploitsthesymbiosisbetweenclustersinfeaturespaceandgeneticbiologicalnichesinnature,called
LevelUnsupervisedNicheClustering(L-UNC)ispresented.WeuseL-UNCaspartofacompletesystemofknowledgediscovery
inWebusagedata.OurexperimentsshowthatouralgorithmiscapableofextractingmeaningfuluserprofilesonrealWebsites.
Keywords:webusagemining;clustering;geneticalgorithms;userprofiles
0 引言
随着Internet网的普及,用户访问Web的规律,成了In2
ternet环境下各企业共同关注的一大热点"
Web日志挖掘作为Web挖掘的一个重要组成部分,包含
了大量的用户访问信息,对之进行分析,从中挖掘出用户的行
为模式,有其独特的理论和实践意义"
Web日志挖掘的方法主要有三种:聚类分析,关联分析,
序列分析"它们也是传统数据挖掘的主要方法"我们对用户行
为采用的是聚类分析,即在没有先验知识的情况下,把用户会
话划入到多个簇中,使簇内的相似性和簇间的相异性最大"
由于Web日志数据量大,且用户上网可能出于不同目的,
所以在抽取用户行为模式上有着多种解决方案,如果想找出一
个最优方案的话那么使用遗传算法可以达到更快更好的效
果[1]"最近,Nasraoui和Krishnapuram[2]提出了专门针对于
聚类操作的改进的遗传算法:小环境无监督聚类算法(UNC),
该算法重在挖掘类的特征与其基因的合作关系,适合挖掘具有
噪音和不完整数据的大量数据集"然而,UNC是基于欧几里
德空间的二维模型,数据表示不直观,因此我们对UNC进行
改进,提出了具有层次结构的UNC(L-UNC)"它不同于传
统的数据平面表示,使数据表示更为直观"由于我们解决方案
并没有确定类的数量和分类原型,所以它除了针对数据挖掘和
Web挖掘外,还能适合各种应用"
1 Web应用挖掘的知识发现
111 提取用户会话
大部分Web日志都有用户IP地址,访问时间,所访问网
页的URL"在预定时期内,相同IP地址发出的连续请求,则
可看成一个会话"设网站有N个有效的URL,则用户会话可
用具有N位二进制串来表示"
以下是第i个用户会话位串的表示形式:
S(i)j=1 在第i会话,如果用户访问了第i个URL0 其它情况(1)
112 计算会话相似度
计算两个会话S(k)和S(l)之间的相似度有两种方法[2-3]"
第一种方法,用于不知网站结构的情况,公式如下:
S1,kl=
E
N
i=1
S(k)iS(l)i
E
N
i=1
S(k)iE
N
i=1
S(l)i
(2)
第二种方法需先计算出URL结构的相似性"整个Web网
站就象一棵树,每个节点代表不同的URL,且具有方向性,一
条边代表一个链接"第i和第j的URL之间的相似度由以下公
式给出:
Su(i,j)=min(1,|piHpj|max(1,max(|pi|,|pj|)-1))(3)
其中pi从根目录即主页转换到第i个URL的路径,而0
pi0表示该路径的长度"URL相似度取值在0与1之间,表示
两个URL路径之间的交叠率,它应在聚类之前离线计算出来"
在得到URL相似度后,会话相似度由以下公式给出:第6期何尧,等:一种新的Web用户行为模式挖掘算法的研究#601#
S2,kl=
E
N
i=1
E
N
j=1
S(k)iS(l)jSu(i,j)
E
N
i=1
S(k)iE
N
j=1
S(l)j
(4)
最后比较S1,kl和S2,kl,取其大者为会话相似度Skl=max
(S1,kl,S2,kl)"通过会话相似度可分析出网站的层次结构,与
其相对应的相异性d2s(k,l)=(1-Skl)2,相异性越大,用
户特征越明显"
113 用户会话聚类
首先,把用户会话划入到与该会话最相近的聚类中,计算
公式如下:
Xi={S(k)IS|dik>djk,PjXi},1[i[C(5)
聚类Xi的会话特征由特征向量Pi=(pi1,,,piN)t表
示,pij表示第i个会话点击第j个URL的概率,其计算公式
为:
Pij=p(S(k)j=1|S(k)jIXi)=|Xij||Xi|
其中,Xij={S(k)IXi|Skj>0}"各个点击率都很低的会话其
会话特征是不明显的"
2 遗传算法和小环境无监督聚类算法
遗传算法是模拟达尔文的自然选择学说和自然界的生物进
化过程的一种计算模型"它采用简单的编码技术来表示各种复
杂的结构,并通过对一组编码表示进行简单的遗传操作和优胜
劣汰的自然选择来指导学习和确定搜索的方向"遗传算法的操
作对象是一群二进制串(称为染色体!个体),即种群"这里
每一个染色体都对应问题的一个解"从初始种群出发,采用基
于适应值比例的选择策略在当前种群中选择个体,使用杂交和
变异来产生下一代种群"如此模仿生命的进化一代代演化下
去,直到满足期望的终止条件为止"
小环境无监督算法是遗传算法在聚类研究中的演进,它的
两个参数,fi表示第i竞争者的中心点的健壮度,ci表示假设
在该点的聚类的密度,wij表示数据xj在第i聚类中的健壮植,
其计算公式为:
fi=
E
N
j=1
Wij
D2i(6)
其中,wij=exp-d2ij2D2,D2表示第I聚类的方差,而d2ij是xj
(某数据)到ci(聚类中心点)的偏差"N表示聚类中数据个
数"在这些聚类的质心适应值密度函数图有几个峰值(多模
式),而它们的确定是多模式优化问题"因此,我们借助小环
境方法在多个模式下确定多个优化方案"就象在自然界中,小
环境指的是大自然环境下的有着多种生命物种(范例数据)的
小生态区"对于聚类问题,我们发现Mahfoud的/determinis2
ticcrowding(DC)0[3]效果最好"DC修改了GA中的选择和复
制(replacement)策略"在两个父个体基因组合后,从子个体
中挑选出与父个体最相似且适应性最好的个体来替换父个体"
作为变化测试"
3 L-UNC极其在Web应用挖掘中的应用
我们保留了UNC的主要结构,会话的原形由染色体位串也
就是111节所定义的会话属性向量si构成,我们没有采用传统
的欧几里德距离算法而用了112节的相异计算法来计算健壮度"
采用了这种层次模型,基因优化的计算时间大大减少,换
句话说,我们可以在更小的人口范围N内做更精确的聚类"
一般Np
聚类,其计算复杂度为:(O(NP,N)),这远远小于相关的
聚类算法如:凝聚层次算法AHC[4],时间复杂度为(O
(N2logN)),最小化旋转树算法(MST)[4],其时间复杂度为
O(N2)"
通过研究我们还发现一个用户会话顶多点击10次链接
(即URL之间的差异将不明显),这样大大减少了差异算法的
复杂度,所以,不管URL有多少都不会增加其计算复杂度"
只要不低于最小可接受聚类大小,Nsplit,和小于最大方
差,D2split,层次聚类算法就从网站拓扑树的根接点直到其叶子
进行的递归聚类,其算法如下:
利用UNC的层次聚类(L-UNC算法):
(1)确定人口大小,后代个数,和最大层次数:L
(2)设置初始层L=1,聚类|C(l-1)|=1
(3)设置初始数据聚类方案:X(l-1)=X(l=1)1=X
(4)设置集合最初形式:C(l-1)=<,设置确定的原型集合P=<
(5)初始集合方差E(l-1)={D*2(l-1)1=1}
(6)调用聚类递归(X(l-1),C(l-1),E(l-1),l)函数
(7)把类X中所有数据都分入原型PiIP
(8)用113所阐述的方法重新计算D*2i和N*i
聚类递归函数(X(l-1),C(l-1),E(l-1),l):
(1)for i=1to|Cl-1|do
(2){if(l=1)or((|X(l-1)|>Nsplit)and(D*2(l-1)
(l[L)then
(3){用UNC对数据子集X(l-1)聚类
/*注释:这将抽取出集合原型C(l)i={Pl1,,,Pl|cl|},划分数据集
Xli=Xl1G,GXl|cl|和Eli={D2l1,,,D*2l|cl|}*/
(4)调用聚类递归(Xli,Cli,Eli,l=1);}
(5)else
(6){添加其原型到确定了的原型集合:PwPGP(l-1)}}
}
311 与传统层次聚类的比较
L-UNC与传统分裂的层次聚类算法有明显不同[4]"L-
UNC依靠健壮权值来进行分类,这样有效的避免了簇外围数
据及其它簇数据的影响"传统分裂层次算法则是将所有对象置
于一个簇中,然后逐渐细分为越来越小的簇,直到达到了某个
希望的簇数目,而L-UNC可在任一递归层上,无论该层有
多少数据,都能进行尽量多的精确分类,因此,能更好的挖掘
出Web特征出来"
4 Web应用挖掘实验结果
为试验L-UNC的有效性,我们从学校网站12天的访问
日志中抽取出1709个会话和365个URL"由于篇幅有限,在
此只给出数据集的轮廓结果"由于所有会话的相异性都在[0,
1]范围内,则取D2max=0196,D2split=013,Nsplit=30,并认为
势超过20个的簇是健壮的"通过聚类后,会话被归入到与其
最相似的簇中"特征向量中只有那些特征明显的URL(pij>
0115)才被保留,表1给出一些特征向量,其格式为{Pij- #602#计算机测量与控制 第13卷
表1 利用L-UNC所发现的原特征举例(L=3,Wmin=016)
iPi
1
{.81-/信息学院班级查询网页}{.90-/课程查询网面}{.98
-/编号为333的课程网页}{.92-/课程索引网页}{.18-/编号
为303的课程网页}{.20-/老师网页}{.17-/老师索引网页}{.
18-/院系简介网页}{.93-/}
2{1.00-/}{.65-/信息学院班级查询网页}
表2 利用L-UNC抽取的用户会话特征(L=1)
i|Xi||X*i|N*i所访问的URLD*2i
1571302360.2主页,课程网页,授课老师网页,查询分数网页0.31
2315160199.0333号课程,303号课程的网页0.52
3187101123.0227号课程网页0.24
41618310612345号课程网页0135
572525810312号课程网页0107
表3 部分利用L-UNC抽取的用户会话特征(L=2,L=3)
i|Xi||X*i|N*i所访问的URLD*2i
1209131142.5主页,班级列表,课程网页,授课老师网页0.14
21177478.0主页,课程网页,所修学分查询网页0.26
31438798.6主页0.12
41267383.7主页,授课老师,院系,科学研究,所修学分0.38
61358387.2333号课程(短会话)0.45
846-29.6333号课程(长会话)0.17
9542636.4303号课程0.18
10183110122.3227号课程0.21
第j个URL}"表2和表3给出了第一层和第二,三层的用户
会话特征抽取结果"其中|Xi|表示簇的势,|X*i|表示原
子势,N*i表示健壮势,D*2i表示均方差"
从表3可看出,L-UNC能有效的抽取出用户特征"
(1)L-UNC能准确的抽取出用户特征:D*2i越低,N*i
越高,用户特征就越明显:特征1和特征3可看出是随意浏览
的用户,特征2!4是想要到我校就读的学生,特征10表明访
问者是本校的学生"
(2)随着层次的加深,L-UNC能把特征分析得更具体
化:在表2中特征2在表3中细分成了特征6,8,9,在表1
中的特征1在第二层聚类时细分成特征1,2,3,4"可看出随
着层次越深,特征将越细化"
(3)可挖掘出不同URL之间的隐含关系:表2的特征2
是访问由不同教授教的两门课程,可看出这两门课必定有所关
联"后来查出这两门课,一个是操作系统,一个是C语言,而
操作系统是C语言的后继课"
参考文献:
[1]HollandJH.Adaptioninnaturalandartificialsystems[M].MIT
Press,1975.
[2]NasraouiO.KrishnapuranR,JoshiA.Miningwebaccesslogsu2
singarelationalclusteringalgorithmbasedonarobustestimator
[A],NAFIPSConf.[C],NewYork,1999:705-709.
[3]MahfoudSW.Crowdingandpreselectionrevisited,ParrallelProblem
SolvingfromNature[A].PPSN'92[C],Brussel,1992.
[4]DudaR,HartP.Patternclassificationandsceneanalysis[M],
Wiley,NewYork,1973.
[5]NasraouiO,KrishnapuranR,FriguiH,etal.Extractingwebus2
erprofilesusingrelationalcompetitivefuzzyclustering[J].Int.J.
Artif.Intell.Tools,2000,9(5):509-526.
(上接第586页)
图9展示了升温控制效果,为了便于看清楚,进行了放
大"图中直线所示为用户设定的理想升温曲线,可见对于程序
升温,该控制器的效果也很好"
图10 过冲控制
过冲控制一直是温度控制的难点,由实验结果(图10)
可以看出,我们设计的新型PID决策模糊控制器由匀速升温到
恒温的控制比较理想,过冲量在1e内"
4 结束语
本文通过对比PID控制器和模糊控制器的相似性,设计并
实现了一种新型的PID决策模糊控制器"该控制器吸取了PID
控制的优点,使得当系统偏差较小时,可以接近PID控制的效
果,而偏差较大时,又可以通过模糊控制的特点迅速纠正"
另外,把PID的参数KP提取出来作为决策因子,很好的
解决了温度变化范围大的难题"由实验结果来看,该控制器达
到甚至超过了预期目标"该模糊控制器已经应用于热重仪,并
取得了优秀的效果,其指标超过国家标准"
参考文献:
[1]HangCC,AstromK,HoWKJ.RefinementsoftheZiegler-
Nicholsrunningformula[J].DecisionSupportSystem,1992,25:
225-237.
[2]王承君.自定义串口数据通信协议的分析与设计[J].计算机工
程,2004,30(24):192-194.
[3]任尊茂.基于单层进化的产品客户化设计[J].计算机集成制造
系统,2004,10(11):1321-1322.
[4]姚锡凡,张毅.不确定信息的度量及其在制造中的应用示例[J].
计算机集成制造系统,2004,10(11):1466-1468.
[5]肖位框.模糊数据基础及应用[M].北京:航空工业出版社,
1992.
[6]吴万铎.吴万钊.模糊数学与计算机应用[M].北京:电子出版
社,1988.
[7]陶永华.新型PID控制及其应用[M].北京:机械工业出版社,
2002.