基于蚁群聚类的历史灾害分级方法(2)

来源:网络(转载) 作者:贾志娟 胡明生 刘思 发表于:2012-04-16 11:40  点击:
【关健词】历史灾害;分级;聚类;蚁群算法;灰色关联分析
受上述模型的启发,本文提出了一种基于蚁群聚类行为的历史灾害分级算法。算法思想是先根据历史专家的意见,将历史灾害划分为轻灾、中灾、重灾和特重灾4个等级,即聚为4类,然后把历史灾害数据随机放到4个组中,通过

  
  受上述模型的启发,本文提出了一种基于蚁群聚类行为的历史灾害分级算法。算法思想是先根据历史专家的意见,将历史灾害划分为“轻灾、中灾、重灾和特重灾”4个等级,即聚为4类,然后把历史灾害数据随机放到4个组中,通过令蚂蚁从一个组中选出一个数据再放入一个组,引导蚂蚁把初始混乱无章的各组整理成有序。算法中蚂蚁的各种行为仿照上述模型,是按概率进行的,如蚂蚁要选择某个组进行整理时,评价越混乱的组被蚂蚁整理的概率越大,然而蚂蚁并非一定会选择最混乱的组进行整理,这样可以很好地避免算法陷入局部最优,同时保证算法向较好的方向上收敛。与K.means聚类算法不同,蚁群聚类算法受初始聚类中心选取质量的影响不大,蚂蚁会根据各组混乱度自适应地对聚类中心进行调整,因而很适用于解决大批量问题,样本量越大,聚类中心层次性越强,蚂蚁聚类出的结果也越有意义。
  1.2 历史灾害信息提取
  通过对历史灾害记录的大量分析,并结合历史专家的意见,我们对灾害信息的各项特征进行了标准化编码,并归纳出以下4项属性来提取各条记录的灾害信息。
  1)“受灾范围”指灾害波及的地域,以县为单位,通过地理信息系统转化现代的县制大小,该项为灾害记录必有属性,具有较高的量化程度。
  2)“物情”包括对灾害的物态及影响描述,如“伤禾苗”、“水漂民居”、“决堤四十余丈”等。
  3)“民情”指对灾民生存情况的描述,如“民饥”、“溺死人畜”等。
  4)“政情”指对政府响应灾害情况的描述,如“诏免其租”、“祈祷雨泽”、“发仓赈济”等。
  后3项属性为可缺失属性,能有效涵盖住每条历史灾害记录的基本灾情信息。为了实现这3项属性的合理量化,先为各项属性分别编制出各自的特征区分码,再利用命名实体识别技术将历史灾害记录编入数据库。以“政情”属性为例,分为“无记录、祈祭、遣官、减租税粮、免租税粮和赈济”6级,分别编码为“0/1/2/3/4/5”,凡是在历史灾害记录中出现“诏免盐粮、诏免税粮、免粮、免征秋粮、免征田粮”等描述的都视为“免租税粮”,在“政情”属性部分统一记为“4”。需要注意的是,“0/1/2/3/4/5”这种递增方式可能并不符合实际灾情严重程度的上升幅度,因此还可能需要根据所得出的聚类结果和专家的评估意见对各等级所对应的编码进行适当的调整。
  至此将历史灾害分为4级,每条历史灾害数据有4项属性,属性值通过上述方法实现了初步量化,进而可以进行对历史灾害数据的聚类处理。在这里先默认这4项属性的权重是一样的,而在实际历史灾害聚类时,可以根据所得出的聚类结果和专家反馈的评估意见进行权值修正,以进一步保证聚类的质量,即着重于在灾害信息量化过程中借鉴和利用历史专家的专业意见,而在聚类过程中则尽量实现快速的自动化处理,以使专家的指导和监督作用更多地体现在大方向上。
  1.3 蚁群聚类算法描述
  
  
  算法描述如下,设灾害数据集合为S,每条灾害数据有p(此处p=4)个属性,首先将数据集S随机分配为k(此处k=4)个组,各组的灾害数据数量设为tn(n∈[1,k])。依次进行如下处理。
  1)数据预处理。
  因为大量的历史灾害记录都至少存在一项属性值缺失,0值较多,数据聚合性差,为了改善这一问题,利用灰色关联系数的定义,按照式(1)进行归一化处理。
  第n个灾害数据的第i个初始属性值设为xni,预处理后,变为yni:
  yni =1/(2-(xni-xmini)/(xmaxi-xmini))(1)
  其中xmaxi,xmini分别为灾害数据集合S中第i个属性的最大值和最小值。
  
  2)选择一个出数据组。
  蚂蚁按照式(2)评估各个灾害数据组的混乱度,用chaosn (n∈[1,k])来表示,chaos值越大表示此组越混乱,那么其被蚂蚁整理的概率也就越大。第n个组的混乱度表示为:
  chaosn=∑tni=1(xi-avgn)2tn (2)
  其中:xi=∑pj=1y2j,表示第n组中第i条数据各属性的平方和;avgn=(∑tni=1xi)/tn表示第n组各xi的平均值;chaosn表示第n组中各灾害数据属性平方和的标准差。
  然后蚂蚁根据各个组的chaos值采用赌轮选择法[13],选出一个出数据组。
  3)选出一个灾害数据。
  在选出的组中,蚂蚁按照式(3)评估其中每个灾害数据对该组的混乱度的影响,用influence来表示,influence值越大表示此灾害数据影响越大,那么蚂蚁把此数据从组中取出的概率也就越大。组中第i个数据的影响力表示为: 
  influencei=(xi-avgn)2(3)
  其中求得xi,avgn的方法与第2)步相同。
  然后蚂蚁就组中各个灾害数据的influence值采用赌轮选择法,选出一个数据。
  4)选择一个入数据组。
  蚂蚁按照式(4)评估所选出的灾害数据与各个组的拟合度,用similarity n (n∈[1,k])来表示,similarity值越大表示与该组拟合度越高,那么把该灾害数据放入对应组的概率就越大。与第n个组的拟合度表示为:
  similarityn=1(xi-avgn)2 (4)
  其中求得xi,avgn的方法与第2)步相同。
  然后蚂蚁就各个组的similarity值采用赌轮选择法,选出一个数据入组。把选出的灾害数据放入此组中。
  5)选择蚂蚁。
  为了使算法收敛,需要使用一定数量的蚂蚁(Agent),让它们分别进行2)~4)步,然后按照式(5)评估各个蚂蚁整理的质量,用fitness来表示, fitness值越大表示此蚂蚁整理的质量越高,采用fitness值最大的蚂蚁的整理方案来改变原聚类。第n只蚂蚁的整理质量表示为:
  fitnessn=1tn*chaosn(5)
  其中:tn为第n个组的大小,chaosn为此组的混乱值。这些值都是蚂蚁整理后的值。 (责任编辑:南粤论文中心)转贴于南粤论文中心: http://www.nylw.net(南粤论文中心__代写代发论文_毕业论文带写_广州职称论文代发_广州论文网)
顶一下
(0)
0%
踩一下
(0)
0%


版权声明:因本文均来自于网络,如果有版权方面侵犯,请及时联系本站删除.